Repository: prittt/YACCLAB Branch: master Commit: 54e43543a02f Files: 222 Total size: 11.4 MB Directory structure: gitextract_j1r0m0pd/ ├── .all-contributorsrc ├── .github/ │ └── workflows/ │ ├── linux64.yml │ └── macos.yml ├── .gitignore ├── AUTHORS ├── CMakeLists.txt ├── Jenkinsfile ├── LICENSE ├── README.md ├── config.yaml ├── cuda/ │ ├── CMakeLists.txt │ ├── include/ │ │ ├── CMakeLists.txt │ │ ├── cuda_mat3.hpp │ │ ├── cuda_mat3.inl.hpp │ │ └── cuda_types3.hpp │ └── src/ │ ├── CMakeLists.txt │ ├── gpu_mat3.cu │ ├── labeling_BE_3D_light.cu │ ├── labeling_BE_3D_light_shared.cu │ ├── labeling_BE_big_tex.cu │ ├── labeling_BE_light.cu │ ├── labeling_BKE_NoInlineCompression.cu │ ├── labeling_BUF_2S.cu │ ├── labeling_BUF_3D_NoInlineCompression.cu │ ├── labeling_BUF_NoInlineCompression.cu │ ├── labeling_KE4.cu │ ├── labeling_KE_2S.cu │ ├── labeling_OLE_tex.cu │ ├── labeling_RADAR.cu │ ├── labeling_TUF.cu │ ├── labeling_UF_InlineCompression.cu │ ├── labeling_UF_naive.cu │ ├── labeling_allegretti_2018.cu │ ├── labeling_allegretti_2019_BBDT.cu │ ├── labeling_allegretti_2019_BKE.cu │ ├── labeling_allegretti_2019_BKE_3D.cu │ ├── labeling_allegretti_2019_BUF.cu │ ├── labeling_allegretti_2019_BUF_3D.cu │ ├── labeling_allegretti_2019_DRAG.cu │ ├── labeling_allegretti_2019_SAUF.cu │ ├── labeling_allegretti_2019_UF_3D.cu │ ├── labeling_cabaret_2017.cu │ ├── labeling_chen_2011.cu │ ├── labeling_chen_2011_1024.cu │ ├── labeling_chen_2011_2048.cu │ ├── labeling_chen_2011_512.cu │ ├── labeling_hennequin_2018_HA4.cu │ ├── labeling_hennequin_2018_HA8.cu │ ├── labeling_kalentev_2011.cu │ ├── labeling_oliveira_2010.cu │ ├── labeling_paravecino_2014.cu │ ├── labeling_rasmusson_2013.cu │ ├── labeling_soh_2014_8DLS.cu │ ├── labeling_soh_2014_M8DLS.cu │ ├── labeling_stava_2011.cu │ ├── labeling_yonehara_2015.cu │ ├── labeling_zavalishin_2016.cu │ ├── labeling_zavalishin_2016_3D.cu │ └── next_to_trash/ │ ├── labeling_CUDA_BKE_InlineCompression.cu │ ├── labeling_CUDA_BUF_2S.cu │ ├── labeling_CUDA_KE_2S.cu │ └── labeling_CUDA_UF_InlineCompression.cu ├── doc/ │ ├── EPDT/ │ │ └── README.md │ ├── README.txt │ ├── config_2d.yaml │ ├── config_3d.yaml │ ├── config_base.yaml │ ├── config_ci_cpu.yaml │ ├── config_ci_cpu2d.yaml │ ├── config_cuda_2d.yaml │ ├── config_cuda_3d.yaml │ ├── config_epdt_19c.yaml │ ├── config_epdt_22c.yaml │ ├── config_epdt_26c.yaml │ └── config_jenkins.yaml ├── include/ │ ├── CMakeLists.txt │ ├── bit_scan_forward.h │ ├── check_labeling.h │ ├── config_data.h │ ├── file_manager.h │ ├── labeling3D_EPDT_19c.h │ ├── labeling3D_EPDT_19c_211b.h │ ├── labeling3D_EPDT_19c_action_def.inc.h │ ├── labeling3D_EPDT_19c_action_def_mem.inc.h │ ├── labeling3D_EPDT_19c_action_def_memory.inc.h │ ├── labeling3D_EPDT_19c_tree.inc.h │ ├── labeling3D_EPDT_22c.h │ ├── labeling3D_EPDT_22c_211b.h │ ├── labeling3D_EPDT_22c_action_def.inc.h │ ├── labeling3D_EPDT_22c_action_def_mem.inc.h │ ├── labeling3D_EPDT_22c_action_def_memory.inc.h │ ├── labeling3D_EPDT_22c_tree.inc.h │ ├── labeling3D_EPDT_26c.h │ ├── labeling3D_EPDT_26c_action_def.inc.h │ ├── labeling3D_EPDT_26c_action_def_mem.inc.h │ ├── labeling3D_EPDT_26c_action_def_memory.inc.h │ ├── labeling3D_EPDT_26c_tree.inc.h │ ├── labeling3D_EPDT_2829_action_undef.inc.h │ ├── labeling3D_PRED_2021.h │ ├── labeling3D_PRED_2021_cl_forest.inc.h │ ├── labeling3D_PRED_2021_fl_forest.inc.h │ ├── labeling3D_PRED_2021_ll_forest.inc.h │ ├── labeling3D_PRED_2021_sl_forest.inc.h │ ├── labeling3D_PREDpp_2021.h │ ├── labeling3D_PREDpp_2021_cl_forest.inc.h │ ├── labeling3D_PREDpp_2021_fl_forest.inc.h │ ├── labeling3D_PREDpp_2021_ll_forest.inc.h │ ├── labeling3D_PREDpp_2021_sl_forest.inc.h │ ├── labeling3D_SAUF_2021.h │ ├── labeling3D_SAUF_2021_tree.inc.h │ ├── labeling3D_SAUFpp_2021.h │ ├── labeling3D_SAUFpp_2021_tree.inc.h │ ├── labeling3D_he_2011.h │ ├── labeling3D_he_2011_run.h │ ├── labeling3D_he_2011_tree.inc.h │ ├── labeling3D_naive.h │ ├── labeling_HT_CCL_Diaz2019_v1_2_0.h │ ├── labeling_PREDpp_2021.h │ ├── labeling_PREDpp_2021_cl_forest.inc.h │ ├── labeling_PREDpp_2021_fl_forest.inc.h │ ├── labeling_algorithms.h │ ├── labeling_bolelli_2018.h │ ├── labeling_bolelli_2018_drag.inc.h │ ├── labeling_bolelli_2019.h │ ├── labeling_bolelli_2019_forest.inc.h │ ├── labeling_bolelli_2019_forest_fl.inc.h │ ├── labeling_bolelli_2019_forest_ll.inc.h │ ├── labeling_bolelli_2019_forest_sl.inc.h │ ├── labeling_distefano_1999.h │ ├── labeling_fchang_2003.h │ ├── labeling_grana_2010.h │ ├── labeling_grana_2010_tree.inc.h │ ├── labeling_grana_2016.h │ ├── labeling_grana_2016_forest.inc.h │ ├── labeling_grana_2016_forest_0.inc.h │ ├── labeling_he_2008.h │ ├── labeling_he_2014.h │ ├── labeling_he_2014_graph.inc.h │ ├── labeling_lacassagne_2016.h │ ├── labeling_lacassagne_2016_code.inc.h │ ├── labeling_lee_2021_bmrs.h │ ├── labeling_lee_2021_bmrs_no_zeroinit.h │ ├── labeling_lee_2021_brts.h │ ├── labeling_lee_2021_brts_no_zeroinit.h │ ├── labeling_null.h │ ├── labeling_sauf_4c.h │ ├── labeling_sauf_4c_tree.inc.h │ ├── labeling_sauf_background.h │ ├── labeling_sauf_bg_tree.inc.h │ ├── labeling_tagliatelle_2021.h │ ├── labeling_tagliatelle_2021_cl_forest.inc.h │ ├── labeling_tagliatelle_2021_fl_forest.inc.h │ ├── labeling_tagliatelle_2021_ll_forest.inc.h │ ├── labeling_tagliatelle_2021_sl_forest.inc.h │ ├── labeling_wu_2009.h │ ├── labeling_wu_2009_tree.inc.h │ ├── labeling_wychang_2015.h │ ├── labeling_wychang_2015_tree.inc.h │ ├── labeling_wychang_2015_tree_0.inc.h │ ├── labeling_zhao_2010.h │ ├── labels_solver.h │ ├── memory_tester.h │ ├── performance_evaluator.h │ ├── progress_bar.h │ ├── register.h │ ├── stream_demultiplexer.h │ ├── system_info.h │ ├── utilities.h │ ├── volume_util.h │ ├── yacclab_tensor.h │ └── yacclab_tests.h ├── old/ │ ├── .travis.yml │ ├── configurationReader.h │ └── equivalenceSolverSuzuki.h ├── spike/ │ └── performanceEvaluator.h.chrono ├── src/ │ ├── CMakeLists.txt │ ├── check_labeling.cc │ ├── config_data.cc │ ├── file_manager.cc │ ├── labeling3D_EPDT_19c.cc │ ├── labeling3D_EPDT_22c.cc │ ├── labeling3D_EPDT_26c.cc │ ├── labeling3D_PRED_2021.cc │ ├── labeling3D_PREDpp_2021.cc │ ├── labeling3D_SAUF_2021.cc │ ├── labeling3D_SAUFpp_2021.cc │ ├── labeling3D_he_2011.cc │ ├── labeling3D_he_2011_run.cc │ ├── labeling3D_naive.cc │ ├── labeling_HT_CCL_Diaz2019_v1_2_0.cc │ ├── labeling_PREDpp_2021.cc │ ├── labeling_algorithms.cc │ ├── labeling_bolelli_2018.cc │ ├── labeling_bolelli_2019.cc │ ├── labeling_distefano_1999.cc │ ├── labeling_fchang_2003.cc │ ├── labeling_grana_2010.cc │ ├── labeling_grana_2016.cc │ ├── labeling_he_2008.cc │ ├── labeling_he_2014.cc │ ├── labeling_lacassagne_2016.cc │ ├── labeling_lee_2021_bmrs.cc │ ├── labeling_lee_2021_brts.cc │ ├── labeling_null.cc │ ├── labeling_sauf_4c.cc │ ├── labeling_sauf_background.cc │ ├── labeling_tagliatelle_2021.cc │ ├── labeling_wu_2009.cc │ ├── labeling_wychang_2015.cc │ ├── labeling_zhao_2010.cc │ ├── labels_solver.cc │ ├── main.cc │ ├── system_info.cc │ ├── utilities.cc │ ├── volume_util.cc │ ├── yacclab_tensor.cc │ └── yacclab_tests.cc └── tools/ ├── actions-scripts/ │ └── macos-before-install.sh ├── embed_pdf/ │ └── embed.php ├── jenkins-scripts/ │ └── run-script.sh └── travis-scripts/ ├── before-install.sh └── run-script.sh ================================================ FILE CONTENTS ================================================ ================================================ FILE: .all-contributorsrc ================================================ { "projectName": "YACCLAB", "projectOwner": "prittt", "files": [ "README.md" ], "commit": false, "repoType": "github", "repoHost": "https://github.com", "imageSize": 100, "contributorsPerLine": 6, "contributorsSortAlphabetically": false, "badgeTemplate": "[![contributors](https://img.shields.io/badge/all_contributors-<%= contributors.length %>-orange.svg?style=flat)](#contributors)", "skipCi": true, "contributors": [ { "login": "prittt", "name": "Federico Bolelli", "avatar_url": "https://avatars3.githubusercontent.com/u/6863130?v=4", "profile": "http://www.federicobolelli.it", "contributions": [ "code", "projectManagement", "maintenance", "infra", "ideas" ] }, { "login": "stal12", "name": "Stefano Allegretti", "avatar_url": "https://avatars2.githubusercontent.com/u/34423515?v=1", "profile": "https://github.com/stal12", "contributions": [ "code", "maintenance", "bug", "ideas", "infra" ] }, { "login": "CostantinoGrana", "name": "Costantino Grana", "avatar_url": "https://avatars2.githubusercontent.com/u/18437151?v=1", "profile": "https://github.com/CostantinoGrana", "contributions": [ "code", "projectManagement", "ideas", "infra" ] }, { "login": "MicheleCancilla", "name": "Michele Cancilla", "avatar_url": "https://avatars1.githubusercontent.com/u/22983812?v=4", "profile": "https://michelecancilla.github.io", "contributions": [ "code", "platform", "maintenance" ] }, { "login": "baraldilorenzo", "name": "Lorenzo Baraldi", "avatar_url": "https://avatars3.githubusercontent.com/u/8173533?v=4", "profile": "http://www.lorenzobaraldi.com", "contributions": [ "code", "platform" ] }, { "login": "msoechting", "name": "Maximilian Söchting", "avatar_url": "https://avatars1.githubusercontent.com/u/6423697?v=4", "profile": "http://msoechting.de", "contributions": [ "code" ] }, { "login": "patrickhwood", "name": "patrickhwood", "avatar_url": "https://avatars.githubusercontent.com/u/2100827?v=4", "profile": "https://github.com/patrickhwood", "contributions": [ "bug" ] }, { "login": "fengweichangzi", "name": "WalnutVision", "avatar_url": "https://avatars.githubusercontent.com/u/87119815?v=4", "profile": "https://github.com/fengweichangzi", "contributions": [ "bug" ] } ] } ================================================ FILE: .github/workflows/linux64.yml ================================================ name: linux64 on: [push] jobs: build: runs-on: ubuntu-18.04 container: image: docker://aimagelab/yacclab-test:linux64 steps: - uses: actions/checkout@v2 - name: configure run: mkdir build && cd build && cmake -DCMAKE_CXX_FLAGS="-m64" -DCMAKE_C_FLAGS="-m64" -DYACCLAB_CI_CPU=ON -DYACCLAB_INPUT_DATASET_PATH=/builds/input -DYACCLAB_ENABLE_3D=ON .. - name: build run: cmake --build build --config Release - name: run run: cd build && ./YACCLAB ================================================ FILE: .github/workflows/macos.yml ================================================ name: macos on: [push] jobs: build: runs-on: macos-10.15 steps: - uses: actions/checkout@v2 - name: cache cmake uses: actions/cache@v2 with: path: /Users/runner/work/YACCLAB/YACCLAB/cmake-install key: cmake-3.18.0 - name: cache opencv uses: actions/cache@v2 with: path: /Users/runner/work/YACCLAB/YACCLAB/opencv-3.1.0/build/install_dir key: opencv-3.1.0 - name: cache dataset uses: actions/cache@v2 with: path: /Users/runner/work/YACCLAB/YACCLAB/input key: yacclab-dataset - name: dependencies run: chmod +x tools/actions-scripts/macos-before-install.sh && tools/actions-scripts/macos-before-install.sh - name: configure run: DATASET_PATH=$(pwd)/input && OPENCV_DIR=$(pwd)/opencv-3.1.0/build/install_dir/share/OpenCV/ && mkdir bin && cd bin && cmake -DCMAKE_CXX_FLAGS="-m64" -DCMAKE_C_FLAGS="-m64" -DYACCLAB_CI_CPU=ON -DYACCLAB_INPUT_DATASET_PATH=$DATASET_PATH -DYACCLAB_ENABLE_3D=ON -DOpenCV_DIR=$OPENCV_DIR -DCMAKE_BUILD_TYPE=Release .. - name: build run: cd bin && make -j - name: run run: cd bin && ./YACCLAB ================================================ FILE: .gitignore ================================================ **/*.vcxproj **/*.filters **/*.sln **/*.opensdf **/*.suo **/*.sdf **/*.user /Release /Debug /[Bb]in* /[Bb]uild* /CMakeCache.txt /cmake_install.cmake /CMakeFiles **/*.jpg /MSVC* ================================================ FILE: AUTHORS ================================================ Copyright (c) 2020, Federico Bolelli, Costantino Grana, Michele Cancilla, Stefano Allegretti, Lorenzo Baraldi, Roberto Vezzani. Moral rights: Federico Bolelli , Costantino Grana , Michele Cancilla , Stefano Allegretti Lorenzo Baraldi , Roberto Vezzani , The version control system provides attribution for specific lines of code. ================================================ FILE: CMakeLists.txt ================================================ # Copyright (c) 2021, the YACCLAB contributors, as # shown by the AUTHORS file. All rights reserved. # # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. cmake_minimum_required(VERSION 3.18) cmake_policy(SET CMP0091 NEW) # ---------------------------------------------------------------------------- # Base variables # ---------------------------------------------------------------------------- set (ProjectName "YACCLAB") project (${ProjectName}) # ---------------------------------------------------------------------------- # YACCLAB and CMAKE variables # ---------------------------------------------------------------------------- set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE) set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}" CACHE PATH "Install prefix" FORCE) set(YACCLAB_ENABLE_CUDA OFF CACHE BOOL "Enable CUDA support if checked") set(YACCLAB_ENABLE_3D OFF CACHE BOOL "Enable 3D support if checked") set(YACCLAB_ENABLE_EPDT_19C OFF CACHE BOOL "Enable 3D algorithm based on Heuristic Decision Trees (may noticeably increase build time)") set(YACCLAB_ENABLE_EPDT_22C OFF CACHE BOOL "Enable 3D algorithm based on Heuristic Decision Trees (may noticeably increase build time)") set(YACCLAB_ENABLE_EPDT_26C OFF CACHE BOOL "Enable 3D algorithm based on Heuristic Decision Trees (may noticeably increase build time)") set(YACCLAB_FORCE_CONFIG_GENERATION OFF CACHE BOOL "Force generation of config file, possibly overwriting the current one") set(YACCLAB_DOWNLOAD_DATASET OFF CACHE BOOL "If flagged the YACCLAB dataset will be automatically downloaded") set(YACCLAB_DOWNLOAD_DATASET_3D OFF CACHE BOOL "If flagged the YACCLAB 3D dataset will be automatically downloaded") set(YACCLAB_INPUT_DATASET_PATH "${CMAKE_INSTALL_PREFIX}/input" CACHE PATH "'input' dataset path") set(YACCLAB_OUTPUT_RESULTS_PATH "${CMAKE_INSTALL_PREFIX}/output" CACHE PATH "'output' results path") set(YACCLAB_OS "${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION}" CACHE INTERNAL STRING) set(YACCLAB_CI_CPU2D OFF CACHE INTERNAL "This variable is used to handle travis-ci parameters, do not change its value") set(YACCLAB_IS_JENKINS OFF CACHE INTERNAL "This variable is used to handle jenkins parameters, do not change its value") #set(YACCLAB_CXX_STANDARD 14 CACHE STRING "Version of the C++ standard (must be >= 14)") #set_property(CACHE YACCLAB_CXX_STANDARD PROPERTY STRINGS 14 17 20 23) if(MSVC) set(CMAKE_USE_RELATIVE_PATHS ON CACHE INTERNAL "" FORCE) endif() # ---------------------------------------------------------------------------- # Check for c++14 support # ---------------------------------------------------------------------------- if(DEFINED CMAKE_BUILD_TYPE) set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS ${CMAKE_CONFIGURATION_TYPES}) endif() message(STATUS "Compiler ID: ${CMAKE_CXX_COMPILER_ID}") #if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang" OR CMAKE_C_COMPILER_ID MATCHES "GNU|Clang|AppleClang") # set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE) # if(NOT CMAKE_CXX_FLAGS MATCHES "-m32" AND NOT CMAKE_CXX_FLAGS MATCHES "-m64") # set(CMAKE_CXX_FLAGS "-m32 ${CMAKE_CXX_FLAGS}" CACHE STRING "32-bit compiled" FORCE) # endif() # if(NOT CMAKE_C_FLAGS MATCHES "-m32" AND NOT CMAKE_C_FLAGS MATCHES "-m64") # set(CMAKE_C_FLAGS "-m32 ${CMAKE_C_FLAGS}" CACHE STRING "32-bit compiled" FORCE) # endif() #endif() # The following commands would serve to simplify the check on the compiler version but do not yet seem to work perfectly set(CMAKE_CXX_STANDARD_REQUIRED YES) # Force the following command to generate an error when it fails set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_EXTENSIONS NO) #if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang") # include(CheckCXXCompilerFlag) # CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14) # # if(COMPILER_SUPPORTS_CXX14 AND NOT CMAKE_CXX_FLAGS MATCHES "-std=c\\+\\+14") # set(CMAKE_CXX_FLAGS "-std=c++14 ${CMAKE_CXX_FLAGS}" CACHE STRING "Enable c++14" FORCE) # elseif(NOT COMPILER_SUPPORTS_CXX14) # message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler.") # endif() # # message(STATUS "C++ flags: ${CMAKE_CXX_FLAGS}") # message(STATUS "C flags: ${CMAKE_C_FLAGS}") #elseif(MSVC) # if(MSVC_VERSION LESS 1900) # message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler.") # endif() #else() # message(STATUS "We are not able to check if ${CMAKE_CXX_COMPILER} compiler has C++14 support. YACCLAB may not work properly.") #endif() # ---------------------------------------------------------------------------- # Check for CUDA support # ---------------------------------------------------------------------------- if(YACCLAB_ENABLE_CUDA) include(CheckLanguage) check_language(CUDA) if(CMAKE_CUDA_COMPILER) enable_language(CUDA) add_definitions(-DYACCLAB_WITH_CUDA) set(CMAKE_CUDA_STANDARD_REQUIRED YES) # Force the following command to generate an error when it fails set(CMAKE_CUDA_STANDARD 14) set(CMAKE_CUDA_EXTENSIONS NO) # Detect and set CUDA architecture include(FindCUDA/select_compute_arch) CUDA_DETECT_INSTALLED_GPUS(INSTALLED_GPU_CCS_1) string(STRIP "${INSTALLED_GPU_CCS_1}" INSTALLED_GPU_CCS_2) string(REPLACE " " ";" INSTALLED_GPU_CCS_3 "${INSTALLED_GPU_CCS_2}") string(REPLACE "." "" CUDA_ARCH_LIST "${INSTALLED_GPU_CCS_3}") SET(CMAKE_CUDA_ARCHITECTURES ${CUDA_ARCH_LIST}) #SET(CMAKE_CUDA_ARCHITECTURES native) message(STATUS "CUDA detected architecture: ${CUDA_ARCH_LIST}") #find_package(CUDA) #CUDA_SELECT_NVCC_ARCH_FLAGS(ARCH_FLAGS) #message(STATUS ${ARCH_FLAGS}) #SET(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} ${ARCH_FLAGS}") # This flag causes some kernel do not run, for some unknown reason #add_compile_options($<$,$>:-G>) add_link_options($) else() message(WARNING "No CUDA support") endif() endif() # ---------------------------------------------------------------------------- # Build & install layouts # ---------------------------------------------------------------------------- set(YACCLAB_EXECUTABLE_OUTPUT_PATH "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Output directory for applications") # ---------------------------------------------------------------------------- # Solution folders # ---------------------------------------------------------------------------- if(ENABLE_SOLUTION_FOLDERS) set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMakeTargets") endif() # ---------------------------------------------------------------------------- # OpenCV # ---------------------------------------------------------------------------- #set(OpenCV_REQUIRED_PACKAGES "core;imgcodecs;imgproc" CACHE STRING "OpenCV packages required by YACCLAB are already set") #string(FIND "${OpenCV_REQUIRED_PACKAGES}" "cudafeatures2d" cudafeatures2d_pos) #if (YACCLAB_ENABLE_CUDA AND CMAKE_CUDA_COMPILER AND ${cudafeatures2d_pos} EQUAL -1) # set(OpenCV_REQUIRED_PACKAGES "${OpenCV_REQUIRED_PACKAGES};cudafeatures2d" CACHE STRING "OpenCV packages required by YACCLAB are already set" FORCE) #endif() set(OpenCV_REQUIRED_PACKAGES "core;imgcodecs;imgproc") if (YACCLAB_ENABLE_CUDA AND CMAKE_CUDA_COMPILER) set(OpenCV_REQUIRED_PACKAGES "${OpenCV_REQUIRED_PACKAGES};cudafeatures2d") endif() message(STATUS "OpenCV required packages: ${OpenCV_REQUIRED_PACKAGES}") FIND_PACKAGE(OpenCV REQUIRED ${OpenCV_REQUIRED_PACKAGES}) include_directories( ${OpenCV_INCLUDE_DIRS} ) if("${OpenCV_STATIC}" STREQUAL "ON" OR "${OpenCV_SHARED}" STREQUAL "OFF") message(STATUS "Setting static runtime for MSVC") set(YACCLAB_MSVC_RUNTIME_STATIC ON) endif() # ---------------------------------------------------------------------------- # OpenMP # ---------------------------------------------------------------------------- find_package(OpenMP) message(STATUS "OpenMP found: ${OpenMP_CXX_FOUND}") #if(OpenMP_CXX_FOUND) # add_compile_options("${OpenMP_CXX_FLAGS}") # include_directories(${OpenMP_CXX_INCLUDE_DIRS}) #endif() # ---------------------------------------------------------------------------- # Utility # ---------------------------------------------------------------------------- message(STATUS "OS: ${YACCLAB_OS}, OpenCV: ${OpenCV_VERSION}") add_definitions(-DOPENCV_VERSION_MAJOR=${OpenCV_VERSION_MAJOR}) add_definitions(-DYACCLAB_OS="${YACCLAB_OS}") # ---------------------------------------------------------------------------- # Project # ---------------------------------------------------------------------------- include_directories("${CMAKE_SOURCE_DIR}/include") include_directories("${CMAKE_SOURCE_DIR}/cuda/include") include_directories("${CMAKE_INSTALL_PREFIX}") # To avoid linking error when a new file is added to the project directly from Visual Studio IDE #SET_SOURCE_FILES_PROPERTIES("${CMAKE_SOURCE_DIR}/src/labeling_bolelli_2019.cc" PROPERTIES COMPILE_FLAGS "-O1") add_definitions(-D_CRT_SECURE_NO_WARNINGS) #To suppress 'fopen' opencv warning/bug # ---------------------------------------------------------------------------- # Configuration file # ---------------------------------------------------------------------------- if(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/config.yaml" OR YACCLAB_FORCE_CONFIG_GENERATION) if(YACCLAB_CI_CPU) configure_file("${CMAKE_SOURCE_DIR}/doc/config_ci_cpu.yaml" "${CMAKE_INSTALL_PREFIX}/config.yaml.tmp") elseif(YACCLAB_CI_CPU2D) configure_file("${CMAKE_SOURCE_DIR}/doc/config_ci_cpu2d.yaml" "${CMAKE_INSTALL_PREFIX}/config.yaml.tmp") elseif(YACCLAB_IS_JENKINS) configure_file("${CMAKE_SOURCE_DIR}/doc/config_jenkins.yaml" "${CMAKE_INSTALL_PREFIX}/config.yaml.tmp") else() file(READ "${CMAKE_SOURCE_DIR}/doc/config_2d.yaml" YACCLAB_CONFIG_2D) if(YACCLAB_ENABLE_CUDA AND CMAKE_CUDA_COMPILER) file(READ "${CMAKE_SOURCE_DIR}/doc/config_cuda_2d.yaml" YACCLAB_CONFIG_CUDA_2D) if(YACCLAB_ENABLE_3D) file(READ "${CMAKE_SOURCE_DIR}/doc/config_cuda_3d.yaml" YACCLAB_CONFIG_CUDA_3D) endif() endif() if(YACCLAB_ENABLE_3D) if(YACCLAB_ENABLE_EPDT_19C) file(READ "${CMAKE_SOURCE_DIR}/doc/config_epdt_19c.yaml" YACCLAB_CONFIG_EPDT_19C) endif() if(YACCLAB_ENABLE_EPDT_22C) file(READ "${CMAKE_SOURCE_DIR}/doc/config_epdt_22c.yaml" YACCLAB_CONFIG_EPDT_22C) endif() if(YACCLAB_ENABLE_EPDT_26C) file(READ "${CMAKE_SOURCE_DIR}/doc/config_epdt_26c.yaml" YACCLAB_CONFIG_EPDT_26C) endif() set(YACCLAB_CONFIG_EPDT_ALGORITHMS "${YACCLAB_CONFIG_EPDT_19C}${YACCLAB_CONFIG_EPDT_22C}${YACCLAB_CONFIG_EPDT_26C}") configure_file("${CMAKE_SOURCE_DIR}/doc/config_3d.yaml" "${CMAKE_INSTALL_PREFIX}/config_3d.yaml.tmp") file(READ "${CMAKE_INSTALL_PREFIX}/config_3d.yaml.tmp" YACCLAB_CONFIG_3D) file(REMOVE "${CMAKE_INSTALL_PREFIX}/config_3d.yaml.tmp") endif() configure_file("${CMAKE_SOURCE_DIR}/doc/config_base.yaml" "${CMAKE_INSTALL_PREFIX}/config.yaml.tmp") endif() file(READ "${CMAKE_INSTALL_PREFIX}/config.yaml.tmp" YACCLAB_CONFIG_FILE) file(REMOVE "${CMAKE_INSTALL_PREFIX}/config.yaml.tmp") #file(CONFIGURE OUTPUT "${CMAKE_INSTALL_PREFIX}/config.yaml" CONTENT "${YACCLAB_CONFIG_FILE}" NEWLINE_STYLE LF) to be used with CMake >= 18 file(GENERATE OUTPUT "${CMAKE_INSTALL_PREFIX}/config.yaml" CONTENT "${YACCLAB_CONFIG_FILE}") endif() add_executable(${ProjectName} "${CMAKE_INSTALL_PREFIX}/config.yaml") set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${ProjectName}) # Set YACCLAB as startup group instead of ALL_BUILD target_link_libraries (${ProjectName} ${OpenCV_LIBS}) if(YACCLAB_MSVC_RUNTIME_STATIC) set_property(TARGET ${ProjectName} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") endif() if(OpenMP_CXX_FOUND) target_link_libraries(${ProjectName} OpenMP::OpenMP_CXX) endif() # To be able to use __cplusplus macro to check C++ version if(MSVC) target_compile_options(${ProjectName} PUBLIC $<$:/Zc:__cplusplus>) #target_compile_options(${ProjectName} PUBLIC $<$:-Xcompiler=/Zc:__cplusplus>) endif() set_property(TARGET ${ProjectName} PROPERTY CUDA_SEPARABLE_COMPILATION ON) # ---------------------------------------------------------------------------- # Output and datasets # ---------------------------------------------------------------------------- # Set YACCLAB as startup group instead of ALL_BUILD #set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT YACCLAB) #target_link_libraries (${ProjectName} ${OpenCV_LIBS}) add_subdirectory(src) add_subdirectory(include) if(YACCLAB_ENABLE_CUDA AND CMAKE_CUDA_COMPILER) add_subdirectory(cuda/src) add_subdirectory(cuda/include) include_directories("${CUDA_INCLUDE_DIRS}") set_property(TARGET ${ProjectName} PROPERTY CUDA_SEPARABLE_COMPILATION ON) endif() source_group("Header Files" REGULAR_EXPRESSION "h$|hpp$") source_group("Source Files" REGULAR_EXPRESSION "cc$|cpp$|c$") source_group("Include Files" REGULAR_EXPRESSION "inc$|inc.h$") if(YACCLAB_ENABLE_CUDA AND CMAKE_CUDA_COMPILER) source_group("Cuda Files" REGULAR_EXPRESSION "cu$") endif() # Creation of the output directory if (NOT EXISTS "${YACCLAB_OUTPUT_RESULTS_PATH}") file(MAKE_DIRECTORY ${YACCLAB_OUTPUT_RESULTS_PATH}) endif() message(STATUS ${CUDA_NVCC_FLAGS}) # Download and unpack dataset if necessary if(YACCLAB_DOWNLOAD_DATASET) # Creation of input directory if (NOT EXISTS "${YACCLAB_INPUT_DATASET_PATH}") file(MAKE_DIRECTORY ${YACCLAB_INPUT_DATASET_PATH}) endif() if (EXISTS "${YACCLAB_INPUT_DATASET_PATH}/dataset.zip") message(STATUS "${YACCLAB_INPUT_DATASET_PATH}/dataset.zip already exists, download skipped!") else() message(STATUS "Downloading dataset...") file(DOWNLOAD http://imagelab.ing.unimore.it/files/YACCLAB_dataset_new.zip "${YACCLAB_INPUT_DATASET_PATH}/dataset.zip" STATUS status SHOW_PROGRESS) list( GET status 0 error_code ) if( error_code ) message(ERROR " Cmake is not able to download the YACCLAB dataset. \nPlease, retry or download it manually and put all unzipped dataset directories in the 'input' path:\n'" ${YACCLAB_INPUT_DATASET_PATH} "'. \n(The dataset is available at http://imagelab.ing.unimore.it/files/YACCLAB_dataset_new.zip).") if(EXISTS "${YACCLAB_INPUT_DATASET_PATH}/dataset.zip") file(REMOVE "${YACCLAB_INPUT_DATASET_PATH}/dataset.zip") endif() else() message(STATUS "Downloading done.") endif() if(EXISTS "${YACCLAB_INPUT_DATASET_PATH}/dataset.zip") message(STATUS "Unpacking (it may take a while)...") execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf "${YACCLAB_INPUT_DATASET_PATH}/dataset.zip" WORKING_DIRECTORY "${YACCLAB_INPUT_DATASET_PATH}" OUTPUT_QUIET) message(STATUS "Unpacking done.") endif() endif() endif() if (YACCLAB_DOWNLOAD_DATASET_3D) # Creation of input directory if (NOT EXISTS "${YACCLAB_INPUT_DATASET_PATH}") file(MAKE_DIRECTORY ${YACCLAB_INPUT_DATASET_PATH}) endif() if (EXISTS "${YACCLAB_INPUT_DATASET_PATH}/dataset3D.zip") message(STATUS "${YACCLAB_INPUT_DATASET_PATH}/dataset3D.zip already exists, download skipped!") else() message(STATUS "Downloading 3D dataset...") file(DOWNLOAD http://imagelab.ing.unimore.it/files/YACCLAB_dataset3D.zip "${YACCLAB_INPUT_DATASET_PATH}/dataset3D.zip" STATUS status SHOW_PROGRESS) list( GET status 0 error_code ) if( error_code ) message(ERROR " Cmake is not able to download the YACCLAB 3D dataset. \nPlease, retry or download it manually and put all unzipped dataset directories in the 'input' path:\n'" ${YACCLAB_INPUT_DATASET_PATH} "'. \n(The dataset is available at http://imagelab.ing.unimore.it/files/YACCLAB_dataset3D.zip).") if(EXISTS "${YACCLAB_INPUT_DATASET_PATH}/dataset3D.zip") file(REMOVE "${YACCLAB_INPUT_DATASET_PATH}/dataset3D.zip") endif() else() message(STATUS "Downloading done.") endif() if(EXISTS "${YACCLAB_INPUT_DATASET_PATH}/dataset3D.zip") message(STATUS "Unpacking (it may take a while)...") execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf "${YACCLAB_INPUT_DATASET_PATH}/dataset3D.zip" WORKING_DIRECTORY "${YACCLAB_INPUT_DATASET_PATH}" OUTPUT_QUIET) message(STATUS "Unpacking done.") endif() endif() endif() ================================================ FILE: Jenkinsfile ================================================ pipeline { agent none stages { stage('Parallel Stages') { parallel { stage('ubuntu16_gpu') { agent { docker { label 'docker && gpu' image 'aimagelab/opencv4.4-cuda9.2-ubuntu16.04' args '--gpus 1' } } stages { stage('Clean') { steps { timeout(15) { echo 'Cleaning..' sh 'rm -rf bin || true' } } } stage('Build') { steps { timeout(120) { echo 'Building..' sh 'chmod +x tools/jenkins-scripts/run-script.sh' sh 'export BUILD_TARGET=linux && tools/jenkins-scripts/run-script.sh' } } } stage('Run') { steps { timeout(600) { echo 'Running..' sh 'cd bin && ./YACCLAB' } } } stage('ubuntu16_gpu_end') { steps { echo 'Success!' } } } } stage('ubuntu20_gpu') { agent { docker { label 'docker && gpu' image 'aimagelab/opencv4.4-cuda11.4.1-ubuntu20.04' args '--gpus 1' } } stages { stage('Clean') { steps { timeout(15) { echo 'Cleaning..' sh 'rm -rf bin || true' } } } stage('Build') { steps { timeout(120) { echo 'Building..' sh 'chmod +x tools/jenkins-scripts/run-script.sh' sh 'export BUILD_TARGET=linux && export CUDACXX=/usr/local/cuda/bin/nvcc && tools/jenkins-scripts/run-script.sh' } } } stage('Run') { steps { timeout(600) { echo 'Running..' sh 'cd bin && ./YACCLAB' } } } stage('ubuntu20_gpu_end') { steps { echo 'Success!' } } } } } } } } ================================================ FILE: LICENSE ================================================ BSD 3-Clause License Copyright (c) 2020, the respective contributors, as shown by the AUTHORS file. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: README.md ================================================ # Yet Another Connected Components Labeling Benchmark [![release](https://img.shields.io/github/v/release/prittt/YACCLAB)](https://github.com/prittt/YACCLAB/releases/latest/) [![license](https://img.shields.io/github/license/prittt/YACCLAB)](https://github.com/prittt/YACCLAB/blob/master/LICENSE) [![contributors](https://img.shields.io/badge/all_contributors-8-orange.svg?style=flat)](#contributors)
OS Build Compiler OpenCV CMake GPU GitHub Actions Jenkins
Ubuntu
18.04 LTS
x64 gcc 9.3.0 4.1.2 3.13.5 None Build Status N/A
MacOS
(Darwin 19.6.0)
x64 AppleClang 12.0.0
(Xcode-12)
3.1.0 3.13.0 None Build Status N/A
Ubuntu
16.04 LTS
x64 gcc 5.4.0 4.4 3.10.3 2080Ti, CUDA 9.2 N/A Action Status
Ubuntu
20.04.02 LTS
x64 gcc 9.3.0 4.4 3.10.3 2080Ti, CUDA 11.4 N/A Action Status

Please include the following references when citing the YACCLAB project/dataset:

-

Allegretti, Stefano; Bolelli, Federico; Grana, Costantino "Optimized Block-Based Algorithms to Label Connected Components on GPUs." IEEE Transactions on Parallel and Distributed Systems, 2019. BibTex. PDF.

-

Bolelli, Federico; Cancilla, Michele; Baraldi, Lorenzo; Grana, Costantino "Towards Reliable Experiments on the Performance of Connected Components Labeling Algorithms" Journal of Real-Time Image Processing, 2018. BibTex. PDF.

-

Grana, Costantino; Bolelli, Federico; Baraldi, Lorenzo; Vezzani, Roberto "YACCLAB - Yet Another Connected Components Labeling Benchmark" Proceedings of the 23rd International Conference on Pattern Recognition, Cancun, Mexico, 4-8 Dec 2016. BibTex. PDF.

YACCLAB is an open source C++ project that enables researchers to test CCL algorithms under extremely variable points of view, running and testing algorithms on a collection of datasets described below. The benchmark performs the following tests which will be described later in this readme: correctness, average run-time (average), average run-time with steps (average_ws), density, size, granularity and memory accesses (memory). Notice that 8-connectivity is always used in the project.

## Reproducible Research

This project follows the Reproducible Research paradigms and received the Reproducible Label in Pattern Recognition (RLPR).

## Requirements

To correctly install and run YACCLAB following packages, libraries and utilities are needed: - CMake 3.18 or higher (https://cmake.org); - OpenCV 3.0 or higher (http://opencv.org), required packages are `core`, `imgcodecs`, `imgproc`; - Gnuplot (http://www.gnuplot.info/); - One of your favourite IDE/compiler with C++14 support. GPU algorithms also require: - CUDA Toolkit 9.2 or higher (https://developer.nvidia.com/cuda-toolkit) and OpenCV `cudafeatures2d` package (as of OpenCV 4.5.3, package dependencies entail that required packages for CUDA algorithms are `core`, `cudafeatures2d`, `cudaarithm`, `cudafilters`, `cudaimgproc`, `cudawarping`, `cudev`, `features2d`, `imgcodecs`, `imgproc`). Notes for gnuplot: - on Windows system: be sure add gnuplot to system path if you want YACCLAB automatically generates charts. - on MacOS system: 'pdf terminal' seems to be not available due to old version of cairo, 'postscript' is used instead.

## Installation (refer to the image below) -

Clone the GitHub repository (HTTPS clone URL: https://github.com/prittt/YACCLAB.git) or simply download the full master branch zip file and extract it (e.g YACCLAB folder).

-

Install software in YACCLAB/bin subfolder (suggested) or wherever you want using CMake (point 2 of the example image). Note that CMake should automatically find the OpenCV path whether correctly installed on your OS (3), download the YACCLAB Dataset (be sure to check the box if you want to download it (4a) and (4b) or to select the correct path if the dataset is already on your file system (7)), and create a C++ project for the selected IDE/compiler (9-10). Moreover, if you want to test 3D or GPU algorithms tick the corresponding boxes (5) and (6).

![Cmake](doc/readme_github.png) -

Set the configuration file (config.yaml) placed in the installation folder (bin in this example) in order to select desired tests.

-

Open the project, compile and run it: the work is done!

### CMake Configuration Variables | Name | Meaning | Default | | ------------------------------------ |-----------------------------| --------| | `YACCLAB_DOWNLOAD_DATASET` | whether to automatically download the 2D YACCLAB dataset or not | `OFF` | | `YACCLAB_DOWNLOAD_DATASET_3D` | whether to automatically download the 3D YACCLAB dataset or not | `OFF` | | `YACCLAB_ENABLE_3D` | enable/disable the support for 3D algorithms | `OFF` | | `YACCLAB_ENABLE_CUDA` | enable/disable CUDA support | `OFF` | | `YACCLAB_ENABLE_EPDT_19C` | enable/disable the EPDT_19C 3D algorithm which is based on a heuristic decision tree generated from a 3D mask with 19 conditions (may noticeably increase compilation time), it has no effect when YACCLAB_ENABLE_3D is `OFF` | `OFF` | | `YACCLAB_ENABLE_EPDT_22C` | enable/disable the EPDT_22C 3D algorithm which is based on a heuristic decision tree generated from a 3D mask with 22 conditions (may noticeably increase compilation time), it has no effect when YACCLAB_ENABLE_3D is `OFF` | `OFF` | | `YACCLAB_ENABLE_EPDT_26C` | enable/disable the EPDT_26C 3D algorithm which is based on a heuristic decision tree generated from a 3D mask with 26 conditions (may noticeably increase compilation time), it has no effect when YACCLAB_ENABLE_3D is `OFF` | `OFF` | | `YACCLAB_FORCE_CONFIG_GENERATION` | whether to force the generation of the default configuration file (`config.yaml`) or not. When this flag is turned `OFF` any existing configuration file will not be overwritten | `OFF` | | `YACCLAB_INPUT_DATASET_PATH` | path to the `input` dataset folder, where to find test datasets | `${CMAKE_INSTALL_PREFIX}/input` | | `YACCLAB_OUTPUT_RESULTS_PATH` | path to the `output` folder, where to save output results | `${CMAKE_INSTALL_PREFIX}/output` | | `OpenCV_DIR` | OpenCV installation path | - | ## How to include a YACCLAB algorithm into your own project?

If your project requires a Connected Components Labeling algorithm and you are not interested in the whole YACCLAB benchmark you can use the connectedComponent function of the OpenCV library which implements the BBDT and SAUF algorithms since version 3.2., Spaghetti Labeling algorithm and BKE (for GPU only) since version 4.6.

Anyway, when the connectedComponents function is called, a lot of additional code will be executed together with the core function. If your project requires the best performance you can include an algorithm implemented in YACCLAB adding the following files to your project:

  1. labeling_algorithms.h and labeling_algorithms.cc which define the base class from which every algorithm derives from;
  2. yacclab_tensor.h, yacclab_tensor.cc which define input and output data tensors;
  3. label_solver.h and label_solver.cc which cointain the implementation of labels solving algorithms;
  4. memory_tester.h, performance_evaluator.h, volume_util.h, volume_util.cc, utilities.h, utilities.cc, system_info.h, system_info.cc, check_labeling.h, check_labeling.cc, file_manager.h, file_manager.cc, stream_demultiplexer.h, config_data.h, register.h, yacclab_test.h, progress_bar.h, cuda_mat3.hpp, cuda_types3.hpp, and cuda_mat3.inl.hpp just to make things work without changing the code;
  5. headers and sources files of the required algorithm/s. The association between algorithms and headers/sources files is reported in the tables below.
### 2D/3D CPU Algorithms
Algorithm Name Authors Year Acronym Required Files Templated on Labels Solver
- L. Di Stefano,
A. Bulgarelli [3]
1999 DiStefano labeling_distefano_1999.h
Contour Tracing F. Chang,
C.J. Chen,
C.J. Lu [1]
1999 CT labeling_fchang_2003.h
Run-Based Two-Scan L. He,
Y. Chao,
K. Suzuki [30]
2008 RBTS labeling_he_2008.h
Scan Array-based with Union Find K. Wu,
E. Otoo,
K. Suzuki [6]
2009 SAUF labeling_wu_2009.h, labeling_wu_2009_tree.inc
Stripe-Based Labeling Algorithm H.L. Zhao,
Y.B. Fan,
T.X. Zhang,
H.S. Sang [8]
2010 SBLA labeling_zhao_2010.h
Block-Based with Decision Tree C. Grana,
D. Borghesani,
R. Cucchiara [4]
2010 BBDT labeling_grana_2010.h, labeling_grana_2010_tree.inc
Configuration Transition Based L. He,
X. Zhao,
Y. Chao,
K. Suzuki [7]
2014 CTB labeling_he_2014.h, labeling_he_2014_graph.inc
Block-Based with Binary Decision Trees W.Y. Chang,
C.C. Chiu,
J.H. Yang [2]
2015 CCIT labeling_wychang_2015.h, labeling_wychang_2015_tree.inc, labeling_wychang_2015_tree_0.inc
Light Speed Labeling L. Cabaret,
L. Lacassagne,
D. Etiemble [5]
2016 LSL_STDI
LSL_STDZII
LSL_RLEIII
labeling_lacassagne_2016.h, labeling_lacassagne_2016_code.inc IV
Pixel Prediction C.Grana,
L. Baraldi,
F. Bolelli [9]
2016 PRED labeling_grana_2016.h, labeling_grana_2016_forest.inc, labeling_grana_2016_forest_0.inc
Directed Rooted Acyclic Graph F. Bolelli,
L. Baraldi,
M. Cancilla,
C. Grana [23]
2018 DRAG labeling_bolelli_2018.h, labeling_grana_2018_drag.inc
Spaghetti Labeling F. Bolelli,
S. Allegretti,
L. Baraldi,
C. Grana [26]
2019 Spaghetti labeling_bolelli_2019.h, labeling_bolelli_2019_forest.inc, labeling_bolelli_2019_forest_firstline.inc, labeling_bolelli_2019_forest_lastline.inc, labeling_bolelli_2019_forest_singleline.inc
PRED++ F. Bolelli,
S. Allegretti,
C. Grana [33]
2021 PREDpp labeling_PREDpp_2021.h, labeling_PREDpp_2021_center_line_forest_code.inc.h, labeling_PREDpp_2021_first_line_forest_code.inc.h
Tagliatelle Labeling F. Bolelli,
S. Allegretti,
C. Grana [33]
2021 Tagliatelle labeling_tagliatelle_2021.h, labeling_tagliatelle_2021_center_line_forest_code.inc.h, labeling_tagliatelle_2021_first_line_forest_code.inc.h, labeling_tagliatelle_2021_last_line_forest_code.inc.h, labeling_tagliatelle_2021_single_line_forest_code.inc.h
Bit-Run Two Scan W. Lee,
F. Bolelli,
S. Allegretti,
C. Grana [32]
2021 BRTSVII labeling_lee_2021_brts.h
Bit-Merge-Run Scan W. Lee,
F. Bolelli,
S. Allegretti,
C. Grana [32]
2021 BMRSVII labeling_lee_2021_bmrs.h
Null Labeling F. Bolelli,
M. Cancilla,
L. Baraldi,
C. Grana [13]
- NULLV labeling_null.h
SAUF 3D F. Bolelli,
S. Allegretti,
C. Grana [33]
2021 SAUF_3D labeling3D_SAUF_2021.h, labeling3D_SAUF_2021_tree_code.inc.h
SAUF++ 3D F. Bolelli,
S. Allegretti,
C. Grana [33]
2021 SAUFpp_3D labeling3D_SAUFpp_2021.h, labeling3D_SAUFpp_2021_tree_code.inc.h
PRED 3D F. Bolelli,
S. Allegretti,
C. Grana [33]
2021 PRED_3D labeling3D_PRED_2021.h, labeling3D_PRED_2021_center_line_forest_code.inc.h, labeling3D_PRED_2021_first_line_forest_code.inc.h, labeling3D_PRED_2021_last_line_forest_code.inc.h, labeling3D_PRED_2021_single_line_forest_code.inc.h
PRED++ 3D F. Bolelli,
S. Allegretti,
C. Grana [33]
2021 PREDpp_3D labeling3D_PREDpp_2021.h, labeling3D_PREDpp_2021_center_line_forest_code.inc.h, labeling3D_PREDpp_2021_first_line_forest_code.inc.h, labeling3D_PREDpp_2021_last_line_forest_code.inc.h, labeling3D_PREDpp_2021_single_line_forest_code.inc.h
Entropy Partitioning Decision Tree RLPR M. Söchting,
S. Allegretti,
F. Bolelli,
C. Grana [31]
2021 EPDT_19c and EPDT_22cVI labeling3D_BBDT_2019.h, labeling_bolelli_2019_forest.inc, labeling_bolelli_2019_forest_firstline.inc, labeling_bolelli_2019_forest_lastline.inc, labeling_bolelli_2019_forest_singleline.inc
I standard version.
II with zero-offset optimization.
III with RLE compression.
IV only on TTA and UF.
V it only copies the pixels from the input image to the output one simply defining a lower bound limit for the execution time of CCL algorithms on a given machine and dataset.
VI EPDT_19c and EPDT_22c algorithms are based on very big decision trees that translate to many lines of C++ code. They may thus noticeably increase the build time. For this reason, a special flag (`YACCLAB_ENABLE_EPDT_ALGOS`) to enable/disable such algorithms is provided in the CMake file. By default the flag is OFF.
VII CCL algorithm for images in bitonal (1 bit per pixel) format. When applied to these algorithms, the average tests also consider the time for 1 byte to 1 bit per pixel conversion. On the other hand, when performing average with steps tests conversion time is ignored. ### 2D/3D GPU Algorithms
Algorithm Name Authors Year Acronym Required Files 2D/3D
Union Find V. Oliveira,
R. Lotufo [18]
2010 UF labeling_oliveira_2010.cu 2D and 3D
Optimized
Label Equivalence
O. Kalentev,
A. Rai,
S. Kemnitz,
R. Schneider [19]
2011 OLE labeling_kalentev_2011.cu 2D
Block-run-based P. Chen,
H.L. Zhao,
C. Tao,
H.S. Sang [25]
2011 BRB labeling_chen_2011.cu 2D
Stava O. Stava,
B. Benes [38]
2011 STAVA labeling_stava_2011.cu 2D
Rasmusson A. Rasmusson,
T.S. Sørensen,
G. Ziegler [37]
2013 RASMUSSON labeling_rasmusson_2013.cu 2D
Accelerated CCL F. N. Paravecino,
D. Kaeli [34]
2014 ACCL labeling_paravecino_2014.cu 2D
8-Directional Label Selection Y. Soh,
H. Ashraf,
Y. Hae,
I. Kim [36]
2014 DLS labeling_soh_2014_8DLS.cu 2D
Modified 8-Directional Label Selection Y. Soh,
H. Ashraf,
Y. Hae,
I. Kim [36]
2014 M8DLS labeling_soh_2014_M8DLS.cu 2D
Line-based Union-Find K. Yonehara,
K. Aizawa [39]
2015 LBUF labeling_yonehara_2015.cu 2D
Block Equivalence S. Zavalishin,
I. Safonov,
Y. Bekhtin,
I. Kurilin [20]
2016 BE labeling_zavalishin_2016.cu 2D and 3D
Distanceless
Label Propagation
L. Cabaret,
L. Lacassagne,
D. Etiemble [21]
2017 DLP labeling_cabaret_2017.cu 2D
Komura Equivalence (8-conn) S. Allegretti,
F. Bolelli,
M. Cancilla,
C. Grana [22]
2018 KE labeling_allegretti_2018.cu 2D
Hardware Accelerated
4-connected
A. Hennequin,
L. Lacassagne,
L. Cabaret,
Q. Meunier [35]
2018 HA4 labeling_hennequin_2018_HA4.cu 2D
Hardware Accelerated
8-connected
A. Hennequin,
L. Lacassagne,
L. Cabaret,
Q. Meunier [35]
2018 HA8 labeling_hennequin_2018_HA8.cu 2D
CUDA SAUF S. Allegretti,
F. Bolelli,
M. Cancilla,
C. Grana [29]
2019 C-SAUF labeling_allegretti_2019_SAUF.cu,
labeling_wu_2009_tree.inc
2D
CUDA BBDT S. Allegretti,
F. Bolelli,
M. Cancilla,
C. Grana [29]
2019 C-BBDT labeling_allegretti_2019_BBDT.cu, labeling_grana_2010_tree.inc 2D
CUDA DRAG S. Allegretti,
F. Bolelli,
M. Cancilla,
C. Grana [29]
2019 C-DRAG labeling_allegretti_2019_DRAG.cu 2D
Block-based Union Find S. Allegretti,
F. Bolelli,
C. Grana [24]
2019 BUF labeling_allegretti_2019_BUF.cu 2D and 3D
Block-based Komura Equivalence S. Allegretti,
F. Bolelli,
C. Grana [24]
2019 BKE labeling_allegretti_2019_BKE.cu 2D and 3D
### Example of Algorithm Usage Outside the Benchmark ```c++ #include "labels_solver.h" #include "labeling_algorithms.h" #include "labeling_grana_2010.h" // To include the algorithm code (BBDT in this example) #include using namespace cv; int main() { BBDT BBDT_UFPC; // To create an object of the desired algorithm (BBDT in this example) // templated on the labels solving strategy. See the README for the // complete list of the available labels solvers, available algorithms // (N.B. non all the algorithms are templated on the solver) and their // acronyms. BBDT_UFPC.img_ = imread("test_image.png", IMREAD_GRAYSCALE); // To load into the CCL object // the BINARY image to be labeled threshold(BBDT_UFPC.img_, BBDT_UFPC.img_, 100, 1, THRESH_BINARY); // Just to be sure that the // loaded image is binary BBDT_UFPC.PerformLabeling(); // To perform Connected Components Labeling! Mat1i output = BBDT_UFPC.img_labels_; // To get the output labeled image unsigned n_labels = BBDT_UFPC.n_labels_; // To get the number of labels found in the input img return EXIT_SUCCESS; } ``` ## Configuration File

A YAML configuration file placed in the installation folder lets you specify which kinds of tests should be performed, on which datasets and on which algorithms. Four categories of algorithms are supported: 2D CPU, 2D GPU, 3D CPU and 3D GPU. For each of them, the configuration parameters are reported below.

- execute - boolean value which specifies whether the current category of algorithms will be tested: ```yaml execute: true ``` - perform - dictionary which specifies the kind of tests to perform: ```yaml perform: correctness: false average: true average_with_steps: false density: false granularity: false memory: false blocksize: false ``` - correctness_tests - dictionary indicating the kind of correctness tests to perform: ```yaml correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: true eight_connectivity_blocksize: true ``` - tests_number - dictionary which sets the number of runs for each test available: ```yaml tests_number: average: 10 average_with_steps: 10 density: 10 granularity: 10 ``` - algorithms - list of algorithms on which apply the chosen tests: ```yaml algorithms: - SAUF_RemSP - SAUF_TTA - BBDT_RemSP - BBDT_UFPC - CT - labeling_NULL ``` - check_datasets, average_datasets, average_ws_datasets, memory_datasets and blocksize_datasets- lists of datasets on which, respectively, correctness, average, average_ws, memory and blocksize tests should be run: ```yaml ... average_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] ... ``` - blocksize - only for the 2D GPU and 3D GPU categories, this dictionary configures blocksize test parameters. For each axis, a list of three values specifies [\, \, \]: ```yaml blocksize: x: [2, 64, 2] y: [2, 64, 2] z: [2, 64, 2] ```

Finally, the following configuration parameters are common to all categories.

- paths - dictionary with both input (datasets) and output (results) paths. It is automatically filled by Cmake during the creation of the project: ```yaml paths: {input: "", output: ""} ``` - write_n_labels - whether to report the number of connected components in the output files: ```yaml write_n_labels: false ``` - color_labels - whether to output a colored version of labeled images during tests: ```yaml color_labels: {average: false, density: false} ``` - save_middle_tests - dictionary specifying, separately for every test, whether to save the output of single runs, or only a summary of the whole test: ```yaml save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} ``` ## How to Extend YACCLAB with New Algorithms

YACCLAB has been designed with extensibility in mind, so that new resources can be easily integrated into the project. A CCL algorithm is coded with a .h header file (placed in the include folder), a .cc source file (placed in the src folder), and optional additional files containing a tree/drag definition (placed in the include folder).

The source file should be as follows: ```c++ #include ".h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(); // Replace the above line with "REGISTER_LABELING();" if the algorithm // is not template on the equivalence solver algorithm. ``` The header file should follows the structure below (see include/labeling_bolelli_2018.h to have a complete example): ```c++ // [...] template // Remove this line if the algorithm is not template // on the equivalence solver algorithm class : public Labeling2D { // the class must extend one of the labeling // classes Labeling2D, Labeling3D, .. that // are template on the connectivity type public: () {} // This member function should implement the labeling procedure reading data from the // input image "img_" (OpenCV Mat1b) and storing labels into the output one "img_labels_" // (OpenCV Mat1i) void PerformLabeling() { // [...] LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // [...] LabelsSolver::GetLabel() // To get label value from its index LabelsSolver::NewLabel(); // To create a new label LabelsSolver::Flatten(); // To flatten the equivalence solver array } // This member function should implement the with step version of the labeling procedure. // This is required to perform tests with steps. void PerformLabelingWithSteps() { double alloc_timing = Alloc(); // Alloc() should be a member function responsible // for memory allocation of the required data structures perf_.start(); FirstScan(); // FirsScan should be a member function that implements the // first scan step of the algorithm (if it has one) perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); // SecondScan should be a member function that implements the // second scan step of the algorithm (if it has one) perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); // If the algorithm does not have a distinct firs and second scan replace the lines // above with the following ones: // perf_.start(); // AllScans(); // AllScans() should be a member function which implements the entire // algorithm but the allocation/deallocation // perf_.stop(); // perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); // Dealloc() should be a member function responsible for memory // deallocation. perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); // [...] } // This member function should implement the labeling procedure using the OpenCV Mat // wrapper (MemMat) implemented by YACCLAB void PerformLabelingMem(std::vector& accesses){ // [...] } } ``` When implementing a GPU algorithm only the .cu file is required. The file should be placed in the cuda/src folder. The general structure of a GPU algorithm is the following: ```c++ // [...] // Kernel definitions: __global__ void (...) { ... } __global__ void (...) { ... } class : public GpuLabeling2D { // the class must extend one of the labeling // classes GpuLabeling2D, GpuLabeling3D, .. that // are template on the connectivity type public: () {} // This member function should implement the labeling procedure reading data from the // input image "d_img_" (OpenCV cuda::GpuMat) and storing labels into the output one "d_img_labels_" // (OpenCV cuda::GpuMat) void PerformLabeling() { // Create the output image d_img_labels_.create(d_img_.size(), CV_32SC1); // [...] // Call necessary kernels <<<...>>> (...); <<<...>>> (...); // [...] // Wait for the end of the last kernel cudaDeviceSynchronize(); } // This member function should implement the with step version of the labeling procedure. // This is required to perform tests with steps. void PerformLabelingWithSteps() { double alloc_timing = Alloc(); // Alloc() should be a member function responsible // for memory allocation of the required data structures perf_.start(); FirstScan(); // FirsScan should be a member function that implements the // first scan step of the algorithm (if it has one) perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); // SecondScan should be a member function that implements the // second scan step of the algorithm (if it has one) perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); // If the algorithm does not have a distinct first and second scan replace the lines // above with the following ones: // perf_.start(); // AllScans(); // AllScans() should be a member function which implements the entire // algorithm but the allocation/deallocation // perf_.stop(); // perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); // Dealloc() should be a member function responsible for memory // deallocation. perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); // [...] } void PerformLabelingBlocksize(int x, int y, int z) { // Create the output image d_img_labels_.create(d_img_.size(), CV_32SC1); // [...] // Call necessary kernels through a macro that measures times separately BLOCKSIZE_KERNEL(, , , , ...); BLOCKSIZE_KERNEL(, , , , ...); // [...] } } REGISTER_LABELING(); // Only necessary for blocksize test REGISTER_KERNELS(, , , ...); ```

Once an algorithm has been added to YACCLAB, it is ready to be tested and compared to the others. Don't forget to update the configuration file! We look at YACCLAB as a growing effort towards better reproducibility of CCL algorithms, so implementations of new and existing labeling methods are very welcome.

## The YACCLAB Dataset

The YACCLAB dataset includes both synthetic and real images and it is suitable for a wide range of applications, ranging from document processing to surveillance, and features a significant variability in terms of resolution, image density, variance of density, and number of components. All images are provided in 1 bit per pixel PNG format, with 0 (black) being background and 1 (white) being foreground. The dataset will be automatically downloaded by CMake during the installation process as described in the installation paragraph.

### 2D Datasets - MIRflickr [10]:

Otsu-binarized version of the MIRflickr dataset, publicly available under a Creative Commons License. It contains 25,000 standard resolution images taken from Flickr. These images have an average resolution of 0.17 megapixels, there are few connected components (495 on average) and are generally composed of not too complex patterns, so the labeling is quite easy and fast.

- Hamlet:

A set of 104 images scanned from a version of the Hamlet found on Project Gutenberg (http://www.gutenberg.org). Images have an average amount of 2.71 million of pixels to analyze and 1447 components to label, with an average foreground density of 0.0789.

- Tobacco800 [11],[12]:

A set of 1290 document images. It is a realistic database for document image analysis research as these documents were collected and scanned using a wide variety of equipment over time. Resolutions of documents in Tobacco800 vary significantly from 150 to 300 DPI and the dimensions of images range from 1200 by 1600 to 2500 by 3200 pixels. Since CCL is one of the initial preprocessing steps in most layout analysis or OCR algorithms, hamlet and tobacco800 allow to test the algorithm performance in such scenarios.

- 3DPeS [14]:

It comes from 3DPeS (3D People Surveillance Dataset), a surveillance dataset designed mainly for people re-identification in multi camera systems with non-overlapped fields of view. 3DPeS can be also exploited to test many other tasks, such as people detection, tracking, action analysis and trajectory analysis. The background models for all cameras are provided, so a very basic technique of motion segmentation has been applied to generate the foreground binary masks, i.e., background subtraction and fixed thresholding. The analysis of the foreground masks to remove small connected components and for nearest neighbor matching is a common application for CCL.

- Medical [15]:

This dataset is composed by histological images and allow us to cover this fundamental medical field. The process used for nuclei segmentation and binarization is described in [15]. The resulting dataset is a collection of 343 binary histological images with an average amount of 1.21 million of pixels to analyze and 484 components to label.

- Fingerprints [16]:

This dataset counts 960 fingerprint images collected by using low-cost optical sensors or synthetically generated. These images were taken from the three Verification Competitions FCV2000, FCV2002 and FCV2004. In order to fit CCL application, fingerprints have been binarized using an adaptive threshold and then negated in order to have foreground pixel with value 255. Most of the original images have a resolution of 500 DPI and their dimensions range from 240 by 320 up to 640 by 480 pixels.

Samples of the YACCLAB 2D (real) datasets. From left to right: 3DPeS, Fingerprints, Medical, MIRflickr, Tobacco800, XDOCS, Hamlet.
- Synthetic Images: - Classical [4]:

A set of synthetic random noise images who contain black and white random noise with 9 different foreground densities (10% up to 90%), from a low resolution of 32x32 pixels to a maximum resolution of 4096x4096 pixels, allowing to test the scalability and the effectiveness of different approaches when the number of labels gets high. For every combination of size and density, 10 images are provided for a total of 720 images. The resulting subset allows to evaluate performance both in terms of scalability on the number of pixels and on the number of labels (density).

- Granularity [5] :

This dataset allows to test algorithms varying not only the pixels density but also their granularity g (i.e., dimension of minimum foreground block), underlying the behaviour of different proposals when the number of provisional labels changes. All the images have a resolution of 2048x2048 and are generated with the Mersenne Twister MT19937 random number generator implemented in the C++ standard and starting with a "seed" equal to zero. Density of the images ranges from 0% to 100% with step of 1% and for every density value 16 images with pixels blocks of gxg with g ∈ [1,16] are generated. Moreover, the procedure has been repeated 10 times for every couple of density-granularity for a total of 16160 images.

Samples of the YACCLAB 2D granularity dataset: reported images have a foreground density of 30% and, from left to right, granularities are 1, 2, 4, 6, 8, 12, 14, 16.
### 3D Datasets - OASIS [27]:

This is a dataset of medical MRI data taken from the Open Access Series of Imaging Studies (OASIS) project. It consists of 373 volumes of 256 × 256 × 128 pixels, binarized with the Otsu threshold.

- Mitochondria [28]:

It is the Electron Microscopy Dataset, which contains binary sections taken from the CA1 hippocampus for a total of three volumes composed by 165 slices with a resolution of 1024 × 768 pixels.

- Hilbert [24]:

This dataset contains six volumes of 128 × 128 × 128 pixels, filled with the 3D Hilbert curve obtained at different iterations (1 to 6) of the construction method. The Hilbert curve is a fractal space-filling curve that representsa challenging test case for the labeling algorithms.

Samples of the YACCLAB 3D datasets. From left to right we have the Hilbert space-filling curve, the OASIS dataset and Mitochondria medical imaging data.
- Granularity [24]:

It contains 3D synthetic images generated as described for the 2D version. In this case, images have a resolution of 256 x 256 x 256 pixels and only three different images for every couple of density-granularity have been generated.

Samples of the YACCLAB 3D granularity dataset: reported images have a foreground density of 2% and, from left to right, granularities are 4, 8, 16.
## Available Tests - Average run-time tests:

execute an algorithm on every image of a dataset. The process can be repeated more times in a single test, to get the minimum execution time for each image: this allows to get more reproducible results and overlook delays produced by other running processes. It is also possible to compare the execution speed of different algorithms on the same dataset: in this case, selected algorithms (see Configuration File for more details) are executed sequentially on every image of the dataset. Results are presented in three different formats: a plain text file, histogram charts (.pdf/.ps), either in color or in gray-scale, and a LaTeX table, which can be directly included in research papers.

- Average run-time tests with steps:

evaluates the performance of an algorithm separating the allocation/deallocation time from the time required to compute labeling. Moreover, if an algorithm employs multiple scans to produce the correct output labels, YACCLAB will store the time of every scan and will display them separately. To understand how YACCLAB computes the memory allocation time for an algorithm on a reference image, it is important to underline the subtleties involved in the allocation process. Indeed, all modern operating systems (not real-time, nor embedded ones, but certainly Windows and Unix) handle virtual memory exploiting a demand paging technique, i.e demand paging with no pre-paging for most of Unix OS and cluster demand paging for Windows OS. This means that a disk page is copied into physical memory only when it is accessed by a process the first time, and not when the allocation function is called. Therefore, it is not possible to calculate the exact allocation time required by an algorithm, which computes CCL on a reference image, but its upper bound can be estimated using the following approach:

- forcing the allocation of the entire memory by reserving it (malloc), filling it with zeros (memset), and tracing the time; - calculating the time required by the assignment operation (memset), and subtracting it from the one obtained at the previous step; - repeating the previous points for all data structures needed by an algorithm and summing times together.

This will produce an upper bound of the allocation time because caches may reduce the second assignment operation, increasing the estimated allocation time. Moreover, in real cases, CCL algorithms may reserve more memory than they really need, but the demand paging, differently from our measuring system, will allocate only the accessed pages.

- Density and size tests:

check the performance of different CCL algorithms when they are executed on images with varying foreground density and size. To this aim, a list of algorithms selected by the user is run sequentially on every image of the test_random dataset. As for run-time tests, it is possible to repeat this test for more than one run. The output is presented as both plain text and charts(.pdf/.ps). For a density test, the mean execution time of each algorithm is reported for densities ranging from 10% up to 90%, while for a size test the same is reported for resolutions ranging from 32 x 32 up to 4096 x 4096.

- Memory tests:

are useful to understand the reason for the good performances of an algorithm or in general to explain its behavior. Memory tests compute the average number of accesses to the label image (i.e the image used to store the provisional and then the final labels for the connected components), the average number of accesses to the binary image to be labeled, and, finally, the average number of accesses to data structures used to solve the equivalences between label classes. Moreover, if an algorithm requires extra data, memory tests summarize them as ``other'' accesses and return the average. Furthermore, all average contributions of an algorithm and dataset are summed together in order to show the total amount of memory accesses. Since counting the number of memory accesses imposes additional computations, functions implementing memory access tests are different from those implementing run-time and density tests, to keep run-time tests as objective as possible.

- Granularity tests:

evaluates an algorithm varying density (from 1% to 100%, using a 1% step) and pixels granularity, but not images resolution. The output results display the average execution time over images with the same density and granularity.

- Blocksize tests:

this test, which only makes sense for CUDA algorithms, is aimed at finding the best block size for each kernel with grid search parameter optimization. The range of values for each block axis can be specified in the configuration file. Given a set of CUDA algorithms, the blocksize test reports execution times of each kernel on one or multiple datasets, repeating the measurement for every different block size. Results are presented in a csv file. For every kernel, dataset and block size, the total execution time in ms is reported.

## Examples of YACCLAB Output Results
Fingerprints XDOCS
## Contributors Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Federico Bolelli

💻 📆 🚧 🚇 🤔

Stefano Allegretti

💻 🚧 🐛 🤔 🚇

Costantino Grana

💻 📆 🤔 🚇

Michele Cancilla

💻 📦 🚧

Lorenzo Baraldi

💻 📦

Maximilian Söchting

💻

patrickhwood

🐛

WalnutVision

🐛
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome. ## References
[1]

F. Chang, C.-J. Chen, and C.-J. Lu, “A linear-time component-labeling algorithm using contour tracing technique,” Computer Vision and Image Understanding, vol. 93, no. 2, pp. 206–220, 2004.

[2]

W.-Y. Chang, C.-C. Chiu, and J.-H. Yang, “Block-based connected-component labeling algorithm using binary decision trees,” Sensors, vol. 15, no. 9, pp. 23 763–23 787, 2015.

[3]

L. Di Stefano and A. Bulgarelli, “A Simple and Efficient Connected Components Labeling Algorithm,” in International Conference on Image Analysis and Processing. IEEE, 1999, pp. 322–327.

[4]

C. Grana, D. Borghesani, and R. Cucchiara, “Optimized Block-based Connected Components Labeling with Decision Trees,” IEEE Transac-tions on Image Processing, vol. 19, no. 6, pp. 1596–1609, 2010.

[5]

L. Lacassagne and B. Zavidovique, “Light speed labeling: efficient connected component labeling on risc architectures,” Journal of Real-Time Image Processing, vol. 6, no. 2, pp. 117–135, 2011.

[6]

K. Wu, E. Otoo, and K. Suzuki, "Optimizing two-pass connected-component labeling algorithms,” Pattern Analysis and Applications," vol. 12, no. 2, pp. 117–135, 2009.

[7]

L. He, X. Zhao, Y. Chao, and K. Suzuki, "Configuration-Transition-Based Connected-Component Labeling", IEEE Transactions on Image Processing, vol. 23, no. 2, pp. 943–951, 2014.

[8]

H. Zhao, Y. Fan, T. Zhang, and H. Sang, "Stripe-based connected components labelling," Electronics letters, vol. 46, no. 21, pp. 1434–1436, 2010.

[9]

C. Grana, L. Baraldi, and F. Bolelli, "Optimized Connected Components Labeling with Pixel Prediction," in Advanced Concepts for Intelligent Vision Systems, 2016, pp. 431-440.

[10]

M. J. Huiskes and M. S. Lew, “The MIR Flickr Retrieval Evaluation,” in MIR ’08: Proceedings of the 2008 ACM International Conference on Multimedia Information Retrieval. New York, NY, USA: ACM, 2008.

[11]

G. Agam, S. Argamon, O. Frieder, D. Grossman, and D. Lewis, “The Complex Document Image Processing (CDIP) Test Collection Project,” Illinois Institute of Technology, 2006.

[12]

D. Lewis, G. Agam, S. Argamon, O. Frieder, D. Grossman, and J. Heard, “Building a test collection for complex document information processing,” in Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval. ACM, 2006, pp. 665–666.

[13]

F. Bolelli, M. Cancilla, L. Baraldi, C. Grana, "Towards Reliable Experiments on the Performance of Connected Components Labeling Algorithms," Journal of Real-Time Image Processing, 2018.

[14]

D. Baltieri, R. Vezzani, and R. Cucchiara, “3DPeS: 3D People Dataset for Surveillance and Forensics,” in Proceedings of the 2011 joint ACM workshop on Human gesture and behavior understanding. ACM, 2011, pp. 59–64.

[15]

F. Dong, H. Irshad, E.-Y. Oh, M. F. Lerwill, E. F. Brachtel, N. C. Jones, N. W. Knoblauch, L. Montaser-Kouhsari, N. B. Johnson, L. K. Rao et al., “Computational Pathology to Discriminate Benign from Malignant Intraductal Proliferations of the Breast,” PloS one, vol. 9, no. 12, p. e114885, 2014.

[16]

D. Maltoni, D. Maio, A. Jain, and S. Prabhakar, "Handbook of fingerprint recognition", Springer Science & Business Media, 2009.

[17]

C.Grana, F.Bolelli, L.Baraldi, and R.Vezzani, "YACCLAB - Yet Another Connected Components Labeling Benchmark," Proceedings of the 23rd International Conference on Pattern Recognition, Cancun, Mexico, 4-8 Dec 2016, 2016.

[18]

V. Oliveira and R. Lotufo, "A study on connected components labeling algorithms using GPUs," in SIBGRAPI. vol. 3, p. 4, 2010.

[19]

O. Kalentev, A. Rai, S. Kemnitz, R. Schneider," Connected component labeling on a 2D grid using CUDA," in Journal of Parallel and Distributed Computing 71(4), 615–620, 2011.

[20]

S. Zavalishin, I. Safonov, Y. Bekhtin, I. Kurilin, "Block Equivalence Algorithm for Labeling 2D and 3D Images on GPU," in Electronic Imaging 2016(2), 1–7, 2016.

[21]

L. Cabaret, L. Lacassagne, D. Etiemble, "Distanceless Label Propagation: an Efficient Direct Connected Component Labeling Algorithm for GPUs," in Seventh International Conference on Image Processing Theory, Tools and Applications, IPTA, 2017.

[22]

S. Allegretti, F. Bolelli, M. Cancilla, C. Grana, "Optimizing GPU-Based Connected Components Labeling Algorithms," in Third IEEE International Conference on Image Processing, Applications and Systems, IPAS, 2018.

[23]

F. Bolelli, L. Baraldi, M. Cancilla, C. Grana, "Connected Components Labeling on DRAGs," in International Conference on Pattern Recognition, 2018, pp. 121-126.

[24]

S. Allegretti, F. Bolelli, C. Grana, "Optimized Block-Based Algorithms to Label Connected Components on GPUs," in IEEE Transactions on Parallel and Distributed Systems, 2019.

[25]

P. Chen, H. Zhao, C. Tao, H. Sang, "Block-run-based connected component labelling algorithm for gpgpu using shared memory." Electronics Letters, 2011

[26]

F. Bolelli, S. Allegretti, L. Baraldi, and C. Grana, "Spaghetti Labeling: Directed Acyclic Graphs for Block-Based Bonnected Components Labeling," IEEE Transactions on Image Processing, vol. 29, no. 1, pp. 1999-2012, 2019.

[27]

D. S. Marcus, A. F. Fotenos, J. G. Csernansky, J. C. Morris, R. L. Buckner, “Open Access Series of Imaging Studies (OASIS): Longitudinal MRI Data in Nondemented and Demented OlderAdults,” J. Cognitive Neurosci., vol. 22, no. 12, pp. 2677–2684, 2010.

[28]

A. Lucchi, Y. Li, and P. Fua, “Learning for Structured Prediction Using Approximate Subgradient Descent with Working Sets,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2013, pp. 1987–1994.

[29]

S. Allegretti, F, Bolelli, M. Cancilla, F. Pollastri, L. Canalini, C. Grana, "How does Connected Components Labeling with Decision Trees perform on GPUs?," In 18th International Conference on Computer Analysis of Images and Patterns, 2019.

[30]

L. He, Y. Chao, K. Suzuki. "A run-based two-scan labeling algorithm." IEEE Transactions on Image Processing, 2008.

[31]

M. Söchting, S. Allegretti, F. Bolelli, C. Grana. "A Heuristic-Based Decision Tree for Connected Components Labeling of 3D Volumes." 25th International Conference on Pattern Recognition, 2021

[32]

W. Lee, F. Bolelli, S. Allegretti, C. Grana. "Fast Run-Based Connected Components Labeling for Bitonal Images." 5th International Conference on Imaging, Vision & Pattern Recognition, 2021

[33]

F. Bolelli, S. Allegretti, C. Grana. "One DAG to Rule Them All." IEEE Transactions on Pattern Analisys and Machine Intelligence, 2021

[34]

F. N. Paravecino, D. Kaeli, "Accelerated Connected Component Labeling Using CUDA Framework." International Conference on Computer Vision and Graphics, ICCVG, 2014

[35]

A. Hennequin, L. Lacassagne, L. Cabaret, Q. Meunier, "A new Direct Connected Component Labeling and Analysis Algorithms for GPUs", DASIP, 2018

[36]

Y. So, H. Ashraf, Y. Hae, I. Kim, "Fast Parallel Connected Component Labeling Algorithm Using CUDA Based On 8-Directional Label Selection", International Journal of Latest Research in Science and Technology, 2014

[37]

A. Rasmusson, T.S. Sørensen, G. Ziegler, "Connected Components Labeling on the GPU with Generalization to Voronoi Diagrams and Signed Distance Fields", International Symposium on Visual Computing, 2013

[38]

O. Stava, B. Benes, "Connected Components Labeling in CUDA", GPU Computing Gems, 2011

[39]

K. Yonehara, K. Aizawa, "A Line-Based Connected Component Labeling Algorithm Using GPUs", Third International Symposium on Computing and Networking, 2015

================================================ FILE: config.yaml ================================================ %YAML:1.2 --- ########################################## # THIS IS THE YACCLAB CONFIGURATION FILE # ########################################## # -------------------- # # Benchmark Tests # # -------------------- # CPU 2D 8-way connectivity: execute: false # Tests to perform and their number of repetitions # ------------------------------------------------ perform: correctness: true average: true average_with_steps: false density: false granularity: true memory: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: false tests_number: average: 10 average_with_steps: 10 density: 10 granularity: 10 # List of 2D CPU CCL algorithms to test # ------------------------------------- algorithms: # - SAUF_RemSP # - SAUF_TTA - SAUF_UFPC # - SAUF_UF # - BBDT_RemSP # - BBDT_TTA - BBDT_UFPC # - BBDT_UF # - CCIT_RemSP # - CCIT_TTA # - CCIT_UFPC # - CCIT_UF # - CTB_RemSP # - CTB_TTA # - CTB_UFPC # - CTB_UF # - PRED_RemSP # - PRED_TTA - PRED_UFPC # - PRED_UF # - DRAG_RemSP # - DRAG_TTA - DRAG_UFPC # - DRAG_UF # - Spaghetti_RemSP # - Spaghetti_TTA - Spaghetti_UFPC # - Spaghetti_UF # - LSL_STD_TTA # - LSL_STD_UF # - LSL_STDZ_TTA # - LSL_STDZ_UF # - LSL_RLE_TTA # - LSL_RLE_UF # - LSL_RLEZ_TTA # - LSL_RLEZ_UF # - DiStefano # - CT # - SBLA # - labeling_NULL # Algorithms which require to specify a labels solver are: SAUF, BBDT, CCIT, LSL, CTB, PRED, DRAG and Spaghetti # Possible labels solvers are: UF, UFPC, RemSP, TTA # LSL requires also a version specifier: STD, STDZ, RLE, RLEZ; only UF and TTA solvers can be used with LSL # Algorithms which don't require to specify a labels solver are: DiStefano, CT, SBLA, NULL # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["check", "3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Memory Tests" shall be run memory_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} GPU 2D 8-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------- perform: correctness: true average: false average_with_steps: false density: false granularity: false memory: false blocksize: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: false eight_connectivity_blocksize: false tests_number: average: 10 average_with_steps: 10 density: 10 granularity: 10 blocksize: 10 # List of 2D GPU CCL algorithms to test # ------------------------------------- algorithms: # - BUF # - BKE # - BE # - UF # - OLE # - LBUF # - KE # - DLP - BRB # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense #check_datasets: ["check", "3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] check_datasets: ["fingerprints", "hamlet"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Memory Tests" shall be run memory_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Blocksize Tests" shall be run blocksize_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] blocksize: x: [2, 64, 2] y: [2, 64, 2] z: [1, 1, 1] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} # -------------------- # # Additional utilities # # -------------------- # # Directory for input/output paths paths: {input: "F:/lavoro/dataset/YACCLAB", output: "F:/lavoro/progetti/survey_ccl_gpu/YACCLAB/MSVC2019_CUDA_x64/output"} # Save the returned number of components in output files write_n_labels: false # Save labeled image (TODO: remove this option from tests and add a specific tools for doing that in YACCLAB) color_labels: {average: false, density: false} #TODO os: "Windows 10.0.19041" ########################################## # This is the YACCLAB configuration file # ########################################## ================================================ FILE: cuda/CMakeLists.txt ================================================ add_subdirectory(include) add_subdirectory(src) ================================================ FILE: cuda/include/CMakeLists.txt ================================================ target_sources(YACCLAB PRIVATE cuda_mat3.hpp cuda_mat3.inl.hpp cuda_types3.hpp #labeling_CUDA_BKE_merge_tree.inc.h #labeling_CUDA_DRAG.inc.h #labeling_CUDA_BKE_init_tree.inc.h ) ================================================ FILE: cuda/include/cuda_mat3.hpp ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef OPENCV_CORE_CUDA_MAT3_HPP #define OPENCV_CORE_CUDA_MAT3_HPP #ifndef __cplusplus # error cuda.hpp header must be compiled as C++ #endif #include "opencv2/core.hpp" #include "cuda_types3.hpp" namespace cv { namespace cuda { class CV_EXPORTS GpuMat3 { public: // GpuMat3(Mat &mat); GpuMat3(); ~GpuMat3() { release(); } size_t elemSize() const; void release(); void create(int x, int y, int z, int type); void upload(Mat &mat); void download(Mat &mat) const; template operator PtrStepSz3() const { return PtrStepSz3(x, y, z, (T*)data, stepy, stepz); } template operator PtrStep3() const { return PtrStep3((T*)data, stepy, stepz); } int type() const; bool empty() const; /*! includes several bit-fields: - the magic signature - continuity flag - depth - number of channels */ int flags; //! the number of rows and columns int x, y, z; //! a distance between successive rows in bytes; includes the gap if any size_t stepy; //! a distance between successive planes in bytes size_t stepz; //! pointer to the data uchar* data; }; } } #include "cuda_mat3.inl.hpp" #endif /* OPENCV_CORE_CUDA_MAT3_HPP */ ================================================ FILE: cuda/include/cuda_mat3.inl.hpp ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef OPENCV_CORE_CUDA_MAT3_INL_HPP #define OPENCV_CORE_CUDA_MAT3_INL_HPP #include "cuda_mat3.hpp" namespace cv { namespace cuda { inline GpuMat3::GpuMat3() : flags(0), stepy(0), stepz(0), data(0) {} inline int GpuMat3::type() const { return CV_MAT_TYPE(flags); } inline size_t GpuMat3::elemSize() const { return CV_ELEM_SIZE(flags); } inline bool GpuMat3::empty() const { return data == 0; } //template inline // GpuMat3::operator PtrStepSz3() const //{ // return PtrStepSz3(x, y, z, (T*)data, stepy, stepz); //} //template inline // GpuMat3::operator PtrStep3() const //{ // return PtrStep3((T*)data, stepy, stepz); //} } } #endif // OPENCV_CORE_CUDAINL_HPP ================================================ FILE: cuda/include/cuda_types3.hpp ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef OPENCV_CORE_CUDA_TYPES3_HPP #define OPENCV_CORE_CUDA_TYPES3_HPP #ifndef __cplusplus # error cuda_types.hpp header must be compiled as C++ #endif #if defined(__OPENCV_BUILD) && defined(__clang__) #pragma clang diagnostic ignored "-Winconsistent-missing-override" #endif #if defined(__OPENCV_BUILD) && defined(__GNUC__) && __GNUC__ >= 5 #pragma GCC diagnostic ignored "-Wsuggest-override" #endif /** @file * @deprecated Use @ref cudev instead. */ //! @cond IGNORED #ifdef __CUDACC__ #define __CV_CUDA_HOST_DEVICE__ __host__ __device__ __forceinline__ #else #define __CV_CUDA_HOST_DEVICE__ #endif #include "opencv2/core/cuda_types.hpp" namespace cv { namespace cuda { // Simple lightweight structures that encapsulates information about an image on device. // It is intended to pass to nvcc-compiled code. GpuMat3 depends on headers that nvcc can't compile template struct PtrSz3 : public DevPtr { __CV_CUDA_HOST_DEVICE__ PtrSz3() : size(0) {} __CV_CUDA_HOST_DEVICE__ PtrSz3(T* data_, size_t size_) : DevPtr(data_), size(size_) {} size_t size; }; template struct PtrStep3 : public DevPtr { __CV_CUDA_HOST_DEVICE__ PtrStep3() : stepy(0), stepz(0) {} __CV_CUDA_HOST_DEVICE__ PtrStep3(T* data_, size_t stepy_, size_t stepz_) : DevPtr(data_), stepz(stepz_), stepy(stepy_) {} //__CV_CUDA_HOST_DEVICE__ PtrStep3(GpuMat3 &gpu_mat) : DevPtr(reinterpret_cast(gpu_mat.data)), stepz(gpu_mat.stepz), stepy(gpu_mat.stepy) {} size_t stepy; size_t stepz; __CV_CUDA_HOST_DEVICE__ T* ptr(int z = 0, int y = 0) { return (T*)((char*)DevPtr::data + z * stepz + y * stepy); } __CV_CUDA_HOST_DEVICE__ const T* ptr(int z = 0, int y = 0) const { return (const T*)((const char*)DevPtr::data + z * stepz + y * stepy); } __CV_CUDA_HOST_DEVICE__ T& operator ()(int x, int y, int z) { return ptr(z, y)[x]; } __CV_CUDA_HOST_DEVICE__ const T& operator ()(int x, int y, int z) const { return ptr(z, y)[x]; } }; template struct PtrStepSz3 : public PtrStep3 { __CV_CUDA_HOST_DEVICE__ PtrStepSz3() : x(0), y(0), z(0) {} __CV_CUDA_HOST_DEVICE__ PtrStepSz3(int x_, int y_, int z_, T* data_, size_t stepy_, size_t stepz_) : PtrStep3(data_, stepy_, stepz_), x(x_), y(y_), z(z_) {} template explicit PtrStepSz3(const PtrStepSz3& d) : PtrStep3((T*)d.data, d.stepy, d.stepz), x(d.x), y(d.y), z(d.z) {} int x; int y; int z; }; typedef PtrStepSz3 PtrStepSz3b; typedef PtrStepSz3 PtrStepSz3f; typedef PtrStepSz3 PtrStepSz3i; typedef PtrStep3 PtrStep3b; typedef PtrStep3 PtrStep3f; typedef PtrStep3 PtrStep3i; } } //! @endcond #endif /* OPENCV_CORE_CUDA_TYPES3_HPP */ ================================================ FILE: cuda/src/CMakeLists.txt ================================================ target_sources(YACCLAB PRIVATE gpu_mat3.cu labeling_oliveira_2010.cu labeling_kalentev_2011.cu labeling_chen_2011.cu labeling_chen_2011_512.cu labeling_chen_2011_1024.cu labeling_chen_2011_2048.cu labeling_stava_2011.cu labeling_rasmusson_2013.cu labeling_paravecino_2014.cu labeling_soh_2014_8DLS.cu labeling_soh_2014_M8DLS.cu labeling_yonehara_2015.cu labeling_zavalishin_2016.cu labeling_cabaret_2017.cu labeling_allegretti_2018.cu labeling_hennequin_2018_HA4.cu labeling_hennequin_2018_HA8.cu labeling_allegretti_2019_BBDT.cu labeling_allegretti_2019_BKE.cu labeling_allegretti_2019_BUF.cu labeling_allegretti_2019_DRAG.cu labeling_allegretti_2019_SAUF.cu #labeling_BE_light.cu #labeling_BE_big_tex.cu #labeling_BKE_NoInlineCompression.cu #labeling_BUF_2S.cu #labeling_BUF_NoInlineCompression.cu #labeling_KE4.cu #labeling_KE_2S.cu #labeling_OLE_tex.cu #labeling_RADAR.cu #labeling_TUF.cu #labeling_UF_InlineCompression.cu #labeling_UF_naive.cu ) if(YACCLAB_ENABLE_3D) target_sources(YACCLAB PRIVATE labeling_zavalishin_2016_3D.cu labeling_allegretti_2019_BKE_3D.cu labeling_allegretti_2019_BUF_3D.cu labeling_allegretti_2019_UF_3D.cu #labeling_BUF_3D_NoInlineCompression.cu #labeling_BE_3D_light.cu #labeling_BE_3D_light_shared.cu ) endif() ================================================ FILE: cuda/src/gpu_mat3.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "opencv2/opencv_modules.hpp" #ifndef HAVE_OPENCV_CUDEV #error "opencv_cudev is required" #else #include "cuda_mat3.hpp" #include "opencv2/cudev.hpp" #include "opencv2/core/cuda/utility.hpp" using namespace cv; using namespace cv::cuda; using namespace cv::cudev; void cv::cuda::GpuMat3::release() { cudaFree(data); data = 0; stepy = stepz = x = y = z = 0; } void cv::cuda::GpuMat3::create(int _x, int _y, int _z, int _type) { CV_DbgAssert(_x >= 0 && _y >= 0 && _z >= 0); _type &= Mat::TYPE_MASK; if (x == _x && y == _y && z == _z && type() == _type && data) return; if (data) release(); if (_x > 0 && _y > 0 && _z > 0) { flags = Mat::MAGIC_VAL + _type; x = _x; y = _y; z = _z; const size_t esz = elemSize(); struct cudaPitchedPtr pitchedPtr; struct cudaExtent extent; extent.width = _x * esz; extent.height = _y; extent.depth = _z; CV_CUDEV_SAFE_CALL(cudaMalloc3D(&pitchedPtr, extent)); data = reinterpret_cast(pitchedPtr.ptr); stepy = pitchedPtr.pitch; stepz = pitchedPtr.pitch * y; if (esz * x == pitchedPtr.pitch) flags |= Mat::CONTINUOUS_FLAG; } } void cv::cuda::GpuMat3::upload(Mat &mat) { CV_DbgAssert(!mat.empty()); CV_DbgAssert(mat.dims == 3); create(mat.size[2], mat.size[1], mat.size[0], mat.type()); cudaPitchedPtr srcPtr, dstPtr; srcPtr.pitch = mat.step[1]; srcPtr.ptr = mat.data; srcPtr.xsize = mat.size[2] * mat.elemSize(); srcPtr.ysize = mat.size[1]; dstPtr.pitch = stepy; dstPtr.ptr = data; dstPtr.xsize = mat.size[2] * elemSize(); dstPtr.ysize = mat.size[1]; cudaMemcpy3DParms params = { 0 }; params.srcPtr = srcPtr; params.dstPtr = dstPtr; params.extent = make_cudaExtent(x * elemSize(), y, z); params.kind = cudaMemcpyHostToDevice; cudaMemcpy3DParms *params_ptr = ¶ms; CV_CUDEV_SAFE_CALL(cudaMemcpy3D(params_ptr)); } void cv::cuda::GpuMat3::download(Mat &mat) const { CV_DbgAssert(!empty()); int sz[] = { z, y, x }; mat.create(3, sz, type()); cudaPitchedPtr srcPtr, dstPtr; dstPtr.pitch = mat.step[1]; dstPtr.ptr = mat.data; dstPtr.xsize = mat.size[2] * elemSize(); dstPtr.ysize = mat.size[1]; srcPtr.pitch = stepy; srcPtr.ptr = data; srcPtr.xsize = mat.size[2] * elemSize(); srcPtr.ysize = mat.size[1]; cudaMemcpy3DParms params = { 0 }; params.srcPtr = srcPtr; params.dstPtr = dstPtr; params.extent = make_cudaExtent(x * elemSize(), y, z); params.kind = cudaMemcpyDeviceToHost; CV_CUDEV_SAFE_CALL(cudaMemcpy3D(¶ms)); } #endif ================================================ FILE: cuda/src/labeling_BE_3D_light.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_X 8 #define BLOCK_Y 8 #define BLOCK_Z 4 using namespace cv; // Algorithm itself has good performances, but memory allocation is a problem. // I will try to reduce it. namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } // Only use it with unsigned numeric types template __device__ __forceinline__ void SetBit(T &bitmap, unsigned char pos) { bitmap |= (1 << pos); } // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Init phase. // Labels start at value 1. __global__ void Init(const cuda::PtrStepSz3b img, cuda::PtrStepSz3i labels, unsigned int* last_voxel_conn) { unsigned x = (blockIdx.x * BLOCK_X + threadIdx.x) * 2; unsigned y = (blockIdx.y * BLOCK_Y + threadIdx.y) * 2; unsigned z = (blockIdx.z * BLOCK_Z + threadIdx.z) * 2; unsigned img_index = z * (img.stepz / img.elem_size) + y * (img.stepy / img.elem_size) + x; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { #define P0 0x77707770777UL unsigned long long P = 0UL; if (img[img_index]) { P |= P0; } if (x + 1 < img.x) { if (img[img_index + 1]) { P |= (P0 << 1); } if (y + 1 < img.y && img[img_index + img.stepy / img.elem_size + 1]) { P |= (P0 << 5); } } if (y + 1 < img.y) { if (img[img_index + img.stepy / img.elem_size]) { P |= (P0 << 4); } } if (z + 1 < img.z) { if (img[img_index + img.stepz / img.elem_size]) { P |= P0 << 16; } if (x + 1 < img.x) { if (img[img_index + img.stepz / img.elem_size + 1]) { P |= (P0 << 17); } if (y + 1 < img.y && img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size + 1]) { P |= (P0 << 21); } } if (y + 1 < img.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) { P |= (P0 << 20); } } } #undef P0 // checks on borders if (x == 0) { P &= 0xEEEEEEEEEEEEEEEE; } if (x + 1 >= img.x) { P &= 0x3333333333333333; } else if (x + 2 >= img.x) { P &= 0x7777777777777777; } if (y == 0) { P &= 0xFFF0FFF0FFF0FFF0; } if (y + 1 >= img.y) { P &= 0x00FF00FF00FF00FF; } else if (y + 2 >= img.y) { P &= 0x0FFF0FFF0FFF0FFF; } if (z == 0) { P &= 0xFFFFFFFFFFFF0000; } if (z + 1 >= img.z) { P &= 0x00000000FFFFFFFF; } else if (z + 2 >= img.z) { P &= 0x0000FFFFFFFFFFFF; } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors unsigned int conn_bitmask = 0; if (P > 0) { labels[labels_index] = labels_index + 1; // Lower plane unsigned char * plane_data = img.data + img_index - (img.stepz / img.elem_size); if (HasBit(P, 0) && plane_data[0 - img.stepy - 1]) { SetBit(conn_bitmask, 0); } if ((HasBit(P, 1) && plane_data[0 - img.stepy]) || (HasBit(P, 2) && plane_data[0 - img.stepy + 1])) { SetBit(conn_bitmask, 1); } if (HasBit(P, 3) && plane_data[0 - img.stepy + 2]) { SetBit(conn_bitmask, 2); } if ((HasBit(P, 4) && plane_data[- 1]) || (HasBit(P, 8) && plane_data[img.stepy - 1])) { SetBit(conn_bitmask, 3); } if ((HasBit(P, 5) && plane_data[0]) || (HasBit(P, 6) && plane_data[1]) || (HasBit(P, 9) && plane_data[img.stepy]) || (HasBit(P, 10) && plane_data[img.stepy + 1])) { SetBit(conn_bitmask, 4); } if ((HasBit(P, 7) && plane_data[2]) || (HasBit(P, 11) && plane_data[img.stepy + 2])) { SetBit(conn_bitmask, 5); } if (HasBit(P, 12) && plane_data[2 * img.stepy - 1]) { SetBit(conn_bitmask, 6); } if ((HasBit(P, 13) && plane_data[2 * img.stepy]) || (HasBit(P, 14) && plane_data[2 * img.stepy + 1])) { SetBit(conn_bitmask, 7); } if (HasBit(P, 15) && plane_data[2 * img.stepy + 2]) { SetBit(conn_bitmask, 8); } // Current planes plane_data += img.stepz / img.elem_size; if ((HasBit(P, 16) && plane_data[0 - img.stepy - 1]) || (HasBit(P, 32) && plane_data[img.stepz - img.stepy - 1])) { SetBit(conn_bitmask, 9); } if ((HasBit(P, 17) && plane_data[0 - img.stepy]) || (HasBit(P, 18) && plane_data[0 - img.stepy + 1]) || (HasBit(P, 33) && plane_data[img.stepz - img.stepy]) || (HasBit(P, 34) && plane_data[img.stepz - img.stepy + 1])) { SetBit(conn_bitmask, 10); } if ((HasBit(P, 19) && plane_data[0 - img.stepy + 2]) || (HasBit(P, 35) && plane_data[img.stepz - img.stepy + 2])) { SetBit(conn_bitmask, 11); } if ((HasBit(P, 20) && plane_data[-1]) || (HasBit(P, 24) && plane_data[img.stepy - 1]) || (HasBit(P, 36) && plane_data[img.stepz - 1]) || (HasBit(P, 40) && plane_data[img.stepz + img.stepy - 1])) { SetBit(conn_bitmask, 12); } if ((HasBit(P, 23) && plane_data[2]) || (HasBit(P, 27) && plane_data[img.stepy + 2]) || (HasBit(P, 39) && plane_data[img.stepz + 2]) || (HasBit(P, 43) && plane_data[img.stepz + img.stepy + 2])) { SetBit(conn_bitmask, 14); } if ((HasBit(P, 28) && plane_data[2 * img.stepy - 1]) || (HasBit(P, 44) && plane_data[img.stepz + 2 * img.stepy - 1])) { SetBit(conn_bitmask, 15); } if ((HasBit(P, 29) && plane_data[2 * img.stepy]) || (HasBit(P, 30) && plane_data[2 * img.stepy + 1]) || (HasBit(P, 45) && plane_data[img.stepz + 2 * img.stepy]) || (HasBit(P, 46) && plane_data[img.stepz + 2 * img.stepy + 1])) { SetBit(conn_bitmask, 16); } if ((HasBit(P, 31) && plane_data[2 * img.stepy + 2]) || (HasBit(P, 47) && plane_data[img.stepz + 2 * img.stepy + 2])) { SetBit(conn_bitmask, 17); } // Upper plane plane_data += 2 * (img.stepz / img.elem_size); if (HasBit(P, 48) && plane_data[0 - img.stepy - 1]) { SetBit(conn_bitmask, 18); } if ((HasBit(P, 49) && plane_data[0 - img.stepy]) || (HasBit(P, 50) && plane_data[0 - img.stepy + 1])) { SetBit(conn_bitmask, 19); } if (HasBit(P, 51) && plane_data[0 - img.stepy + 2]) { SetBit(conn_bitmask, 20); } if ((HasBit(P, 52) && plane_data[-1]) || (HasBit(P, 56) && plane_data[img.stepy - 1])) { SetBit(conn_bitmask, 21); } if ((HasBit(P, 53) && plane_data[0]) || (HasBit(P, 54) && plane_data[1]) || (HasBit(P, 57) && plane_data[img.stepy]) || (HasBit(P, 58) && plane_data[img.stepy + 1])) { SetBit(conn_bitmask, 22); } if ((HasBit(P, 55) && plane_data[2]) || (HasBit(P, 59) && plane_data[img.stepy + 2])) { SetBit(conn_bitmask, 23); } if (HasBit(P, 60) && plane_data[2 * img.stepy - 1]) { SetBit(conn_bitmask, 24); } if ((HasBit(P, 61) && plane_data[2 * img.stepy]) || (HasBit(P, 62) && plane_data[2 * img.stepy + 1])) { SetBit(conn_bitmask, 25); } if (HasBit(P, 63) && plane_data[2 * img.stepy + 2]) { SetBit(conn_bitmask, 26); } } else { labels[labels_index] = 0; } // Write connections if (x + 1 < labels.x) { labels[labels_index + 1] = conn_bitmask; } else if (y + 1 < labels.y) { labels[labels_index + labels.stepy / labels.elem_size] = conn_bitmask; } else if (z + 1 < labels.z) { labels[labels_index + labels.stepz / labels.elem_size] = conn_bitmask; } else { *last_voxel_conn = conn_bitmask; } } } __device__ unsigned int MinLabel(unsigned l1, unsigned l2) { if (l1 && l2) return min(l1, l2); else return l1; } __device__ unsigned int FindMinLabel(cuda::PtrStepSz3i labels, unsigned int neighbours, unsigned label, unsigned labels_index) { unsigned int min = label; for (char plane = -2; plane <= 2; plane+=2) { int * plane_data = labels.data + labels_index + plane * (labels.stepz / labels.elem_size); if (HasBit(neighbours, 0)) { min = MinLabel(min, plane_data[0 - 2 * (labels.stepy / labels.elem_size) - 2]); } if (HasBit(neighbours, 1)) { min = MinLabel(min, plane_data[0 - 2 * (labels.stepy / labels.elem_size)]); } if (HasBit(neighbours, 2)) { min = MinLabel(min, plane_data[0 - 2 * (labels.stepy / labels.elem_size) + 2]); } if (HasBit(neighbours, 3)) { min = MinLabel(min, plane_data[-2]); } if (plane && HasBit(neighbours, 4)) { min = MinLabel(min, plane_data[0]); } if (HasBit(neighbours, 5)) { min = MinLabel(min, plane_data[2]); } if (HasBit(neighbours, 6)) { min = MinLabel(min, plane_data[2 * (labels.stepy / labels.elem_size) - 2]); } if (HasBit(neighbours, 7)) { min = MinLabel(min, plane_data[2 * (labels.stepy / labels.elem_size)]); } if (HasBit(neighbours, 8)) { min = MinLabel(min, plane_data[2 * (labels.stepy / labels.elem_size) + 2]); } neighbours >>= 9; } return min; } // Scan phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Scan(cuda::PtrStepSz3i labels, unsigned char *changes, const unsigned int* last_voxel_conn) { unsigned x = (blockIdx.x * BLOCK_X + threadIdx.x) * 2; unsigned y = (blockIdx.y * BLOCK_Y + threadIdx.y) * 2; unsigned z = (blockIdx.z * BLOCK_Z + threadIdx.z) * 2; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { unsigned int neighbors; if (x + 1 < labels.x) { neighbors = labels[labels_index + 1]; } else if (y + 1 < labels.y) { neighbors = labels[labels_index + labels.stepy / labels.elem_size]; } else if (z + 1 < labels.z) { neighbors = labels[labels_index + labels.stepz / labels.elem_size]; } else { neighbors = *last_voxel_conn; } unsigned label = labels[labels_index]; if (label) { unsigned min_label = FindMinLabel(labels, neighbors, label, labels_index); if (min_label < label) { labels[label - 1] = min(static_cast(labels[label - 1]), min_label); *changes = 1; } } } } __global__ void Analyze(cuda::PtrStepSz3i labels) { unsigned x = (blockIdx.x * BLOCK_X + threadIdx.x) * 2; unsigned y = (blockIdx.y * BLOCK_Y + threadIdx.y) * 2; unsigned z = (blockIdx.z * BLOCK_Z + threadIdx.z) * 2; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { unsigned int val = labels[labels_index]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } // Final Labeling phase // Assigns every pixel of 2x2x2 blocks the block label __global__ void FinalLabeling(cuda::PtrStepSz3i labels, const cuda::PtrStepSz3b img) { unsigned x = (blockIdx.x * BLOCK_X + threadIdx.x) * 2; unsigned y = (blockIdx.y * BLOCK_Y + threadIdx.y) * 2; unsigned z = (blockIdx.z * BLOCK_Z + threadIdx.z) * 2; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; unsigned img_index = z * (img.stepz / img.elem_size) + y * (img.stepy / img.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { unsigned int label = labels[labels_index]; // Current plane if (img[img_index]) { labels[labels_index] = label; } else { labels[labels_index] = 0; } if (x + 1 < labels.x) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (y + 1 < labels.y) { if (img[img_index + img.stepy + 1]) labels[labels_index + (labels.stepy / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.stepy / labels.elem_size) + 1] = 0; } } } if (y + 1 < labels.y) { if (img[img_index + img.stepy]) labels[labels_index + (labels.stepy / labels.elem_size)] = label; else { labels[labels_index + (labels.stepy / labels.elem_size)] = 0; } } // Upper plane if (z + 1 < labels.z) { if (img[img_index + img.stepz / img.elem_size]) labels[labels_index + labels.stepz / labels.elem_size] = label; else { labels[labels_index + labels.stepz / labels.elem_size] = 0; } if (x + 1 < labels.x) { if (img[img_index + img.stepz / img.elem_size + 1]) labels[labels_index + labels.stepz / labels.elem_size + 1] = label; else { labels[labels_index + labels.stepz / labels.elem_size + 1] = 0; } if (y + 1 < labels.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size + 1]) labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size) + 1] = label; else { labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size) + 1] = 0; } } } if (y + 1 < labels.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)] = label; else { labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)] = 0; } } } } } } class BE_3D_LIGHT : public GpuLabeling3D { private: dim3 grid_size_; dim3 block_size_; unsigned char changes_; unsigned char *d_changes_; unsigned int* last_voxel_conn_; bool allocated_last_voxel_conn_; cuda::GpuMat3 d_connections_; cuda::GpuMat3 d_block_labels_; public: BE_3D_LIGHT() {} void PerformLabeling() { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); // Extra structures that I would gladly do without //d_connections_.create((d_img_.x + 1) / 2, (d_img_.y + 1) / 2, (d_img_.z + 1) / 2, CV_32SC1); //d_block_labels_.create((d_img_.x + 1) / 2, (d_img_.y + 1) / 2, (d_img_.z + 1) / 2, CV_32SC1); // Decide whether last_voxel_ needs specific allocation or not // It only needs it in the case that input volume has 2 or more dimensions equals to 1 allocated_last_voxel_conn_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_voxel_conn_, sizeof(unsigned int)); allocated_last_voxel_conn_ = true; } } // Block (0, 0, 0) has information about block label, block connettivity AND changes. // Its 4 words in slice 0 appear as this: // +---+---+ // |Lab|Con| // +---+---+ // |Cha| | // +---+---+ if (d_img_.x > 1 && d_img_.y > 1 && d_img_.z > 1) { d_changes_ = d_img_labels_.data + d_img_labels_.stepy; } else { // In case of degenerate input, allocate additional byte cudaMalloc(&d_changes_, sizeof(char)); } grid_size_ = dim3(((d_img_.x + 1) / 2 + BLOCK_X - 1) / BLOCK_X, ((d_img_.y + 1) / 2 + BLOCK_Y - 1) / BLOCK_Y, ((d_img_.z + 1) / 2 + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); Init << > > (d_img_, d_img_labels_, last_voxel_conn_); //Mat init_labels; //d_block_labels_.download(init_labels); //::NormalizeLabels(init_labels); //Mat img_out; //ColorLabels(init_labels, img_out); //volwrite("C:\\Users\\Stefano\\Desktop\\debug\\init_labels", img_out); while (true) { changes_ = 0; cudaMemcpy(d_changes_, &changes_, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes_, last_voxel_conn_); cudaMemcpy(&changes_, d_changes_, sizeof(char), cudaMemcpyDeviceToHost); if (!changes_) break; Analyze << > > (d_img_labels_); } //Mat block_labels; //d_block_labels_.download(block_labels); //::NormalizeLabels(block_labels); //ColorLabels(block_labels, img_out); //volwrite("C:\\Users\\Stefano\\Desktop\\debug\\block_labels", img_out); FinalLabeling << > > (d_img_labels_, d_img_); //d_img_labels_.download(img_labels_); if (!(d_img_.x > 1 && d_img_.y > 1 && d_img_.z > 1)) { cudaFree(d_changes_); } //d_connections_.release(); //d_block_labels_.release(); if (allocated_last_voxel_conn_) cudaFree(last_voxel_conn_); cudaDeviceSynchronize(); //d_img_labels_.download(img_labels_); //Mat errors; //bool correct = CheckLabeledVolume(img_, img_labels_, errors); //volwrite("C:\\Users\\Stefano\\Desktop\\debug\\BE_errors", errors); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); // Decide whether last_voxel_ needs specific allocation or not // It only needs it in the case that input volume has 2 or more dimensions equals to 1 allocated_last_voxel_conn_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_voxel_conn_, sizeof(unsigned int)); allocated_last_voxel_conn_ = true; } } if (d_img_.x > 1 && d_img_.y > 1 && d_img_.z > 1) { d_changes_ = d_img_labels_.data + d_img_labels_.stepy; } else { // In case of degenerate input, allocate additional byte cudaMalloc(&d_changes_, sizeof(char)); } perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); if (!(d_img_.x > 1 && d_img_.y > 1 && d_img_.z > 1)) { cudaFree(d_changes_); } if (allocated_last_voxel_conn_) cudaFree(last_voxel_conn_); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3(((d_img_.x + 1) / 2 + BLOCK_X - 1) / BLOCK_X, ((d_img_.y + 1) / 2 + BLOCK_Y - 1) / BLOCK_Y, ((d_img_.z + 1) / 2 + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); Init << > > (d_img_, d_img_labels_, last_voxel_conn_); while (true) { changes_ = 0; cudaMemcpy(d_changes_, &changes_, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes_, last_voxel_conn_); cudaMemcpy(&changes_, d_changes_, sizeof(char), cudaMemcpyDeviceToHost); if (!changes_) break; Analyze << > > (d_img_labels_); } FinalLabeling << > > (d_img_labels_, d_img_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BE_3D_LIGHT); ================================================ FILE: cuda/src/labeling_BE_3D_light_shared.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_X 8 #define BLOCK_Y 8 #define BLOCK_Z 4 using namespace cv; // This variant uses a byte allocated in shared memory to keep track of changes during Scan kernel. // It seems rather useless. // Algorithm itself has good performances, but memory allocation is a problem. // I will try to reduce it. namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } // Only use it with unsigned numeric types template __device__ __forceinline__ void SetBit(T &bitmap, unsigned char pos) { bitmap |= (1 << pos); } // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Init phase. // Labels start at value 1. __global__ void Init(const cuda::PtrStepSz3b img, cuda::PtrStepSz3i labels, unsigned int* last_voxel_conn) { unsigned x = (blockIdx.x * BLOCK_X + threadIdx.x) * 2; unsigned y = (blockIdx.y * BLOCK_Y + threadIdx.y) * 2; unsigned z = (blockIdx.z * BLOCK_Z + threadIdx.z) * 2; unsigned img_index = z * (img.stepz / img.elem_size) + y * (img.stepy / img.elem_size) + x; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { #define P0 0x77707770777UL unsigned long long P = 0UL; if (img[img_index]) { P |= P0; } if (x + 1 < img.x) { if (img[img_index + 1]) { P |= (P0 << 1); } if (y + 1 < img.y && img[img_index + img.stepy / img.elem_size + 1]) { P |= (P0 << 5); } } if (y + 1 < img.y) { if (img[img_index + img.stepy / img.elem_size]) { P |= (P0 << 4); } } if (z + 1 < img.z) { if (img[img_index + img.stepz / img.elem_size]) { P |= P0 << 16; } if (x + 1 < img.x) { if (img[img_index + img.stepz / img.elem_size + 1]) { P |= (P0 << 17); } if (y + 1 < img.y && img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size + 1]) { P |= (P0 << 21); } } if (y + 1 < img.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) { P |= (P0 << 20); } } } #undef P0 // checks on borders if (x == 0) { P &= 0xEEEEEEEEEEEEEEEE; } if (x + 1 >= img.x) { P &= 0x3333333333333333; } else if (x + 2 >= img.x) { P &= 0x7777777777777777; } if (y == 0) { P &= 0xFFF0FFF0FFF0FFF0; } if (y + 1 >= img.y) { P &= 0x00FF00FF00FF00FF; } else if (y + 2 >= img.y) { P &= 0x0FFF0FFF0FFF0FFF; } if (z == 0) { P &= 0xFFFFFFFFFFFF0000; } if (z + 1 >= img.z) { P &= 0x00000000FFFFFFFF; } else if (z + 2 >= img.z) { P &= 0x0000FFFFFFFFFFFF; } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors unsigned int conn_bitmask = 0; if (P > 0) { labels[labels_index] = labels_index + 1; // Lower plane unsigned char * plane_data = img.data + img_index - (img.stepz / img.elem_size); if (HasBit(P, 0) && plane_data[0 - img.stepy - 1]) { SetBit(conn_bitmask, 0); } if ((HasBit(P, 1) && plane_data[0 - img.stepy]) || (HasBit(P, 2) && plane_data[0 - img.stepy + 1])) { SetBit(conn_bitmask, 1); } if (HasBit(P, 3) && plane_data[0 - img.stepy + 2]) { SetBit(conn_bitmask, 2); } if ((HasBit(P, 4) && plane_data[- 1]) || (HasBit(P, 8) && plane_data[img.stepy - 1])) { SetBit(conn_bitmask, 3); } if ((HasBit(P, 5) && plane_data[0]) || (HasBit(P, 6) && plane_data[1]) || (HasBit(P, 9) && plane_data[img.stepy]) || (HasBit(P, 10) && plane_data[img.stepy + 1])) { SetBit(conn_bitmask, 4); } if ((HasBit(P, 7) && plane_data[2]) || (HasBit(P, 11) && plane_data[img.stepy + 2])) { SetBit(conn_bitmask, 5); } if (HasBit(P, 12) && plane_data[2 * img.stepy - 1]) { SetBit(conn_bitmask, 6); } if ((HasBit(P, 13) && plane_data[2 * img.stepy]) || (HasBit(P, 14) && plane_data[2 * img.stepy + 1])) { SetBit(conn_bitmask, 7); } if (HasBit(P, 15) && plane_data[2 * img.stepy + 2]) { SetBit(conn_bitmask, 8); } // Current planes plane_data += img.stepz / img.elem_size; if ((HasBit(P, 16) && plane_data[0 - img.stepy - 1]) || (HasBit(P, 32) && plane_data[img.stepz - img.stepy - 1])) { SetBit(conn_bitmask, 9); } if ((HasBit(P, 17) && plane_data[0 - img.stepy]) || (HasBit(P, 18) && plane_data[0 - img.stepy + 1]) || (HasBit(P, 33) && plane_data[img.stepz - img.stepy]) || (HasBit(P, 34) && plane_data[img.stepz - img.stepy + 1])) { SetBit(conn_bitmask, 10); } if ((HasBit(P, 19) && plane_data[0 - img.stepy + 2]) || (HasBit(P, 35) && plane_data[img.stepz - img.stepy + 2])) { SetBit(conn_bitmask, 11); } if ((HasBit(P, 20) && plane_data[-1]) || (HasBit(P, 24) && plane_data[img.stepy - 1]) || (HasBit(P, 36) && plane_data[img.stepz - 1]) || (HasBit(P, 40) && plane_data[img.stepz + img.stepy - 1])) { SetBit(conn_bitmask, 12); } if ((HasBit(P, 23) && plane_data[2]) || (HasBit(P, 27) && plane_data[img.stepy + 2]) || (HasBit(P, 39) && plane_data[img.stepz + 2]) || (HasBit(P, 43) && plane_data[img.stepz + img.stepy + 2])) { SetBit(conn_bitmask, 14); } if ((HasBit(P, 28) && plane_data[2 * img.stepy - 1]) || (HasBit(P, 44) && plane_data[img.stepz + 2 * img.stepy - 1])) { SetBit(conn_bitmask, 15); } if ((HasBit(P, 29) && plane_data[2 * img.stepy]) || (HasBit(P, 30) && plane_data[2 * img.stepy + 1]) || (HasBit(P, 45) && plane_data[img.stepz + 2 * img.stepy]) || (HasBit(P, 46) && plane_data[img.stepz + 2 * img.stepy + 1])) { SetBit(conn_bitmask, 16); } if ((HasBit(P, 31) && plane_data[2 * img.stepy + 2]) || (HasBit(P, 47) && plane_data[img.stepz + 2 * img.stepy + 2])) { SetBit(conn_bitmask, 17); } // Upper plane plane_data += 2 * (img.stepz / img.elem_size); if (HasBit(P, 48) && plane_data[0 - img.stepy - 1]) { SetBit(conn_bitmask, 18); } if ((HasBit(P, 49) && plane_data[0 - img.stepy]) || (HasBit(P, 50) && plane_data[0 - img.stepy + 1])) { SetBit(conn_bitmask, 19); } if (HasBit(P, 51) && plane_data[0 - img.stepy + 2]) { SetBit(conn_bitmask, 20); } if ((HasBit(P, 52) && plane_data[-1]) || (HasBit(P, 56) && plane_data[img.stepy - 1])) { SetBit(conn_bitmask, 21); } if ((HasBit(P, 53) && plane_data[0]) || (HasBit(P, 54) && plane_data[1]) || (HasBit(P, 57) && plane_data[img.stepy]) || (HasBit(P, 58) && plane_data[img.stepy + 1])) { SetBit(conn_bitmask, 22); } if ((HasBit(P, 55) && plane_data[2]) || (HasBit(P, 59) && plane_data[img.stepy + 2])) { SetBit(conn_bitmask, 23); } if (HasBit(P, 60) && plane_data[2 * img.stepy - 1]) { SetBit(conn_bitmask, 24); } if ((HasBit(P, 61) && plane_data[2 * img.stepy]) || (HasBit(P, 62) && plane_data[2 * img.stepy + 1])) { SetBit(conn_bitmask, 25); } if (HasBit(P, 63) && plane_data[2 * img.stepy + 2]) { SetBit(conn_bitmask, 26); } } else { labels[labels_index] = 0; } // Write connections if (x + 1 < labels.x) { labels[labels_index + 1] = conn_bitmask; } else if (y + 1 < labels.y) { labels[labels_index + labels.stepy / labels.elem_size] = conn_bitmask; } else if (z + 1 < labels.z) { labels[labels_index + labels.stepz / labels.elem_size] = conn_bitmask; } else { *last_voxel_conn = conn_bitmask; } } } __device__ unsigned int MinLabel(unsigned l1, unsigned l2) { if (l1 && l2) return min(l1, l2); else return l1; } __device__ unsigned int FindMinLabel(cuda::PtrStepSz3i labels, unsigned int neighbours, unsigned label, unsigned labels_index) { unsigned int min = label; for (char plane = -2; plane <= 2; plane+=2) { int * plane_data = labels.data + labels_index + plane * (labels.stepz / labels.elem_size); if (HasBit(neighbours, 0)) { min = MinLabel(min, plane_data[0 - 2 * (labels.stepy / labels.elem_size) - 2]); } if (HasBit(neighbours, 1)) { min = MinLabel(min, plane_data[0 - 2 * (labels.stepy / labels.elem_size)]); } if (HasBit(neighbours, 2)) { min = MinLabel(min, plane_data[0 - 2 * (labels.stepy / labels.elem_size) + 2]); } if (HasBit(neighbours, 3)) { min = MinLabel(min, plane_data[-2]); } if (plane && HasBit(neighbours, 4)) { min = MinLabel(min, plane_data[0]); } if (HasBit(neighbours, 5)) { min = MinLabel(min, plane_data[2]); } if (HasBit(neighbours, 6)) { min = MinLabel(min, plane_data[2 * (labels.stepy / labels.elem_size) - 2]); } if (HasBit(neighbours, 7)) { min = MinLabel(min, plane_data[2 * (labels.stepy / labels.elem_size)]); } if (HasBit(neighbours, 8)) { min = MinLabel(min, plane_data[2 * (labels.stepy / labels.elem_size) + 2]); } neighbours >>= 9; } return min; } // Scan phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Scan(cuda::PtrStepSz3i labels, unsigned char *global_changes, const unsigned int* last_voxel_conn) { unsigned x = (blockIdx.x * BLOCK_X + threadIdx.x) * 2; unsigned y = (blockIdx.y * BLOCK_Y + threadIdx.y) * 2; unsigned z = (blockIdx.z * BLOCK_Z + threadIdx.z) * 2; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; __shared__ unsigned char shared_changes; if (threadIdx.x == 0 && threadIdx.y == 0 && threadIdx.z == 0) { shared_changes = 0; } __syncthreads(); if (x < labels.x && y < labels.y && z < labels.z) { unsigned int neighbors; if (x + 1 < labels.x) { neighbors = labels[labels_index + 1]; } else if (y + 1 < labels.y) { neighbors = labels[labels_index + labels.stepy / labels.elem_size]; } else if (z + 1 < labels.z) { neighbors = labels[labels_index + labels.stepz / labels.elem_size]; } else { neighbors = *last_voxel_conn; } unsigned label = labels[labels_index]; if (label) { unsigned min_label = FindMinLabel(labels, neighbors, label, labels_index); if (min_label < label) { labels[label - 1] = min(static_cast(labels[label - 1]), min_label); shared_changes = 1; } } __syncthreads(); if (threadIdx.x == 0 && threadIdx.y == 0 && threadIdx.z == 0 && shared_changes) { *global_changes = 1; } } } __global__ void Analyze(cuda::PtrStepSz3i labels) { unsigned x = (blockIdx.x * BLOCK_X + threadIdx.x) * 2; unsigned y = (blockIdx.y * BLOCK_Y + threadIdx.y) * 2; unsigned z = (blockIdx.z * BLOCK_Z + threadIdx.z) * 2; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { unsigned int val = labels[labels_index]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } // Final Labeling phase // Assigns every pixel of 2x2x2 blocks the block label __global__ void FinalLabeling(cuda::PtrStepSz3i labels, const cuda::PtrStepSz3b img) { unsigned x = (blockIdx.x * BLOCK_X + threadIdx.x) * 2; unsigned y = (blockIdx.y * BLOCK_Y + threadIdx.y) * 2; unsigned z = (blockIdx.z * BLOCK_Z + threadIdx.z) * 2; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; unsigned img_index = z * (img.stepz / img.elem_size) + y * (img.stepy / img.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { unsigned int label = labels[labels_index]; // Current plane if (img[img_index]) { labels[labels_index] = label; } else { labels[labels_index] = 0; } if (x + 1 < labels.x) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (y + 1 < labels.y) { if (img[img_index + img.stepy + 1]) labels[labels_index + (labels.stepy / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.stepy / labels.elem_size) + 1] = 0; } } } if (y + 1 < labels.y) { if (img[img_index + img.stepy]) labels[labels_index + (labels.stepy / labels.elem_size)] = label; else { labels[labels_index + (labels.stepy / labels.elem_size)] = 0; } } // Upper plane if (z + 1 < labels.z) { if (img[img_index + img.stepz / img.elem_size]) labels[labels_index + labels.stepz / labels.elem_size] = label; else { labels[labels_index + labels.stepz / labels.elem_size] = 0; } if (x + 1 < labels.x) { if (img[img_index + img.stepz / img.elem_size + 1]) labels[labels_index + labels.stepz / labels.elem_size + 1] = label; else { labels[labels_index + labels.stepz / labels.elem_size + 1] = 0; } if (y + 1 < labels.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size + 1]) labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size) + 1] = label; else { labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size) + 1] = 0; } } } if (y + 1 < labels.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)] = label; else { labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)] = 0; } } } } } } class BE_3D_LIGHT_SHARED : public GpuLabeling3D { private: dim3 grid_size_; dim3 block_size_; unsigned char changes_; unsigned char *d_changes_; unsigned int* last_voxel_conn_; bool allocated_last_voxel_conn_; cuda::GpuMat3 d_connections_; cuda::GpuMat3 d_block_labels_; public: BE_3D_LIGHT_SHARED() {} void PerformLabeling() { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); // Extra structures that I would gladly do without //d_connections_.create((d_img_.x + 1) / 2, (d_img_.y + 1) / 2, (d_img_.z + 1) / 2, CV_32SC1); //d_block_labels_.create((d_img_.x + 1) / 2, (d_img_.y + 1) / 2, (d_img_.z + 1) / 2, CV_32SC1); // Decide whether last_voxel_ needs specific allocation or not // It only needs it in the case that input volume has 2 or more dimensions equals to 1 allocated_last_voxel_conn_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_voxel_conn_, sizeof(unsigned int)); allocated_last_voxel_conn_ = true; } } // Block (0, 0, 0) has information about block label, block connettivity AND changes. // Its 4 words in slice 0 appear as this: // +---+---+ // |Lab|Con| // +---+---+ // |Cha| | // +---+---+ if (d_img_.x > 1 && d_img_.y > 1 && d_img_.z > 1) { d_changes_ = d_img_labels_.data + d_img_labels_.stepy; } else { // In case of degenerate input, allocate additional byte cudaMalloc(&d_changes_, sizeof(char)); } grid_size_ = dim3(((d_img_.x + 1) / 2 + BLOCK_X - 1) / BLOCK_X, ((d_img_.y + 1) / 2 + BLOCK_Y - 1) / BLOCK_Y, ((d_img_.z + 1) / 2 + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); Init << > > (d_img_, d_img_labels_, last_voxel_conn_); //Mat init_labels; //d_block_labels_.download(init_labels); //::NormalizeLabels(init_labels); //Mat img_out; //ColorLabels(init_labels, img_out); //volwrite("C:\\Users\\Stefano\\Desktop\\debug\\init_labels", img_out); while (true) { changes_ = 0; cudaMemcpy(d_changes_, &changes_, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes_, last_voxel_conn_); cudaMemcpy(&changes_, d_changes_, sizeof(char), cudaMemcpyDeviceToHost); if (!changes_) break; Analyze << > > (d_img_labels_); } //Mat block_labels; //d_block_labels_.download(block_labels); //::NormalizeLabels(block_labels); //ColorLabels(block_labels, img_out); //volwrite("C:\\Users\\Stefano\\Desktop\\debug\\block_labels", img_out); FinalLabeling << > > (d_img_labels_, d_img_); //d_img_labels_.download(img_labels_); if (!(d_img_.x > 1 && d_img_.y > 1 && d_img_.z > 1)) { cudaFree(d_changes_); } //d_connections_.release(); //d_block_labels_.release(); if (allocated_last_voxel_conn_) cudaFree(last_voxel_conn_); cudaDeviceSynchronize(); //d_img_labels_.download(img_labels_); //Mat errors; //bool correct = CheckLabeledVolume(img_, img_labels_, errors); //volwrite("C:\\Users\\Stefano\\Desktop\\debug\\BE_errors", errors); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); // Decide whether last_voxel_ needs specific allocation or not // It only needs it in the case that input volume has 2 or more dimensions equals to 1 allocated_last_voxel_conn_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_voxel_conn_, sizeof(unsigned int)); allocated_last_voxel_conn_ = true; } } if (d_img_.x > 1 && d_img_.y > 1 && d_img_.z > 1) { d_changes_ = d_img_labels_.data + d_img_labels_.stepy; } else { // In case of degenerate input, allocate additional byte cudaMalloc(&d_changes_, sizeof(char)); } perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); if (!(d_img_.x > 1 && d_img_.y > 1 && d_img_.z > 1)) { cudaFree(d_changes_); } if (allocated_last_voxel_conn_) cudaFree(last_voxel_conn_); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3(((d_img_.x + 1) / 2 + BLOCK_X - 1) / BLOCK_X, ((d_img_.y + 1) / 2 + BLOCK_Y - 1) / BLOCK_Y, ((d_img_.z + 1) / 2 + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); Init << > > (d_img_, d_img_labels_, last_voxel_conn_); while (true) { changes_ = 0; cudaMemcpy(d_changes_, &changes_, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes_, last_voxel_conn_); cudaMemcpy(&changes_, d_changes_, sizeof(char), cudaMemcpyDeviceToHost); if (!changes_) break; Analyze << > > (d_img_labels_); } FinalLabeling << > > (d_img_labels_, d_img_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BE_3D_LIGHT_SHARED); ================================================ FILE: cuda/src/labeling_BE_big_tex.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } __device__ __forceinline__ void SetBit(unsigned char &bitmap, unsigned char pos) { bitmap |= (1 << pos); } // Init phase. // Labels start at value 1. __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzb block_conn, cuda::PtrStepSzi block_labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = 2 * row * img.step + 2 * col; unsigned conn_index = row * (block_conn.step / block_conn.elem_size) + col; unsigned labels_index = row * (block_labels.step / block_labels.elem_size) + col; if (row < block_conn.rows && col < block_conn.cols) { unsigned P0 = 0x777; unsigned P = 0; if (img[img_index]) { P |= P0; } if (2 * col + 1 < img.cols) { if (img[img_index + 1]) { P |= (P0 << 1); } if (2 * row + 1 < img.rows && img[img_index + img.step + 1]) { P |= (P0 << 5); } } if (2 * row + 1 < img.rows) { if (img[img_index + img.step]) { P |= (P0 << 4); } } if (col == 0) { P &= 0xEEEE; } if (2 * col + 1 >= img.cols) { P &= 0x3333; } else if (2 * col + 2 >= img.cols) { P &= 0x7777; } if (row == 0) { P &= 0xFFF0; } if (2 * row + 1 >= img.rows) { P &= 0xFF; } else if (2 * row + 2 >= img.rows) { P &= 0xFFF; } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors unsigned char conn_bitmask = 0; if (P > 0) { block_labels[labels_index] = labels_index + 1; if (HasBit(P, 0) && img[img_index - img.step - 1]) { SetBit(conn_bitmask, 0); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { SetBit(conn_bitmask, 1); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { SetBit(conn_bitmask, 2); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 8) && img[img_index + img.step - 1])) { SetBit(conn_bitmask, 3); } if ((HasBit(P, 7) && img[img_index + 2]) || (HasBit(P, 11) && img[img_index + img.step + 2])) { SetBit(conn_bitmask, 4); } if (HasBit(P, 12) && img[img_index + 2 * img.step - 1]) { SetBit(conn_bitmask, 5); } if ((HasBit(P, 13) && img[img_index + 2 * img.step]) || (HasBit(P, 14) && img[img_index + 2 * img.step + 1])) { SetBit(conn_bitmask, 6); } if (HasBit(P, 15) && img[img_index + 2 * img.step + 2]) { SetBit(conn_bitmask, 7); } } else { block_labels[labels_index] = 0; } block_conn[conn_index] = conn_bitmask; } } /*__global__ void ExpandConnections(const cuda::PtrStepSzb connections, cuda::PtrStepSzb expansion) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned conn_index = row * (connections.step / connections.elem_size) + col; unsigned exp_index = 3 * row * (expansion.step / expansion.elem_size) + 3 * col; if (row < connections.rows && col < connections.cols) { expansion[exp_index + (expansion.step / expansion.elem_size) + 1] = 2; unsigned char neighbours = connections[conn_index]; if (HasBit(neighbours, 0)) { expansion[exp_index] = 1; } else { expansion[exp_index] = 0; } if (HasBit(neighbours, 1)) { expansion[exp_index + 1] = 1; } else { expansion[exp_index + 1] = 0; } if (HasBit(neighbours, 2)) { expansion[exp_index + 2] = 1; } else { expansion[exp_index + 2] = 0; } if (HasBit(neighbours, 3)) { expansion[exp_index + (expansion.step / expansion.elem_size)] = 1; } else { expansion[exp_index + (expansion.step / expansion.elem_size)] = 0; } if (HasBit(neighbours, 4)) { expansion[exp_index + (expansion.step / expansion.elem_size) + 2] = 1; } else { expansion[exp_index + (expansion.step / expansion.elem_size) + 2] = 0; } if (HasBit(neighbours, 5)) { expansion[exp_index + 2 * (expansion.step / expansion.elem_size)] = 1; } else { expansion[exp_index + 2 * (expansion.step / expansion.elem_size)] = 0; } if (HasBit(neighbours, 6)) { expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 1] = 1; } else { expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 1] = 0; } if (HasBit(neighbours, 7)) { expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 2] = 1; } else { expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 2] = 0; } } }*/ __device__ unsigned int MinLabel(unsigned l1, unsigned l2) { if (l1 && l2) return min(l1, l2); else return l1; } __device__ unsigned int FindMinLabel(cuda::PtrStepSzi labels, unsigned char neighbours, unsigned label, unsigned labels_index) { unsigned int min = label; if (HasBit(neighbours, 0)) { min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size) - 1]); } if (HasBit(neighbours, 1)) { min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size)]); } if (HasBit(neighbours, 2)) { min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size) + 1]); } if (HasBit(neighbours, 3)) { min = MinLabel(min, labels.data[labels_index - 1]); } if (HasBit(neighbours, 4)) { min = MinLabel(min, labels.data[labels_index + 1]); } if (HasBit(neighbours, 5)) { min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size) - 1]); } if (HasBit(neighbours, 6)) { min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size)]); } if (HasBit(neighbours, 7)) { min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size) + 1]); } return min; } // Scan phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Scan(cuda::PtrStepSzi labels, cuda::PtrStepSzb connections, char *changes) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned connections_index = row * (connections.step / connections.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned char neighbours = connections[connections_index]; unsigned label = labels[labels_index]; if (label) { unsigned min_label = FindMinLabel(labels, neighbours, label, labels_index); if (min_label < label) { labels[label - 1] = min(static_cast(labels[label - 1]), min_label); *changes = 1; } } } } // Analysis phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Analyze(cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { // Performances are the same as the paper variant unsigned index = labels_index; while (label - 1 != index) { index = label - 1; label = labels[index]; } labels[labels_index] = label; } } } // Final Labeling phase // Assigns every pixel of 2x2 blocks the block label __global__ void FinalLabeling(cuda::PtrStepSzi block_labels, cuda::PtrStepSzi labels, const cuda::PtrStepSzb img) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned blocks_index = row * (block_labels.step / block_labels.elem_size) + col; unsigned labels_index = 2 * row * (labels.step / labels.elem_size) + 2 * col; unsigned img_index = 2 * row * (img.step / img.elem_size) + 2 * col; if (row < block_labels.rows && col < block_labels.cols) { unsigned int label = block_labels[blocks_index]; if (img[img_index]) labels[labels_index] = label; else { labels[labels_index] = 0; } if (2 * col + 1 < labels.cols) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (2 * row + 1 < labels.rows) { if (img[img_index + img.step + 1]) labels[labels_index + (labels.step / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.step / labels.elem_size) + 1] = 0; } } } if (2 * row + 1 < labels.rows) { if (img[img_index + img.step]) labels[labels_index + (labels.step / labels.elem_size)] = label; else { labels[labels_index + (labels.step / labels.elem_size)] = 0; } } } } } class BE_TEX : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; char changes; char *d_changes; cuda::GpuMat d_connections_; cuda::GpuMat d_block_labels_; public: BE_TEX() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); // Extra structures that I would gladly do without d_connections_.create((d_img_.rows + 1) / 2, (d_img_.cols + 1) / 2, CV_8UC1); d_block_labels_.create((d_img_.rows + 1) / 2, (d_img_.cols + 1) / 2, CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); grid_size_ = dim3((d_connections_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_connections_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > >(d_img_, d_connections_, d_block_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_block_labels_, d_connections_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_block_labels_); } //Mat1i block_labels; //d_block_labels_.download(block_labels); FinalLabeling << > >(d_block_labels_, d_img_labels_, d_img_); //d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); cudaFree(d_changes); d_connections_.release(); d_block_labels_.release(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); d_connections_.create((d_img_.rows + 1) / 2, (d_img_.cols + 1) / 2, CV_8UC1); d_block_labels_.create((d_img_.rows + 1) / 2, (d_img_.cols + 1) / 2, CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); cudaFree(d_changes); d_connections_.release(); d_block_labels_.release(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((d_connections_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_connections_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > >(d_img_, d_connections_, d_block_labels_); // La Init esplode // Controlla che cosa contiene connections //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //assert(cudaDeviceSynchronize() == cudaSuccess); //Immagine di debug della inizializzazione //Mat1i init_labels; //d_block_labels_.download(init_labels); while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_block_labels_, d_connections_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_block_labels_); } // Immagine di debug delle label dei blocchi //Mat1i block_labels; //d_block_labels_.download(block_labels); FinalLabeling << > >(d_block_labels_, d_img_labels_, d_img_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BE_TEX); ================================================ FILE: cuda/src/labeling_BE_light.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; // Algorithm itself has good performances, but memory allocation is a problem. // I will try to reduce it. namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } __device__ __forceinline__ void SetBit(unsigned char &bitmap, unsigned char pos) { bitmap |= (1 << pos); } __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels, unsigned char *last_pixel) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned P0 = 0x777; unsigned P = 0; if (img[img_index]) { P |= P0; } if (col + 1 < img.cols) { if (img[img_index + 1]) { P |= (P0 << 1); } if (row + 1 < img.rows && img[img_index + img.step + 1]) { P |= (P0 << 5); } } if (row + 1 < img.rows) { if (img[img_index + img.step]) { P |= (P0 << 4); } } if (col == 0) { P &= 0xEEEE; } if (col + 1 >= img.cols) { P &= 0x3333; } else if (col + 2 >= img.cols) { P &= 0x7777; } if (row == 0) { P &= 0xFFF0; } if (row + 1 >= img.rows) { P &= 0xFF; } else if (row + 2 >= img.rows) { P &= 0xFFF; } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors unsigned char conn_bitmask = 0; if (P > 0) { labels[labels_index] = labels_index + 1; if (HasBit(P, 0) && img[img_index - img.step - 1]) { SetBit(conn_bitmask, 0); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { SetBit(conn_bitmask, 1); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { SetBit(conn_bitmask, 2); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 8) && img[img_index + img.step - 1])) { SetBit(conn_bitmask, 3); } if ((HasBit(P, 7) && img[img_index + 2]) || (HasBit(P, 11) && img[img_index + img.step + 2])) { SetBit(conn_bitmask, 4); } if (HasBit(P, 12) && img[img_index + 2 * img.step - 1]) { SetBit(conn_bitmask, 5); } if ((HasBit(P, 13) && img[img_index + 2 * img.step]) || (HasBit(P, 14) && img[img_index + 2 * img.step + 1])) { SetBit(conn_bitmask, 6); } if (HasBit(P, 15) && img[img_index + 2 * img.step + 2]) { SetBit(conn_bitmask, 7); } } else { labels[labels_index] = 0; } // Connection bitmask is stored in the north-east int of every block // If columns are odd, in the last column, it's stored in the south-west of every block instead // If columns are odd and rows are odd, it's stored in *last_pixel if (col + 1 < labels.cols) labels[labels_index + 1] = conn_bitmask; else if (row + 1 < labels.rows) labels[labels_index + (labels.step / labels.elem_size)] = conn_bitmask; else *last_pixel = conn_bitmask; } } __device__ unsigned int MinLabel(unsigned l1, unsigned l2) { if (l1 && l2) return min(l1, l2); else return l1; } __device__ unsigned int FindMinLabel(cuda::PtrStepSzi labels, unsigned char neighbours, unsigned label, unsigned labels_index) { unsigned int min = label; if (HasBit(neighbours, 0)) { min = MinLabel(min, labels.data[labels_index - 2 * (labels.step / labels.elem_size) - 2]); } if (HasBit(neighbours, 1)) { min = MinLabel(min, labels.data[labels_index - 2 * (labels.step / labels.elem_size)]); } if (HasBit(neighbours, 2)) { min = MinLabel(min, labels.data[labels_index - 2 * (labels.step / labels.elem_size) + 2]); } if (HasBit(neighbours, 3)) { min = MinLabel(min, labels.data[labels_index - 2]); } if (HasBit(neighbours, 4)) { min = MinLabel(min, labels.data[labels_index + 2]); } if (HasBit(neighbours, 5)) { min = MinLabel(min, labels.data[labels_index + 2 * (labels.step / labels.elem_size) - 2]); } if (HasBit(neighbours, 6)) { min = MinLabel(min, labels.data[labels_index + 2 * (labels.step / labels.elem_size)]); } if (HasBit(neighbours, 7)) { min = MinLabel(min, labels.data[labels_index + 2 * (labels.step / labels.elem_size) + 2]); } return min; } __global__ void Scan(cuda::PtrStepSzi labels, unsigned char *changes, unsigned char *last_pixel) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned char neighbours; if (col + 1 < labels.cols) neighbours = labels[labels_index + 1]; else if (row + 1 < labels.rows) neighbours = labels[labels_index + (labels.step / labels.elem_size)]; else neighbours = *last_pixel; unsigned label = labels[labels_index]; if (label) { unsigned min_label = FindMinLabel(labels, neighbours, label, labels_index); if (min_label < label) { labels[label - 1] = min(static_cast(labels[label - 1]), min_label); *changes = 1; } } } } __global__ void Analyze(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { // Performances are the same as the paper variant unsigned index = labels_index; while (label - 1 != index) { index = label - 1; label = labels[index]; } labels[labels_index] = label; } } } __global__ void FinalLabeling(cuda::PtrStepSzi labels, const cuda::PtrStepSzb img) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned img_index = row * (img.step / img.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned int label = labels[labels_index]; if (img[img_index]) {} // labels[labels_index] = label; else { labels[labels_index] = 0; } if (col + 1 < labels.cols) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (row + 1 < labels.rows) { if (img[img_index + img.step + 1]) labels[labels_index + (labels.step / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.step / labels.elem_size) + 1] = 0; } } } if (row + 1 < labels.rows) { if (img[img_index + img.step]) labels[labels_index + (labels.step / labels.elem_size)] = label; else { labels[labels_index + (labels.step / labels.elem_size)] = 0; } } } } } class BE_LIGHT : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; char changes_; unsigned char *d_changes_; bool d_changed_alloc_ = false; unsigned char *last_pixel_; public: BE_LIGHT() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); if (d_img_.rows == 1) { if (d_img_.cols == 1) { d_img_.convertTo(d_img_labels_, CV_32SC1); return; } else if (d_img_.cols % 2) { cudaMalloc(&d_changes_, sizeof(unsigned char) * 2); d_changed_alloc_ = true; last_pixel_ = d_changes_ + 1; } else { cudaMalloc(&d_changes_, sizeof(unsigned char)); d_changed_alloc_ = true; } } else if (d_img_.cols == 1) { if (d_img_.rows % 2) { cudaMalloc(&d_changes_, sizeof(unsigned char) * 2); d_changed_alloc_ = true; last_pixel_ = d_changes_ + 1; } else { cudaMalloc(&d_changes_, sizeof(unsigned char)); d_changed_alloc_ = true; } } else { d_changes_ = d_img_labels_.data + d_img_labels_.step; last_pixel_ = d_img_labels_.data + d_img_labels_.step + sizeof(unsigned int); } grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > >(d_img_, d_img_labels_, last_pixel_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); while (true) { changes_ = 0; cudaMemcpy(d_changes_, &changes_, sizeof(unsigned char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes_, last_pixel_); cudaMemcpy(&changes_, d_changes_, sizeof(unsigned char), cudaMemcpyDeviceToHost); if (!changes_) break; Analyze << > > (d_img_labels_); } //Mat1i block_info_final; //d_img_labels_.download(block_info_final); /*if ((img_.rows % 2) && (img_.cols % 2)) LastPixel << <1, 1 >> > (d_img_labels_, last_pixel_); */ FinalLabeling << > >(d_img_labels_, d_img_); // d_img_labels_.download(img_labels_); if (d_changed_alloc_) cudaFree(d_changes_); } private: bool Alloc() { d_img_labels_.create(d_img_.size(), CV_32SC1); if (d_img_.rows == 1) { if (d_img_.cols == 1) { d_img_.convertTo(d_img_labels_, CV_32SC1); return true; } else if (d_img_.cols % 2) { cudaMalloc(&d_changes_, sizeof(unsigned char) * 2); last_pixel_ = d_changes_ + 1; } else { cudaMalloc(&d_changes_, sizeof(unsigned char)); } } else if (d_img_.cols == 1) { if (d_img_.rows % 2) { cudaMalloc(&d_changes_, sizeof(unsigned char) * 2); last_pixel_ = d_changes_ + 1; } else { cudaMalloc(&d_changes_, sizeof(unsigned char)); } } else { d_changes_ = d_img_labels_.data + d_img_labels_.step; last_pixel_ = d_img_labels_.data + d_img_labels_.step + sizeof(unsigned int); } return false; } void Dealloc() { if (d_changed_alloc_) cudaFree(d_changes_); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { last_pixel_ = d_changes_ + 1; grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > >(d_img_, d_img_labels_, last_pixel_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); while (true) { changes_ = 0; cudaMemcpy(d_changes_, &changes_, sizeof(unsigned char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes_, last_pixel_); cudaMemcpy(&changes_, d_changes_, sizeof(unsigned char), cudaMemcpyDeviceToHost); if (!changes_) break; Analyze << > > (d_img_labels_); } //Mat1i block_labels; //d_block_labels_.download(block_labels); FinalLabeling << > >(d_img_labels_, d_img_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { perf_.start(); bool done = Alloc(); perf_.stop(); double alloc_timing = perf_.last(); if (!done) { perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); } perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BE_LIGHT); ================================================ FILE: cuda/src/labeling_BKE_NoInlineCompression.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // // This is a block-based algorithm. // Blocks are 2x2 sized, with internal pixels named as: // +---+ // |a b| // |c d| // +---+ // // Neighbour blocks of block X are named as: // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // enum class Info : unsigned char { a = 0, b = 1, c = 2, d = 3, P = 4, Q = 5, R = 6, S = 7 }; // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, Info pos) { return (bitmap >> static_cast(pos)) & 1; } template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } // Only use it with unsigned numeric types __device__ __forceinline__ void SetBit(unsigned char& bitmap, Info pos) { bitmap |= (1 << static_cast(pos)); } // Returns the root index of the UFTree __device__ unsigned Find(const int* s_buf, unsigned n) { while (s_buf[n] != n) { n = s_buf[n]; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int* s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void InitLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels, unsigned char* last_pixel) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned P = 0; // Bitmask representing two kinds of information // Bits 0, 1, 2, 3 are set if pixel a, b, c, d are foreground, respectively // Bits 4, 5, 6, 7 are set if block P, Q, R, S need to be merged to X in Merge phase unsigned char info = 0; uint32_t buffer_int = 0; uint8_t* const buffer = reinterpret_cast(&buffer_int); // Read pairs of consecutive values in memory at once if (col + 1 < img.cols) { // This does not depend on endianness *(reinterpret_cast(buffer)) = *(reinterpret_cast(img.data + img_index)); if (row + 1 < img.rows) { *(reinterpret_cast(buffer + 2)) = *(reinterpret_cast(img.data + img_index + img.step)); } } else { buffer[0] = img.data[img_index]; if (row + 1 < img.rows) { buffer[2] = img.data[img_index + img.step]; } } if (buffer[0]) { P |= 0x777; SetBit(info, Info::a); } if (buffer[1]) { P |= (0x777 << 1); SetBit(info, Info::b); } if (buffer[2]) { P |= (0x777 << 4); SetBit(info, Info::c); } if (buffer[3]) { SetBit(info, Info::d); } if (col == 0) { P &= 0xEEEE; } if (col + 1 >= img.cols) { P &= 0x3333; } else if (col + 2 >= img.cols) { P &= 0x7777; } if (row == 0) { P &= 0xFFF0; } if (row + 1 >= img.rows) { P &= 0x00FF; } else if (row + 2 >= img.rows) { P &= 0x0FFF; } // P is now ready to be used to find neighbour blocks // P value avoids range errors int father_offset = 0; // P square if (HasBit(P, 0) && img.data[img_index - img.step - 1]) { father_offset = -(2 * (labels.step / labels.elem_size) + 2); } // Q square if ((HasBit(P, 1) && img.data[img_index - img.step]) || (HasBit(P, 2) && img.data[img_index + 1 - img.step])) { if (!father_offset) { father_offset = -(2 * (labels.step / labels.elem_size)); } else { SetBit(info, Info::Q); } } // R square if (HasBit(P, 3) && img.data[img_index + 2 - img.step]) { if (!father_offset) { father_offset = -(2 * (labels.step / labels.elem_size) - 2); } else { SetBit(info, Info::R); } } // S square if ((HasBit(P, 4) && img.data[img_index - 1]) || (HasBit(P, 8) && img.data[img_index + img.step - 1])) { if (!father_offset) { father_offset = -2; } else { SetBit(info, Info::S); } } labels.data[labels_index] = labels_index + father_offset; if (col + 1 < labels.cols) { last_pixel = reinterpret_cast(labels.data + labels_index + 1); } else if (row + 1 < labels.rows) { last_pixel = reinterpret_cast(labels.data + labels_index + labels.step / labels.elem_size); } *last_pixel = info; } } __global__ void Merge(cuda::PtrStepSzi labels, unsigned char* last_pixel) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { if (col + 1 < labels.cols) { last_pixel = reinterpret_cast(labels.data + labels_index + 1); } else if (row + 1 < labels.rows) { last_pixel = reinterpret_cast(labels.data + labels_index + labels.step / labels.elem_size); } unsigned char info = *last_pixel; if (HasBit(info, Info::Q)) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size)); } if (HasBit(info, Info::R)) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) + 2); } if (HasBit(info, Info::S)) { Union(labels.data, labels_index, labels_index - 2); } } } __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels.data[labels_index]; if (label < labels_index) { labels[labels_index] = Find(labels.data, label); } } } __global__ void FinalLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels, unsigned char* last_pixel) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { int label; unsigned char info; unsigned long long buffer; if (col + 1 < labels.cols) { buffer = *reinterpret_cast(labels.data + labels_index); label = (buffer & (0xFFFFFFFF)) + 1; info = (buffer >> 32) & 0xFFFFFFFF; } else { label = labels[labels_index] + 1; if (row + 1 < labels.rows) { info = labels[labels_index + labels.step / labels.elem_size]; } else { info = *last_pixel; } } if (col + 1 < labels.cols) { *reinterpret_cast(labels.data + labels_index) = (static_cast(HasBit(info, Info::b) * label) << 32) | (HasBit(info, Info::a) * label); if (row + 1 < labels.rows) { *reinterpret_cast(labels.data + labels_index + labels.step / labels.elem_size) = (static_cast(HasBit(info, Info::d) * label) << 32) | (HasBit(info, Info::c) * label); } } else { labels[labels_index] = HasBit(info, Info::a) * label; if (row + 1 < labels.rows) { labels[labels_index + (labels.step / labels.elem_size)] = HasBit(info, Info::c) * label; } } } } } class BKE : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; unsigned char* last_pixel_; bool last_pixel_allocated_; public: BKE() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); last_pixel_allocated_ = false; if ((d_img_.rows == 1 || d_img_.cols == 1) && !((d_img_.rows + d_img_.cols) % 2)) { cudaMalloc(&last_pixel_, sizeof(unsigned char)); last_pixel_allocated_ = true; } else { last_pixel_ = d_img_labels_.data + ((d_img_labels_.rows - 2) * d_img_labels_.step) + (d_img_labels_.cols - 2) * d_img_labels_.elemSize(); } grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_, d_img_labels_, last_pixel_); //Mat1i init_blocks; //d_img_labels_.download(init_blocks); //cuda::GpuMat d_init_labels = d_img_labels_.clone(); //FinalLabeling << > > (d_img_, d_init_labels); //Mat1i init_labels; //d_init_labels.download(init_labels); //d_init_labels.release(); Compression << > > (d_img_labels_); //Mat1i compr_blocks; //d_img_labels_.download(compr_blocks); //cuda::GpuMat d_compr_labels = d_img_labels_.clone(); //FinalLabeling << > > (d_img_, d_compr_labels); //Mat1i compr_labels; //d_compr_labels.download(compr_labels); //d_compr_labels.release(); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); Merge << > > (d_img_labels_, last_pixel_); //Mat1i merge_blocks; //d_img_labels_.download(merge_blocks); //cuda::GpuMat d_merge_labels = d_img_labels_.clone(); //FinalLabeling << > > (d_img_, d_merge_labels); //Mat1i merge_labels; //d_merge_labels.download(merge_labels); //d_merge_labels.release(); Compression << > > (d_img_labels_); //Mat1i final_blocks; //d_img_labels_.download(final_blocks); FinalLabeling << > > (d_img_, d_img_labels_, last_pixel_); //d_img_labels_.download(img_labels_); if (last_pixel_allocated_) { cudaFree(last_pixel_); } cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.size(), CV_32SC1); last_pixel_allocated_ = false; if ((d_img_.rows == 1 || d_img_.cols == 1) && !((d_img_.rows + d_img_.cols) % 2)) { cudaMalloc(&last_pixel_, sizeof(unsigned char)); last_pixel_allocated_ = true; } else { last_pixel_ = d_img_labels_.data + ((d_img_labels_.rows - 2) * d_img_labels_.step) + (d_img_labels_.cols - 2) * d_img_labels_.elemSize(); } grid_size_ = dim3((((d_img_.cols + 1) / 2) + x - 1) / x, (((d_img_.rows + 1) / 2) + y - 1) / y, 1); block_size_ = dim3(x, y, 1); BLOCKSIZE_KERNEL(InitLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_, last_pixel_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(Merge, grid_size_, block_size_, 0, d_img_labels_, last_pixel_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(FinalLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_, last_pixel_) if (last_pixel_allocated_) { cudaFree(last_pixel_); } } private: void Alloc() { d_img_labels_.create(d_img_.size(), CV_32SC1); if ((d_img_.rows == 1 || d_img_.cols == 1) && !((d_img_.rows + d_img_.cols) % 2)) { cudaMalloc(&last_pixel_, sizeof(unsigned char)); last_pixel_allocated_ = true; } else { last_pixel_ = d_img_labels_.data + ((d_img_labels_.rows - 2) * d_img_labels_.step) + (d_img_labels_.cols - 2) * d_img_labels_.elemSize(); } } void Dealloc() { if (last_pixel_allocated_) { cudaFree(last_pixel_); } } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_, d_img_labels_, last_pixel_); Compression << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_labels_, last_pixel_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_, last_pixel_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { perf_.start(); Alloc(); perf_.stop(); double alloc_timing = perf_.last(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BKE); REGISTER_KERNELS(BKE, InitLabeling, Compression, Merge, FinalLabeling) ================================================ FILE: cuda/src/labeling_BUF_2S.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // This algorithm is a variation of BUF divided into two stages. // Initially, CCL il performed on separated blocks using shared memory. // Then, labels on block borders are merged. // This algorithm pewrforms worse then original BUF on every dataset, at least when using Nvidia Quadro 2200K. #define BLOCK_ROWS 32 #define BLOCK_COLS 32 using namespace cv; // Algorithm itself has good performances, but memory allocation is a problem. // I will try to reduce it. namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } //__device__ __forceinline__ void SetBit(unsigned char &bitmap, unsigned char pos) { // bitmap |= (1 << pos); //} // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { // Warning: do not call Find on a background pixel while (s_buf[n] != n) { n = s_buf[n]; } return n; } __device__ unsigned FindAndCompress(int *s_buf, unsigned n) { unsigned id = n; while (s_buf[n] != n) { n = s_buf[n]; s_buf[id] = n; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; __shared__ int buf[BLOCK_ROWS * BLOCK_COLS]; unsigned buf_index = threadIdx.y * BLOCK_COLS + threadIdx.x; if (row < labels.rows && col < labels.cols) { buf[buf_index] = buf_index; } __syncthreads(); if (row < labels.rows && col < labels.cols) { // 0|1 2|3 // --+---+-- // 4|A B| // 5|C D| // --+---+ unsigned char P = 0; if ((threadIdx.x > 0 || threadIdx.y > 0)) { if (img[img_index]) { P |= 0x37; // 00110111 } } if ((threadIdx.y > 0 || threadIdx.x < BLOCK_COLS - 1) && (col + 1 < img.cols)) { if (img[img_index + 1]) { P |= 0x0E; // 00001110 } } if ((threadIdx.x > 0) && (row + 1 < img.rows)) { if (img[img_index + img.step]) { P |= 0x30; // 00110000 } } if (threadIdx.x == 0) { P &= 0xCE; // 11001110 } if (col + 1 >= img.cols) { P &= 0xF3; // 11110011 } else if ((threadIdx.x + 1 == BLOCK_COLS) || (col + 2 >= img.cols)) { P &= 0xF7; // 11110111 } if (threadIdx.y == 0) { P &= 0xF0; // 11110000 } if (row + 1 >= img.rows) { P &= 0xDF; // 11011111 } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors if (P > 0) { if (HasBit(P, 0) && img[img_index - img.step - 1]) { Union(buf, buf_index, buf_index - BLOCK_COLS - 1); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { Union(buf, buf_index, buf_index - BLOCK_COLS); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { Union(buf, buf_index, buf_index + 1 - BLOCK_COLS); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 5) && img[img_index + img.step - 1])) { Union(buf, buf_index, buf_index - 1); } } } __syncthreads(); // Local compression if (row < labels.rows && col < labels.cols) { unsigned f = FindAndCompress(buf, buf_index); unsigned f_row = f / BLOCK_COLS; unsigned f_col = f % BLOCK_COLS; unsigned global_f = 2 * (blockIdx.y * BLOCK_ROWS + f_row) * (labels.step / labels.elem_size) + 2 * (blockIdx.x * BLOCK_COLS + f_col); labels.data[labels_index] = global_f; } } __global__ void GlobalMerge(cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned char P = 0; if (((threadIdx.x == 0 && col > 0) || (threadIdx.y == 0 && row > 0))) { if (img[img_index]) { P |= 0x37; // 00110111 } } if (((threadIdx.y == 0 && row > 0) || (threadIdx.x == BLOCK_COLS - 1 && col + 2 < img.cols)) && (col + 1 < img.cols)) { if (img[img_index + 1]) { P |= 0x0E; // 00001110 } } if ((threadIdx.x == 0 && col > 0) && (row + 1 < img.rows)) { if (img[img_index + img.step]) { P |= 0x30; // 00110000 } } if (col == 0) { P &= 0xCE; // 11001110 } if (col + 1 >= img.cols) { P &= 0xF3; // 11110011 } else if (col + 2 >= img.cols) { P &= 0xF7; // 11110111 } if (row == 0) { P &= 0xF0; // 11110000 } if (row + 1 >= img.rows) { P &= 0xDF; // 11011111 } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors if (P > 0) { if (HasBit(P, 0) && img[img_index - img.step - 1]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) - 2); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size)); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) + 2); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 5) && img[img_index + img.step - 1])) { Union(labels.data, labels_index, labels_index - 2); } } } } __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { //labels[labels_index] = Find(labels.data, labels_index); FindAndCompress(labels.data, labels_index); } } __global__ void FinalLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned img_index = row * (img.step / img.elem_size) + col; if (row < labels.rows && col < labels.cols) { int label = labels[labels_index] + 1; if (img[img_index]) labels[labels_index] = label; else { labels[labels_index] = 0; } if (col + 1 < labels.cols) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (row + 1 < labels.rows) { if (img[img_index + img.step + 1]) labels[labels_index + (labels.step / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.step / labels.elem_size) + 1] = 0; } } } if (row + 1 < labels.rows) { if (img[img_index + img.step]) labels[labels_index + (labels.step / labels.elem_size)] = label; else { labels[labels_index + (labels.step / labels.elem_size)] = 0; } } } } } class BUF_2S : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: BUF_2S() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i local_labels; //cuda::GpuMat d_local_merge; //d_img_labels_.copyTo(d_local_merge); //FinalLabeling << > > (d_img_, d_local_merge); //d_local_merge.download(local_labels); GlobalMerge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); //d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } private: void Alloc() { d_img_labels_.create(d_img_.size(), CV_32SC1); } void Dealloc() { } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); GlobalMerge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { perf_.start(); Alloc(); perf_.stop(); double alloc_timing = perf_.last(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BUF_2S); ================================================ FILE: cuda/src/labeling_BUF_3D_NoInlineCompression.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_X 8 #define BLOCK_Y 4 #define BLOCK_Z 4 using namespace cv; namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } // Only use it with unsigned numeric types //template //__device__ __forceinline__ void SetBit(T &bitmap, unsigned char pos) { // bitmap |= (1 << pos); //} // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { while (s_buf[n] != n) { n = s_buf[n]; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void InitLabeling(cuda::PtrStepSz3i labels) { unsigned x = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned y = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned z = (blockIdx.z * blockDim.z + threadIdx.z) * 2; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { labels[labels_index] = labels_index; } } __global__ void Merge(const cuda::PtrStepSz3b img, cuda::PtrStepSz3i labels, unsigned char* last_cube_fg) { unsigned x = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned y = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned z = (blockIdx.z * blockDim.z + threadIdx.z) * 2; unsigned img_index = z * (img.stepz / img.elem_size) + y * (img.stepy / img.elem_size) + x; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { const unsigned long long P0 = 0x77707770777; unsigned long long P = 0ULL; unsigned char foreground = 0; unsigned short buffer; { if (x + 1 < img.x) { buffer = *reinterpret_cast(img.data + img_index); if (buffer & 1) { P |= P0; foreground |= 1; } if (buffer & (1 << 8)) { P |= (P0 << 1); foreground |= (1 << 1); } if (y + 1 < img.y) { buffer = *reinterpret_cast(img.data + img_index + img.stepy / img.elem_size); if (buffer & 1) { P |= (P0 << 4); foreground |= (1 << 2); } if (buffer & (1 << 8)) { P |= (P0 << 5); foreground |= (1 << 3); } } if (z + 1 < img.z) { buffer = *reinterpret_cast(img.data + img_index + img.stepz / img.elem_size); if (buffer & 1) { P |= (P0 << 16); foreground |= (1 << 4); } if (buffer & (1 << 8)) { P |= (P0 << 17); foreground |= (1 << 5); } if (y + 1 < img.y) { buffer = *reinterpret_cast(img.data + img_index + img.stepz / img.elem_size + img.stepy / img.elem_size); if (buffer & 1) { P |= (P0 << 20); foreground |= (1 << 6); } if (buffer & (1 << 8)) { P |= (P0 << 21); foreground |= (1 << 7); } } } } else { if (img[img_index]) { P |= P0; foreground |= 1; } if (y + 1 < labels.y) { if (img[img_index + img.stepy / img.elem_size]) { P |= (P0 << 4); foreground |= (1 << 2); } } if (z + 1 < labels.z) { if (img[img_index + img.stepz / img.elem_size]) { P |= (P0 << 16); foreground |= (1 << 4); } if (y + 1 < labels.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) { P |= (P0 << 20); foreground |= (1 << 6); } } } } } /* { if (img[img_index]) { P |= P0; foreground |= 1; } if (x + 1 < img.x) { if (img[img_index + 1]) { P |= (P0 << 1); foreground |= (1 << 1); } if (y + 1 < img.y && img[img_index + img.stepy / img.elem_size + 1]) { P |= (P0 << 5); foreground |= (1 << 3); } } if (y + 1 < img.y) { if (img[img_index + img.stepy / img.elem_size]) { P |= (P0 << 4); foreground |= (1 << 2); } } if (z + 1 < img.z) { if (img[img_index + img.stepz / img.elem_size]) { P |= (P0 << 16); foreground |= (1 << 4); } if (x + 1 < img.x) { if (img[img_index + img.stepz / img.elem_size + 1]) { P |= (P0 << 17); foreground |= (1 << 5); } if (y + 1 < img.y && img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size + 1]) { P |= (P0 << 21); foreground |= (1 << 7); } } if (y + 1 < img.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) { P |= (P0 << 20); foreground |= (1 << 6); } } } }*/ // Store foreground voxels bitmask into memory if (x + 1 < labels.x) { labels[labels_index + 1] = foreground; } else if (y + 1 < labels.y) { labels[labels_index + labels.stepy / labels.elem_size] = foreground; } else if (z + 1 < labels.z) { labels[labels_index + labels.stepz / labels.elem_size] = foreground; } else { *last_cube_fg = foreground; } // checks on borders if (x == 0) { P &= 0xEEEEEEEEEEEEEEEE; } if (x + 1 >= img.x) { P &= 0x3333333333333333; } else if (x + 2 >= img.x) { P &= 0x7777777777777777; } if (y == 0) { P &= 0xFFF0FFF0FFF0FFF0; } if (y + 1 >= img.y) { P &= 0x00FF00FF00FF00FF; } else if (y + 2 >= img.y) { P &= 0x0FFF0FFF0FFF0FFF; } if (z == 0) { P &= 0xFFFFFFFFFFFF0000; } if (z + 1 >= img.z) { P &= 0x00000000FFFFFFFF; } //else if (z + 2 >= img.z) { // P &= 0x0000FFFFFFFFFFFF; //} // P is now ready to be used to find neighbour blocks // P value avoids range errors if (P > 0) { // Lower plane unsigned char * plane_data = img.data + img_index - img.stepz; unsigned lower_plane_index = labels_index - 2 * (labels.stepz / labels.elem_size); if (HasBit(P, 0) && plane_data[0 - img.stepy - 1]) { Union(labels.data, labels_index, lower_plane_index - 2 * (labels.stepy / labels.elem_size + 1)); } if ((HasBit(P, 1) && plane_data[0 - img.stepy]) || (HasBit(P, 2) && plane_data[0 - img.stepy + 1])) { Union(labels.data, labels_index, lower_plane_index - 2 * (labels.stepy / labels.elem_size)); } if (HasBit(P, 3) && plane_data[0 - img.stepy + 2]) { Union(labels.data, labels_index, lower_plane_index - 2 * (labels.stepy / labels.elem_size - 1)); } if ((HasBit(P, 4) && plane_data[-1]) || (HasBit(P, 8) && plane_data[img.stepy - 1])) { Union(labels.data, labels_index, lower_plane_index - 2); } if ((HasBit(P, 5) && plane_data[0]) || (HasBit(P, 6) && plane_data[1]) || (HasBit(P, 9) && plane_data[img.stepy]) || (HasBit(P, 10) && plane_data[img.stepy + 1])) { Union(labels.data, labels_index, lower_plane_index); } if ((HasBit(P, 7) && plane_data[2]) || (HasBit(P, 11) && plane_data[img.stepy + 2])) { Union(labels.data, labels_index, lower_plane_index + 2); } if (HasBit(P, 12) && plane_data[2 * img.stepy - 1]) { Union(labels.data, labels_index, lower_plane_index + 2 * (labels.stepy / labels.elem_size - 1)); } if ((HasBit(P, 13) && plane_data[2 * img.stepy]) || (HasBit(P, 14) && plane_data[2 * img.stepy + 1])) { Union(labels.data, labels_index, lower_plane_index + 2 * (labels.stepy / labels.elem_size)); } if (HasBit(P, 15) && plane_data[2 * img.stepy + 2]) { Union(labels.data, labels_index, lower_plane_index + 2 * (labels.stepy / labels.elem_size + 1)); } // Current planes plane_data += img.stepz; if ((HasBit(P, 16) && plane_data[0 - img.stepy - 1]) || (HasBit(P, 32) && plane_data[img.stepz - img.stepy - 1])) { Union(labels.data, labels_index, labels_index - 2 * (labels.stepy / labels.elem_size + 1)); } if ((HasBit(P, 17) && plane_data[0 - img.stepy]) || (HasBit(P, 18) && plane_data[0 - img.stepy + 1]) || (HasBit(P, 33) && plane_data[img.stepz - img.stepy]) || (HasBit(P, 34) && plane_data[img.stepz - img.stepy + 1])) { Union(labels.data, labels_index, labels_index - 2 * (labels.stepy / labels.elem_size)); } if ((HasBit(P, 19) && plane_data[0 - img.stepy + 2]) || (HasBit(P, 35) && plane_data[img.stepz - img.stepy + 2])) { Union(labels.data, labels_index, labels_index - 2 * (labels.stepy / labels.elem_size - 1)); } if ((HasBit(P, 20) && plane_data[-1]) || (HasBit(P, 24) && plane_data[img.stepy - 1]) || (HasBit(P, 36) && plane_data[img.stepz - 1]) || (HasBit(P, 40) && plane_data[img.stepz + img.stepy - 1])) { Union(labels.data, labels_index, labels_index - 2); } } } } __global__ void PathCompression(cuda::PtrStepSz3i labels) { unsigned x = 2 * (blockIdx.x * blockDim.x + threadIdx.x); unsigned y = 2 * (blockIdx.y * blockDim.y + threadIdx.y); unsigned z = 2 * (blockIdx.z * blockDim.z + threadIdx.z); unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { int val = labels[labels_index]; if (val < labels_index) { labels[labels_index] = Find(labels.data, val); } } } __global__ void FinalLabeling(const cuda::PtrStepSz3b img, cuda::PtrStepSz3i labels, unsigned char* last_cube_fg) { unsigned x = 2 * (blockIdx.x * blockDim.x + threadIdx.x); unsigned y = 2 * (blockIdx.y * blockDim.y + threadIdx.y); unsigned z = 2 * (blockIdx.z * blockDim.z + threadIdx.z); unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { int label; unsigned char foreground; unsigned long long buffer; if (x + 1 < labels.x) { buffer = *reinterpret_cast(labels.data + labels_index); label = (buffer & (0xFFFFFFFF)) + 1; foreground = (buffer >> 32) & 0xFFFFFFFF; } else { label = labels[labels_index] + 1; if (y + 1 < labels.y) { foreground = labels[labels_index + labels.stepy / labels.elem_size]; } else if (z + 1 < labels.z) { foreground = labels[labels_index + labels.stepz / labels.elem_size]; } else { foreground = *last_cube_fg; } } if (x + 1 < labels.x) { *reinterpret_cast(labels.data + labels_index) = (static_cast(((foreground >> 1) & 1) * label) << 32) | (((foreground >> 0) & 1) * label); if (y + 1 < labels.y) { *reinterpret_cast(labels.data + labels_index + labels.stepy / labels.elem_size) = (static_cast(((foreground >> 3) & 1) * label) << 32) | (((foreground >> 2) & 1) * label); } if (z + 1 < labels.z) { *reinterpret_cast(labels.data + labels_index + labels.stepz / labels.elem_size) = (static_cast(((foreground >> 5) & 1) * label) << 32) | (((foreground >> 4) & 1) * label); if (y + 1 < labels.y) { *reinterpret_cast(labels.data + labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)) = (static_cast(((foreground >> 7) & 1) * label) << 32) | (((foreground >> 6) & 1) * label); } } } else { labels[labels_index] = ((foreground >> 0) & 1) * label; if (y + 1 < labels.y) { labels[labels_index + (labels.stepy / labels.elem_size)] = ((foreground >> 2) & 1) * label; } if (z + 1 < labels.z) { labels[labels_index + labels.stepz / labels.elem_size] = ((foreground >> 4) & 1) * label; if (y + 1 < labels.y) { labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)] = ((foreground >> 6) & 1) * label; } } } } } } class BUF_3D : public GpuLabeling3D { private: dim3 grid_size_; dim3 block_size_; unsigned char* last_cube_fg_; bool allocated_last_cude_fg_; public: BUF_3D() {} void PerformLabeling() { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); allocated_last_cude_fg_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_cube_fg_, sizeof(unsigned char)); allocated_last_cude_fg_ = true; } } grid_size_ = dim3(((d_img_.x + 1) / 2 + BLOCK_X - 1) / BLOCK_X, ((d_img_.y + 1) / 2 + BLOCK_Y - 1) / BLOCK_Y, ((d_img_.z + 1) / 2 + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); InitLabeling << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_, last_cube_fg_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); PathCompression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_, last_cube_fg_); if (allocated_last_cude_fg_) { cudaFree(last_cube_fg_); } // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); allocated_last_cude_fg_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_cube_fg_, sizeof(unsigned char)); allocated_last_cude_fg_ = true; } } grid_size_ = dim3(((d_img_.x + 1) / 2 + x - 1) / x, ((d_img_.y + 1) / 2 + y - 1) / y, ((d_img_.z + 1) / 2 + z - 1) / z); block_size_ = dim3(x, y, z); BLOCKSIZE_KERNEL(InitLabeling,grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(Merge, grid_size_, block_size_, 0, d_img_, d_img_labels_, last_cube_fg_) BLOCKSIZE_KERNEL(PathCompression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(FinalLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_, last_cube_fg_) if (allocated_last_cude_fg_) { cudaFree(last_cube_fg_); } } private: void Alloc() { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); allocated_last_cude_fg_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_cube_fg_, sizeof(unsigned char)); allocated_last_cude_fg_ = true; } } } void Dealloc() { if (allocated_last_cude_fg_) { cudaFree(last_cube_fg_); } } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3(((d_img_.x + 1) / 2 + BLOCK_X - 1) / BLOCK_X, ((d_img_.y + 1) / 2 + BLOCK_Y - 1) / BLOCK_Y, ((d_img_.z + 1) / 2 + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); InitLabeling << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_, last_cube_fg_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); PathCompression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_, last_cube_fg_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { perf_.start(); Alloc(); perf_.stop(); double alloc_timing = perf_.last(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BUF_3D); REGISTER_KERNELS(BUF_3D, InitLabeling, Merge, PathCompression, FinalLabeling) ================================================ FILE: cuda/src/labeling_BUF_NoInlineCompression.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } //__device__ __forceinline__ void SetBit(unsigned char &bitmap, unsigned char pos) { // bitmap |= (1 << pos); //} // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { while (s_buf[n] != n) { n = s_buf[n]; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void InitLabeling(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { labels[labels_index] = labels_index; } } __global__ void Merge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned P = 0; uint32_t buffer_int = 0; uint8_t* const buffer = reinterpret_cast(&buffer_int); if (col + 1 < img.cols) { // This does not depend on endianness *(reinterpret_cast(buffer)) = *(reinterpret_cast(img.data + img_index)); if (row + 1 < img.rows) { *(reinterpret_cast(buffer + 2)) = *(reinterpret_cast(img.data + img_index + img.step)); } } else { buffer[0] = img.data[img_index]; if (row + 1 < img.rows) { buffer[2] = img.data[img_index + img.step]; } } if (buffer[0]) { P |= 0x777; } if (buffer[1]) { P |= (0x777 << 1); } if (buffer[2]) { P |= (0x777 << 4); } if (col == 0) { P &= 0xEEEE; } if (col + 1 >= img.cols) { P &= 0x3333; } else if (col + 2 >= img.cols) { P &= 0x7777; } if (row == 0) { P &= 0xFFF0; } if (row + 1 >= img.rows) { P &= 0xFF; } //else if (row + 2 >= img.rows) { // P &= 0xFFF; //} // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors if (P > 0) { if (HasBit(P, 0) && img.data[img_index - img.step - 1]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) - 2); } if ((HasBit(P, 1) && img.data[img_index - img.step]) || (HasBit(P, 2) && img.data[img_index + 1 - img.step])) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size)); } if (HasBit(P, 3) && img.data[img_index + 2 - img.step]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) + 2); } if ((HasBit(P, 4) && img.data[img_index - 1]) || (HasBit(P, 8) && img.data[img_index + img.step - 1])) { Union(labels.data, labels_index, labels_index - 2); } } } } __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels.data[labels_index]; if (label < labels_index) { labels[labels_index] = Find(labels.data, label); } } } __global__ void FinalLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned img_index = row * (img.step / img.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned int label = labels[labels_index] + 1; if (img.data[img_index]) labels[labels_index] = label; else { labels[labels_index] = 0; } if (col + 1 < labels.cols) { if (img.data[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (row + 1 < labels.rows) { if (img.data[img_index + img.step + 1]) labels[labels_index + (labels.step / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.step / labels.elem_size) + 1] = 0; } } } if (row + 1 < labels.rows) { if (img.data[img_index + img.step]) labels[labels_index + (labels.step / labels.elem_size)] = label; else { labels[labels_index + (labels.step / labels.elem_size)] = 0; } } } } } class BUF : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: BUF() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + x - 1) / x, (((d_img_.rows + 1) / 2) + y - 1) / y, 1); block_size_ = dim3(x, y, 1); BLOCKSIZE_KERNEL(InitLabeling, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(Merge, grid_size_, block_size_, 0, d_img_, d_img_labels_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(FinalLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_) } private: void Alloc() { d_img_labels_.create(d_img_.size(), CV_32SC1); } void Dealloc() { } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { perf_.start(); Alloc(); perf_.stop(); double alloc_timing = perf_.last(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BUF); REGISTER_KERNELS(BUF, InitLabeling, Compression, Merge, FinalLabeling) ================================================ FILE: cuda/src/labeling_KE4.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Return the root of a tree __device__ unsigned Find(const int *s_buf, unsigned n) { unsigned label = s_buf[n]; while (label - 1 != n) { n = label - 1; label = s_buf[n]; } return n; } // Links together trees containing a and b __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a + 1); done = (old == b + 1); b = old - 1; } else if (b < a) { int old = atomicMin(s_buf + a, b + 1); done = (old == a + 1); a = old - 1; } else { done = true; } } while (!done); } // Init phase. // Labels start at value 1, to differentiate them from background, that has value 0. __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < img.rows && col < img.cols) { if (img.data[img_index]) { if (row > 0 && img.data[img_index - img.step]) { labels.data[labels_index] = labels_index - (labels.step / labels.elem_size) + 1; } else if (col > 0 && img.data[img_index - 1]) { labels.data[labels_index] = labels_index; } else { labels.data[labels_index] = labels_index + 1; } } } } // Analysis phase. __global__ void Analyze(cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { unsigned index = labels_index; while (label - 1 != index) { index = label - 1; label = labels[index]; } labels[labels_index] = label; } } } __global__ void Reduce(const cuda::PtrStepb img, cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { if (img.data[img_index]) { if (col > 0 && img.data[img_index - 1]) { Union(labels.data, labels_index, labels_index - 1); } } } } } class KE4 : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: KE4() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_img_labels_); Analyze << > > (d_img_labels_); Reduce << > > (d_img_, d_img_labels_); Analyze << > > (d_img_labels_); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_img_labels_); Analyze << > > (d_img_labels_); Reduce << > > (d_img_, d_img_labels_); Analyze << > > (d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(KE4); ================================================ FILE: cuda/src/labeling_KE_2S.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // This algorithm is a variation of Komura Equivalence (KE) divided in two stages. // Initially, CCL il performed on separated blocks using shared memory. // Then, labels on block borders are merged. // This algorithm pewrforms worse then original BUF on every dataset, at least when using Nvidia Quadro 2200K. #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } //__device__ __forceinline__ void SetBit(unsigned char &bitmap, unsigned char pos) { // bitmap |= (1 << pos); //} // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { // Warning: do not call Find on a background pixel while (s_buf[n] != n) { n = s_buf[n]; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; __shared__ int buf[BLOCK_ROWS * BLOCK_COLS]; unsigned buf_index = threadIdx.y * BLOCK_COLS + threadIdx.x; if (row < labels.rows && col < labels.cols) { buf[buf_index] = buf_index; } __syncthreads(); if (row < labels.rows && col < labels.cols) { // 0|1 2|3 // --+---+-- // 4|A B| // 5|C D| // --+---+ unsigned char P = 0; if ((threadIdx.x > 0 || threadIdx.y > 0)) { if (img[img_index]) { P |= 0x37; // 00110111 } } if ((threadIdx.y > 0 || threadIdx.x < BLOCK_COLS - 1) && (col + 1 < img.cols)) { if (img[img_index + 1]) { P |= 0x0E; // 00001110 } } if ((threadIdx.x > 0) && (row + 1 < img.rows)) { if (img[img_index + img.step]) { P |= 0x30; // 00110000 } } if (threadIdx.x == 0) { P &= 0xCE; // 11001110 } if (col + 1 >= img.cols) { P &= 0xF3; // 11110011 } else if ((threadIdx.x + 1 == BLOCK_COLS) || (col + 2 >= img.cols)) { P &= 0xF7; // 11110111 } if (threadIdx.y == 0) { P &= 0xF0; // 11110000 } if (row + 1 >= img.rows) { P &= 0xDF; // 11011111 } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors if (P > 0) { if (HasBit(P, 0) && img[img_index - img.step - 1]) { Union(buf, buf_index, buf_index - BLOCK_COLS - 1); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { Union(buf, buf_index, buf_index - BLOCK_COLS); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { Union(buf, buf_index, buf_index + 1 - BLOCK_COLS); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 5) && img[img_index + img.step - 1])) { Union(buf, buf_index, buf_index - 1); } } } __syncthreads(); // Local compression if (row < labels.rows && col < labels.cols) { unsigned f = Find(buf, buf_index); unsigned f_row = f / BLOCK_COLS; unsigned f_col = f % BLOCK_COLS; unsigned global_f = 2 * (blockIdx.y * BLOCK_ROWS + f_row) * (labels.step / labels.elem_size) + 2 * (blockIdx.x * BLOCK_COLS + f_col); labels.data[labels_index] = global_f; } } __global__ void GlobalMerge(cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned char P = 0; if (((threadIdx.x == 0 && col > 0) || (threadIdx.y == 0 && row > 0))) { if (img[img_index]) { P |= 0x37; // 00110111 } } if (((threadIdx.y == 0 && row > 0) || (threadIdx.x == BLOCK_COLS - 1 && col + 2 < img.cols)) && (col + 1 < img.cols)) { if (img[img_index + 1]) { P |= 0x0E; // 00001110 } } if ((threadIdx.x == 0 && col > 0) && (row + 1 < img.rows)) { if (img[img_index + img.step]) { P |= 0x30; // 00110000 } } if (col == 0) { P &= 0xCE; // 11001110 } if (col + 1 >= img.cols) { P &= 0xF3; // 11110011 } else if (col + 2 >= img.cols) { P &= 0xF7; // 11110111 } if (row == 0) { P &= 0xF0; // 11110000 } if (row + 1 >= img.rows) { P &= 0xDF; // 11011111 } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors if (P > 0) { if (HasBit(P, 0) && img[img_index - img.step - 1]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) - 2); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size)); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) + 2); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 5) && img[img_index + img.step - 1])) { Union(labels.data, labels_index, labels_index - 2); } } } } __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { labels[labels_index] = Find(labels.data, labels_index); } } __global__ void FinalLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned img_index = row * (img.step / img.elem_size) + col; if (row < labels.rows && col < labels.cols) { int label = labels[labels_index] + 1; if (img[img_index]) labels[labels_index] = label; else { labels[labels_index] = 0; } if (col + 1 < labels.cols) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (row + 1 < labels.rows) { if (img[img_index + img.step + 1]) labels[labels_index + (labels.step / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.step / labels.elem_size) + 1] = 0; } } } if (row + 1 < labels.rows) { if (img[img_index + img.step]) labels[labels_index + (labels.step / labels.elem_size)] = label; else { labels[labels_index + (labels.step / labels.elem_size)] = 0; } } } } } class BKE_2S : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; unsigned char *last_pixel_; bool last_pixel_allocated_; public: BKE_2S() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); last_pixel_allocated_ = false; if ((d_img_.rows == 1 || d_img_.cols == 1) && !((d_img_.rows + d_img_.cols) % 2)) { cudaMalloc(&last_pixel_, sizeof(unsigned char)); last_pixel_allocated_ = true; } else { // last_pixel_ = d_img_labels_.data + d_img_labels_.step + sizeof(unsigned int); last_pixel_ = d_img_labels_.data + ((d_img_labels_.rows - 2) * d_img_labels_.step) + (d_img_labels_.cols - 2) * d_img_labels_.elemSize(); } grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i local_labels; //cuda::GpuMat d_local_merge; //d_img_labels_.copyTo(d_local_merge); //FinalLabeling << > > (d_img_, d_local_merge); //d_local_merge.download(local_labels); GlobalMerge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); //d_img_labels_.download(img_labels_); if (last_pixel_allocated_) { cudaFree(last_pixel_); } cudaDeviceSynchronize(); } private: void Alloc() { d_img_labels_.create(d_img_.size(), CV_32SC1); } void Dealloc() { } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); GlobalMerge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { perf_.start(); Alloc(); perf_.stop(); double alloc_timing = perf_.last(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BKE_2S); ================================================ FILE: cuda/src/labeling_OLE_tex.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // Optimized Label Equivalence (OLE), enhanced by the use of texture memory as hinted in Asad2019 #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Init phase. // Labels start at value 1, to differentiate them from background, that has value 0. __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned global_col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = global_row * img.step + global_col; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < img.rows && global_col < img.cols) { labels[labels_index] = img[img_index] ? (labels_index + 1) : 0; } } __device__ unsigned int MinLabel(unsigned l1, unsigned l2) { if (l1 && l2) return min(l1, l2); else return l1; } __device__ unsigned int FindMinLabel(cudaTextureObject_t texObject, unsigned row, unsigned col, unsigned label) { unsigned int min = label; min = MinLabel(min, tex2D(texObject, col - 1, row - 1)); min = MinLabel(min, tex2D(texObject, col + 0, row - 1)); min = MinLabel(min, tex2D(texObject, col + 1, row - 1)); min = MinLabel(min, tex2D(texObject, col - 1, row + 0)); min = MinLabel(min, tex2D(texObject, col + 1, row + 0)); min = MinLabel(min, tex2D(texObject, col - 1, row + 1)); min = MinLabel(min, tex2D(texObject, col + 0, row + 1)); min = MinLabel(min, tex2D(texObject, col + 1, row + 1)); return min; } // Scan phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Scan(cuda::PtrStepSzi labels, cudaTextureObject_t texObject, char *changes) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; // unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned label = tex2D(texObject, col, row); if (label) { unsigned min_label = FindMinLabel(texObject, row, col, label); if (min_label < label) { labels[label - 1] = min(static_cast(labels[label - 1]), min_label); *changes = 1; } } } // Analysis phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Analyze(cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { unsigned index = labels_index; while (label - 1 != index) { index = label - 1; label = labels[index]; } labels[labels_index] = label; } } } __device__ unsigned int FindMinLabelNotTex(cuda::PtrStepSzi labels, unsigned row, unsigned col, unsigned label, unsigned labels_index) { unsigned int min = label; if (row > 0) { min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size)]); if (col > 0) min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size) - 1]); if (col < labels.cols - 1) min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size) + 1]); } if (row < labels.rows - 1) { min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size)]); if (col > 0) min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size) - 1]); if (col < labels.cols - 1) min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size) + 1]); } if (col > 0) min = MinLabel(min, labels.data[labels_index - 1]); if (col < labels.cols - 1) min = MinLabel(min, labels.data[labels_index + 1]); return min; } // Scan phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void ScanNotTex(cuda::PtrStepSzi labels, cudaTextureObject_t texObject, char* changes) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { unsigned min_label = FindMinLabelNotTex(labels, row, col, label, labels_index); if (min_label < label) { labels[label - 1] = min(static_cast(labels[label - 1]), min_label); *changes = 1; } } } } } class OLE_TEX : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; char changes; char *d_changes; public: OLE_TEX() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); // Workaround for 1D images, necessary for sm >= 70 //void (*scan_kernel) (cuda::PtrStepSzi, cudaTextureObject_t, char*) = (d_img_.rows == 1 || d_img_.cols == 1) ? ScanNotTex : Scan; // Create Texture Object cudaChannelFormatDesc chFormatDesc = cudaCreateChannelDesc(); cudaResourceDesc resDesc = {}; resDesc.resType = cudaResourceTypePitch2D; resDesc.res.pitch2D.devPtr = d_img_labels_.data; resDesc.res.pitch2D.desc = chFormatDesc; resDesc.res.pitch2D.width = d_img_.cols; resDesc.res.pitch2D.height = d_img_.rows; resDesc.res.pitch2D.pitchInBytes = d_img_labels_.step; cudaTextureDesc texDesc = { {cudaAddressModeBorder, cudaAddressModeBorder}, // addressMode (fetches with out-of-range coordinates return 0) cudaFilterModePoint, // filterMode (do not interpolate and take the nearest value) cudaReadModeElementType, // readMode (do not convert to floating point, only for 8-bit and 16-bit integer formats) // other values are defaulted to 0 }; cudaTextureObject_t texObject; cudaCreateTextureObject(&texObject, &resDesc, &texDesc, nullptr); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > >(d_img_, d_img_labels_); if (d_img_.rows == 1 || d_img_.cols == 1) { while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); ScanNotTex << > > (d_img_labels_, texObject, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_img_labels_); } } else { while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, texObject, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_img_labels_); } } cudaDestroyTextureObject(texObject); cudaFree(d_changes); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); cudaFree(d_changes); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { // Create Texture Object cudaChannelFormatDesc chFormatDesc = cudaCreateChannelDesc(); cudaResourceDesc resDesc = {}; resDesc.resType = cudaResourceTypePitch2D; resDesc.res.pitch2D.devPtr = d_img_labels_.data; resDesc.res.pitch2D.desc = chFormatDesc; resDesc.res.pitch2D.width = d_img_.cols; resDesc.res.pitch2D.height = d_img_.rows; resDesc.res.pitch2D.pitchInBytes = d_img_labels_.step; cudaTextureDesc texDesc = { {cudaAddressModeBorder, cudaAddressModeBorder}, // addressMode (fetches with out-of-range coordinates return 0) cudaFilterModePoint, // filterMode (do not interpolate and take the nearest value) cudaReadModeElementType, // readMode (do not convert to floating point, only for 8-bit and 16-bit integer formats) // other values are defaulted to 0 }; cudaTextureObject_t texObject; cudaCreateTextureObject(&texObject, &resDesc, &texDesc, nullptr); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > >(d_img_, d_img_labels_); if (d_img_.rows == 1 || d_img_.cols == 1) { while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); ScanNotTex << > > (d_img_labels_, texObject, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_img_labels_); } } else { while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, texObject, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_img_labels_); } } cudaDestroyTextureObject(texObject); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(OLE_TEX); ================================================ FILE: cuda/src/labeling_RADAR.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // Kang2016 GPU-BASED OBJECT IDENTIFICATION IN LARGE-SCALE IMAGES FOR REALTIME RADAR SIGNAL ANALYSIS #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Init phase. // Labels start at value 1, to differentiate them from background, that has value 0. // Background labels start at -1 in the paper. __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned global_col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = global_row * img.step + global_col; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < img.rows && global_col < img.cols) { labels[labels_index] = img[img_index] ? (labels_index + 1) : 0; } } __device__ unsigned int MinLabel(unsigned l1, unsigned l2) { if (l1 && l2) return min(l1, l2); else return l1; } __device__ unsigned int FindMinLabel(cuda::PtrStepSzi labels, unsigned row, unsigned col, unsigned label, unsigned labels_index) { unsigned int min = label; if (row > 0) { min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size)]); if (col > 0) min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size) - 1]); if (col < labels.cols - 1) min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size) + 1]); } if (row < labels.rows - 1) { min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size)]); if (col > 0) min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size) - 1]); if (col < labels.cols - 1) min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size) + 1]); } if (col > 0) min = MinLabel(min, labels.data[labels_index - 1]); if (col < labels.cols - 1) min = MinLabel(min, labels.data[labels_index + 1]); return min; } // Scan phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Scan(cuda::PtrStepSzi labels, char *changes) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { unsigned min_label = FindMinLabel(labels, row, col, label, labels_index); if (min_label < label) { labels[label - 1] = min(static_cast(labels[label - 1]), min_label); *changes = 1; } } } } // Analysis phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Analyze(cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { unsigned index = labels_index; while (label - 1 != index) { index = label - 1; label = labels[index]; } labels[labels_index] = label; } } } } class RADAR : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; char changes; char *d_changes; public: RADAR() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > >(d_img_, d_img_labels_); while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_img_labels_); } cudaFree(d_changes); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); cudaFree(d_changes); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > >(d_img_, d_img_labels_); while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_img_labels_); } cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(RADAR); ================================================ FILE: cuda/src/labeling_TUF.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // Variation of UF employing a decision tree // Every thread looks at the neighborhood of pixel X and tests pixels with a certain order // The order is determined by the decision tree of SAUF #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a + 1); done = (old == b + 1); b = old - 1; } else if (b < a) { int old = atomicMin(s_buf + a, b + 1); done = (old == a + 1); a = old - 1; } else { done = true; } } while (!done); } //Effettuo il controllo sui 4 vicini della maschera //Prova a sincronizzare dopo ogni vicino __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned local_index = local_row * BLOCK_COLS + local_col; unsigned global_row = blockIdx.y * BLOCK_ROWS + local_row; unsigned global_col = blockIdx.x * BLOCK_COLS + local_col; unsigned img_index = global_row * img.step + global_col; __shared__ int s_buf[BLOCK_ROWS * BLOCK_COLS]; __shared__ unsigned char s_img[BLOCK_ROWS * BLOCK_COLS]; bool in_limits = (global_row < img.rows && global_col < img.cols); s_buf[local_index] = local_index + 1; s_img[local_index] = in_limits ? img[img_index] : 0xFF; __syncthreads(); unsigned char v = s_img[local_index]; if (in_limits) { if (v) { // SAUF tree if (local_row > 0 && s_img[local_index - BLOCK_COLS]) { Union(s_buf, local_index, local_index - BLOCK_COLS); } else { if (local_row > 0 && local_col < BLOCK_COLS - 1 && s_img[local_index - BLOCK_COLS + 1] == 1) { Union(s_buf, local_index, local_index - BLOCK_COLS + 1); if (local_row > 0 && local_col > 0 && s_img[local_index - BLOCK_COLS - 1]) { Union(s_buf, local_index, local_index - BLOCK_COLS - 1); } else { if (local_col > 0 && s_img[local_index - 1]) { Union(s_buf, local_index, local_index - 1); } } } else { if (local_row > 0 && local_col > 0 && s_img[local_index - BLOCK_COLS - 1]) { Union(s_buf, local_index, local_index - BLOCK_COLS - 1); } else { if (local_col > 0 && s_img[local_index - 1]) { Union(s_buf, local_index, local_index - 1); } } } } } } __syncthreads(); if (in_limits) { if (v) { unsigned f = Find(s_buf, local_index); unsigned f_row = f / BLOCK_COLS; unsigned f_col = f % BLOCK_COLS; unsigned global_f = (blockIdx.y * BLOCK_ROWS + f_row) * (labels.step / sizeof(int)) + (blockIdx.x * BLOCK_COLS + f_col); labels.data[global_row * labels.step / sizeof(int) + global_col] = global_f + 1; // C'� distinzione tra background e foreground } else { labels.data[global_row * labels.step / sizeof(int) + global_col] = 0; } } } __global__ void GlobalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned global_row = blockIdx.y * BLOCK_ROWS + local_row; unsigned global_col = blockIdx.x * BLOCK_COLS + local_col; unsigned img_index = global_row * img.step + global_col; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; bool in_limits = (global_row < img.rows && global_col < img.cols); if (in_limits) { unsigned char v = img[img_index]; if (v) { if (global_row > 0 && local_row == 0 && img[img_index - img.step] == 1) { Union(labels.data, labels_index, labels_index - labels.step / sizeof(int)); } else { if (global_row > 0 && (global_col < img.cols - 1) && (local_row == 0 || local_col == BLOCK_COLS - 1) && img[img_index - img.step + 1] == 1) { Union(labels.data, labels_index, labels_index - labels.step / sizeof(int) + 1); if (global_row > 0 && global_col > 0 && (local_row == 0 || local_col == 0) && img[img_index - img.step - 1] == 1) { Union(labels.data, labels_index, labels_index - labels.step / sizeof(int) - 1); } else { if (global_col > 0 && local_col == 0 && img[img_index - 1] == 1) { Union(labels.data, labels_index, labels_index - 1); } } } else { if (global_row > 0 && global_col > 0 && (local_row == 0 || local_col == 0) && img[img_index - img.step - 1] == 1) { Union(labels.data, labels_index, labels_index - labels.step / sizeof(int) - 1); } else { if (global_col > 0 && local_col == 0 && img[img_index - 1] == 1) { Union(labels.data, labels_index, labels_index - 1); } } } } } } } __global__ void PathCompression(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned global_col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < labels.rows && global_col < labels.cols) { unsigned char val = img[global_row * img.step + global_col]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } } class TUF : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: TUF() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); // Phase 1 // Etichetta i pixel localmente al blocco LocalMerge << > >(d_img_, d_img_labels_); // Immagine di debug della prima fase //Mat1i local_labels(img_.size()); //d_img_labels_.download(local_labels); // Phase 2 // Collega tra loro gli alberi union-find dei diversi blocchi GlobalMerge << > > (d_img_, d_img_labels_); // Immagine di debug della seconda fase //cuda::GpuMat d_global_labels; //d_img_labels_.copyTo(d_global_labels); //PathCompression << > > (d_img_, d_global_labels); //// ZeroBackground << > > (d_img_, d_global_labels); //Mat1i global_labels(img_.size()); //d_global_labels.download(global_labels); // Phase 3 // Collassa gli alberi union-find sulle radici PathCompression << > > (d_img_, d_img_labels_); //d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void LocalScan() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > >(d_img_, d_img_labels_); cudaDeviceSynchronize(); } void GlobalScan() { GlobalMerge << > > (d_img_, d_img_labels_); PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); LocalScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); GlobalScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(TUF); ================================================ FILE: cuda/src/labeling_UF_InlineCompression.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // This algorithm is a variation of Union Find (UF) that calls FindAndCompress instead of simple Find used by UF. // FindAndCompress updates the label of the starting pixel at each iteration of the loop. // This means that, if the equivalence tree is like this: // A // / // B // / // C // then the first iteration updates the label of C, assigning it value B, and the second iteration assigns A. // This way, another thread reading C during the process will find an updated value and will avoid a step. // This algorithm performs better than BUF only sometimes (rarely?). #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Returns the root index of the UFTree __device__ unsigned FindCompress(int *s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned id = n; unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; s_buf[id] = label; assert(label > 0); } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a + 1); done = (old == b + 1); b = old - 1; } else if (b < a) { int old = atomicMin(s_buf + a, b + 1); done = (old == a + 1); a = old - 1; } else { done = true; } } while (!done); } //Effettuo il controllo sui 4 vicini della maschera //Prova a sincronizzare dopo ogni vicino __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned local_index = local_row * BLOCK_COLS + local_col; unsigned global_row = blockIdx.y * BLOCK_ROWS + local_row; unsigned global_col = blockIdx.x * BLOCK_COLS + local_col; unsigned img_index = global_row * img.step + global_col; __shared__ int s_buf[BLOCK_ROWS * BLOCK_COLS]; __shared__ unsigned char s_img[BLOCK_ROWS * BLOCK_COLS]; bool in_limits = (global_row < img.rows && global_col < img.cols); s_buf[local_index] = local_index + 1; s_img[local_index] = in_limits ? img[img_index] : 0xFF; __syncthreads(); unsigned char v = s_img[local_index]; if (in_limits) { if (v) { if (local_col > 0 && s_img[local_index - 1]) { Union(s_buf, local_index, local_index - 1); } if (local_row > 0 && s_img[local_index - BLOCK_COLS]) { Union(s_buf, local_index, local_index - BLOCK_COLS); } } else { if (local_row > 0 && s_img[local_index - BLOCK_COLS]) { if (local_col > 0 && s_img[local_index - 1]) { Union(s_buf, local_index - 1, local_index - BLOCK_COLS); } if (local_col < BLOCK_COLS - 1 && s_img[local_index + 1]) { Union(s_buf, local_index + 1, local_index - BLOCK_COLS); } } } } __syncthreads(); if (in_limits) { if (v) { unsigned f = FindCompress(s_buf, local_index); unsigned f_row = f / BLOCK_COLS; unsigned f_col = f % BLOCK_COLS; unsigned global_f = (blockIdx.y * BLOCK_ROWS + f_row) * (labels.step / labels.elem_size) + (blockIdx.x * BLOCK_COLS + f_col); labels.data[global_row * labels.step / sizeof(int) + global_col] = global_f + 1; // C'� distinzione tra background e foreground } else { labels.data[global_row * labels.step / sizeof(int) + global_col] = 0; } } } __global__ void GlobalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned global_row = blockIdx.y * BLOCK_ROWS + local_row; unsigned global_col = blockIdx.x * BLOCK_COLS + local_col; unsigned img_index = global_row * img.step + global_col; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; bool in_limits = (global_row < img.rows && global_col < img.cols); if (in_limits) { unsigned char v = img[img_index]; if (v) { if (global_col > 0 && local_col == 0 && img[img_index - 1]) { Union(labels.data, labels_index, labels_index - 1); } if (global_row > 0 && local_row == 0 && img[img_index - img.step]) { Union(labels.data, labels_index, labels_index - labels.step / sizeof(int)); } } else { if (global_row > 0 && img[img_index - img.step]) { if (global_col > 0 && (local_row == 0 || local_col == 0) && img[img_index - 1]) { Union(labels.data, labels_index - 1, labels_index - labels.step / sizeof(int)); } if ((global_col < img.cols - 1) && (local_row == 0 || local_col == BLOCK_COLS - 1) && img[img_index + 1]) { Union(labels.data, labels_index + 1, labels_index - labels.step / sizeof(int)); } } } } } __global__ void PathCompression(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned global_col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < labels.rows && global_col < labels.cols) { unsigned char val = img[global_row * img.step + global_col]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } } class UF_InlineCompression : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: UF_InlineCompression() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); // Phase 1 // Etichetta i pixel localmente al blocco LocalMerge << > > (d_img_, d_img_labels_); // Immagine di debug della prima fase //cuda::GpuMat d_local_labels; //d_img_labels_.copyTo(d_local_labels); //PathCompression << > > (d_img_, d_local_labels); //// ZeroBackground << > > (d_img_, d_local_labels); //Mat1i local_labels(img_.size()); //d_local_labels.download(local_labels); // Phase 2 // Collega tra loro gli alberi union-find dei diversi blocchi GlobalMerge << > > (d_img_, d_img_labels_); // Immagine di debug della seconda fase //cuda::GpuMat d_global_labels; //d_img_labels_.copyTo(d_global_labels); //PathCompression << > > (d_img_, d_global_labels); //// ZeroBackground << > > (d_img_, d_global_labels); //Mat1i global_labels(img_.size()); //d_global_labels.download(global_labels); // Phase 3 // Collassa gli alberi union-find sulle radici PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void LocalScan() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } void GlobalScan() { GlobalMerge << > > (d_img_, d_img_labels_); PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); LocalScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); GlobalScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(UF_InlineCompression); ================================================ FILE: cuda/src/labeling_UF_naive.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // Simplified version of UF that doesn't make use of the Tile Merging technique. // The initial phase which performs labeling inside tiles is avoided. // This variation performs worse than the original one which uses Tiles Merging. #define BLOCK_X 16 #define BLOCK_Y 16 using namespace cv; namespace { // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a + 1); done = (old == b + 1); b = old - 1; } else if (b < a) { int old = atomicMin(s_buf + a, b + 1); done = (old == a + 1); a = old - 1; } else { done = true; } } while (!done); } __global__ void Initialization(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned x = blockIdx.x * BLOCK_X + threadIdx.x; unsigned y = blockIdx.y * BLOCK_Y + threadIdx.y; unsigned img_index = y * (img.step / img.elem_size) + x; unsigned labels_index = y * (labels.step / labels.elem_size) + x; if (x < labels.cols && y < labels.rows) { if (img[img_index]) { labels[labels_index] = labels_index + 1; } else { labels[labels_index] = 0; } } } __global__ void Merge(cuda::PtrStepSzi labels) { unsigned x = blockIdx.x * BLOCK_X + threadIdx.x; unsigned y = blockIdx.y * BLOCK_Y + threadIdx.y; unsigned labels_index = y * (labels.step / labels.elem_size) + x; if (x < labels.cols && y < labels.rows) { if (labels[labels_index]) { if (y > 0) { if (x > 0 && labels.data[labels_index - (labels.step / labels.elem_size) - 1]) { Union(labels.data, labels_index, labels_index - (labels.step / labels.elem_size) - 1); } if (labels.data[labels_index - (labels.step / labels.elem_size)]) { Union(labels.data, labels_index, labels_index - (labels.step / labels.elem_size)); } if (x + 1 < labels.cols && labels.data[labels_index - (labels.step / labels.elem_size) + 1]) { Union(labels.data, labels_index, labels_index - (labels.step / labels.elem_size) + 1); } } if (x > 0 && labels.data[labels_index - 1]) { Union(labels.data, labels_index, labels_index - 1); } } } } __global__ void PathCompression(cuda::PtrStepSzi labels) { unsigned x = blockIdx.x * BLOCK_X + threadIdx.x; unsigned y = blockIdx.y * BLOCK_Y + threadIdx.y; unsigned labels_index = y * (labels.step / labels.elem_size) + x; if (x < labels.cols && y < labels.rows) { unsigned int val = labels[labels_index]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } } class UF_naive : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: UF_naive() {} void PerformLabeling() { d_img_labels_.create(d_img_.rows, d_img_.cols, CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_X - 1) / BLOCK_X, (d_img_.rows + BLOCK_Y - 1) / BLOCK_Y, 1); block_size_ = dim3(BLOCK_X, BLOCK_Y, 1); //cuda::PtrStep3b ptr_step_prima(d_img_labels_); // Phase 1 Initialization << > > (d_img_, d_img_labels_); //cuda::PtrStepSz3i ptr_step_size(d_img_labels_); // Immagine di debug della prima fase //cuda::GpuMat d_local_labels; //d_img_labels_.copyTo(d_local_labels); //PathCompression << > > (d_local_labels); //// ZeroBackground << > > (d_img_, d_local_labels); //Mat1i local_labels(img_.size()); //d_local_labels.download(local_labels); // Phase 2 Merge << > > (d_img_labels_); // Immagine di debug della seconda fase //cuda::GpuMat d_global_labels; //d_img_labels_.copyTo(d_global_labels); //// PathCompression << > > (d_global_labels); //// ZeroBackground << > > (d_img_, d_global_labels); //Mat1i global_labels(img_.size()); //d_global_labels.download(global_labels); // Phase 3 PathCompression << > > (d_img_labels_); // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } }; REGISTER_LABELING(UF_naive); ================================================ FILE: cuda/src/labeling_allegretti_2018.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Returns the root index of the UFTree __device__ unsigned Find(const int* s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Returns the root index of the UFTree __device__ unsigned Find_label(const int* s_buf, unsigned n, unsigned label) { // Warning: do not call Find on a background pixel assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int* s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a + 1); done = (old == b + 1); b = old - 1; } else if (b < a) { int old = atomicMin(s_buf + a, b + 1); done = (old == a + 1); a = old - 1; } else { done = true; } } while (!done); } // Init phase. // Labels start at value 1, to differentiate them from background, that has value 0. __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * blockDim.y + threadIdx.y; unsigned col = blockIdx.x * blockDim.x + threadIdx.x; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < img.rows && col < img.cols) { if (img.data[img_index]) { if (row > 0 && img.data[img_index - img.step]) { labels.data[labels_index] = labels_index - (labels.step / labels.elem_size) + 1; } else if (row > 0 && col > 0 && img.data[img_index - img.step - 1]) { labels.data[labels_index] = labels_index - (labels.step / labels.elem_size); } else if (row > 0 && col < img.cols - 1 && img.data[img_index - img.step + 1]) { labels.data[labels_index] = labels_index - (labels.step / labels.elem_size) + 2; } else if (col > 0 && img.data[img_index - 1]) { labels.data[labels_index] = labels_index; } else { labels.data[labels_index] = labels_index + 1; } } else { labels.data[labels_index] = 0; } } } //// Analysis phase. //// The pixel associated with current thread is given the minimum label of the neighbours. //__global__ void Analyze(cuda::PtrStepSzi labels) { // unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; // unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; // unsigned labels_index = row * (labels.step / labels.elem_size) + col; // if (row < labels.rows && col < labels.cols) { // unsigned label = labels[labels_index]; // if (label) { // Performances are the same as the paper variant // unsigned index = labels_index; // while (label - 1 != index) { // index = label - 1; // label = labels[index]; // } // labels[labels_index] = label; // } // } //} __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * blockDim.y + threadIdx.y; unsigned col = blockIdx.x * blockDim.x + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels.data[labels_index]; if (label) { labels.data[labels_index] = Find_label(labels.data, labels_index, label) + 1; } } } __global__ void Reduce(const cuda::PtrStepb img, cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * blockDim.y + threadIdx.y; unsigned col = blockIdx.x * blockDim.x + threadIdx.x; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { if (img.data[img_index]) { if (col > 0 && img.data[img_index - 1]) { Union(labels.data, labels_index, labels_index - 1); } if (row > 0 && col < labels.cols - 1 && img.data[img_index - img.step + 1]) { Union(labels.data, labels_index, labels_index - (labels.step / labels.elem_size) + 1); } } } } } class KE : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: KE() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_img_labels_); /*Mat1i init_labels; d_img_labels_.download(init_labels);*/ //init_labels.release(); //Analyze << > > (d_img_labels_); Compression << > > (d_img_labels_); //Mat1i analyze_labels; //d_img_labels_.download(analyze_labels); //analyze_labels.release(); Reduce << > > (d_img_, d_img_labels_); //Analyze << > > (d_img_labels_); Compression << > > (d_img_labels_); //Mat1i final_labels; //d_img_labels_.download(final_labels); cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { const int block_cols = x; const int block_rows = y; d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + block_cols - 1) / block_cols, (d_img_.rows + block_rows - 1) / block_rows, 1); block_size_ = dim3(block_cols, block_rows, 1); BLOCKSIZE_KERNEL(Init, grid_size_, block_size_, 0, d_img_, d_img_labels_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(Reduce, grid_size_, block_size_, 0, d_img_, d_img_labels_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_img_labels_); //Mat1i init_labels; //d_img_labels_.download(init_labels); // init_labels.release(); //Analyze << > > (d_img_labels_); Compression << > > (d_img_labels_); //Mat1i analyze_labels; //d_img_labels_.download(analyze_labels); // analyze_labels.release(); Reduce << > > (d_img_, d_img_labels_); //Analyze << > > (d_img_labels_); Compression << > > (d_img_labels_); //Mat1i final_labels; //d_img_labels_.download(final_labels); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(KE); REGISTER_KERNELS(KE, Init, Compression, Reduce) ================================================ FILE: cuda/src/labeling_allegretti_2019_BBDT.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // BBDT in GPU #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Returns the root index of the UFTree __device__ unsigned Find(const int* s_buf, unsigned n) { while (s_buf[n] != n) { n = s_buf[n]; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int* s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void Initialization(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { labels[labels_index] = labels_index; } } __global__ void Merge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { #define CONDITION_B col>0 && row>1 && img.data[img_index - 2 * img.step - 1] #define CONDITION_C row>1 && img.data[img_index - 2 * img.step] #define CONDITION_D col+11 && img.data[img_index - 2 * img.step + 1] #define CONDITION_E col+21 && img.data[img_index - 2 * img.step + 2] #define CONDITION_G col>1 && row>0 && img.data[img_index - img.step - 2] #define CONDITION_H col>0 && row>0 && img.data[img_index - img.step - 1] #define CONDITION_I row>0 && img.data[img_index - img.step] #define CONDITION_J col+10 && img.data[img_index - img.step + 1] #define CONDITION_K col+20 && img.data[img_index - img.step + 2] #define CONDITION_M col>1 && img.data[img_index - 2] #define CONDITION_N col>0 && img.data[img_index - 1] #define CONDITION_O img.data[img_index] #define CONDITION_P col+10 && row+1 { private: dim3 grid_size_; dim3 block_size_; public: C_BBDT() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Initialization << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + x - 1) / x, (((d_img_.rows + 1) / 2) + y - 1) / y, 1); block_size_ = dim3(x, y, 1); BLOCKSIZE_KERNEL(Initialization, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(Merge, grid_size_, block_size_, 0, d_img_, d_img_labels_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(FinalLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_) } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } void Dealloc() { } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Initialization << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(C_BBDT); REGISTER_KERNELS(C_BBDT, Initialization, Merge, Compression, FinalLabeling) ================================================ FILE: cuda/src/labeling_allegretti_2019_BKE.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // // This is a block-based algorithm. // Blocks are 2x2 sized, with internal pixels named as: // +---+ // |a b| // |c d| // +---+ // // Neighbour blocks of block X are named as: // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // enum class Info : unsigned char { a = 0, b = 1, c = 2, d = 3, P = 4, Q = 5, R = 6, S = 7 }; // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, Info pos) { return (bitmap >> static_cast(pos)) & 1; } template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } // Only use it with unsigned numeric types __device__ __forceinline__ void SetBit(unsigned char& bitmap, Info pos) { bitmap |= (1 << static_cast(pos)); } // Returns the root index of the UFTree __device__ unsigned Find(const int* s_buf, unsigned n) { while (s_buf[n] != n) { n = s_buf[n]; } return n; } __device__ unsigned FindAndCompress(int* s_buf, unsigned n) { unsigned id = n; while (s_buf[n] != n) { n = s_buf[n]; s_buf[id] = n; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int* s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void InitLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels, unsigned char* last_pixel) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned P = 0; // Bitmask representing two kinds of information // Bits 0, 1, 2, 3 are set if pixel a, b, c, d are foreground, respectively // Bits 4, 5, 6, 7 are set if block P, Q, R, S need to be merged to X in Merge phase unsigned char info = 0; char buffer alignas(int)[4]; *(reinterpret_cast(buffer)) = 0; // Read pairs of consecutive values in memory at once if (col + 1 < img.cols) { // This does not depend on endianness *(reinterpret_cast(buffer)) = *(reinterpret_cast(img.data + img_index)); if (row + 1 < img.rows) { *(reinterpret_cast(buffer + 2)) = *(reinterpret_cast(img.data + img_index + img.step)); } } else { buffer[0] = img.data[img_index]; if (row + 1 < img.rows) { buffer[2] = img.data[img_index + img.step]; } } if (buffer[0]) { P |= 0x777; SetBit(info, Info::a); } if (buffer[1]) { P |= (0x777 << 1); SetBit(info, Info::b); } if (buffer[2]) { P |= (0x777 << 4); SetBit(info, Info::c); } if (buffer[3]) { SetBit(info, Info::d); } if (col == 0) { P &= 0xEEEE; } if (col + 1 >= img.cols) { P &= 0x3333; } else if (col + 2 >= img.cols) { P &= 0x7777; } if (row == 0) { P &= 0xFFF0; } if (row + 1 >= img.rows) { P &= 0x00FF; } else if (row + 2 >= img.rows) { P &= 0x0FFF; } // P is now ready to be used to find neighbour blocks // P value avoids range errors int father_offset = 0; // P square if (HasBit(P, 0) && img.data[img_index - img.step - 1]) { father_offset = -(2 * (labels.step / labels.elem_size) + 2); } // Q square if ((HasBit(P, 1) && img.data[img_index - img.step]) || (HasBit(P, 2) && img.data[img_index + 1 - img.step])) { if (!father_offset) { father_offset = -(2 * (labels.step / labels.elem_size)); } else { SetBit(info, Info::Q); } } // R square if (HasBit(P, 3) && img.data[img_index + 2 - img.step]) { if (!father_offset) { father_offset = -(2 * (labels.step / labels.elem_size) - 2); } else { SetBit(info, Info::R); } } // S square if ((HasBit(P, 4) && img.data[img_index - 1]) || (HasBit(P, 8) && img.data[img_index + img.step - 1])) { if (!father_offset) { father_offset = -2; } else { SetBit(info, Info::S); } } labels.data[labels_index] = labels_index + father_offset; if (col + 1 < labels.cols) { last_pixel = reinterpret_cast(labels.data + labels_index + 1); } else if (row + 1 < labels.rows) { last_pixel = reinterpret_cast(labels.data + labels_index + labels.step / labels.elem_size); } *last_pixel = info; } } __global__ void Merge(cuda::PtrStepSzi labels, unsigned char* last_pixel) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { if (col + 1 < labels.cols) { last_pixel = reinterpret_cast(labels.data + labels_index + 1); } else if (row + 1 < labels.rows) { last_pixel = reinterpret_cast(labels.data + labels_index + labels.step / labels.elem_size); } unsigned char info = *last_pixel; if (HasBit(info, Info::Q)) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size)); } if (HasBit(info, Info::R)) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) + 2); } if (HasBit(info, Info::S)) { Union(labels.data, labels_index, labels_index - 2); } } } __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { FindAndCompress(labels.data, labels_index); } } __global__ void FinalLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { int label; unsigned char info; unsigned long long buffer; if (col + 1 < labels.cols) { buffer = *reinterpret_cast(labels.data + labels_index); label = (buffer & (0xFFFFFFFF)) + 1; info = (buffer >> 32) & 0xFFFFFFFF; } else { label = labels[labels_index] + 1; if (row + 1 < labels.rows) { info = labels[labels_index + labels.step / labels.elem_size]; } else { // Read from the input image // "a" is already in position 0 info = img[row * img.step + col]; } } if (col + 1 < labels.cols) { *reinterpret_cast(labels.data + labels_index) = (static_cast(HasBit(info, Info::b) * label) << 32) | (HasBit(info, Info::a) * label); if (row + 1 < labels.rows) { *reinterpret_cast(labels.data + labels_index + labels.step / labels.elem_size) = (static_cast(HasBit(info, Info::d) * label) << 32) | (HasBit(info, Info::c) * label); } } else { labels[labels_index] = HasBit(info, Info::a) * label; if (row + 1 < labels.rows) { labels[labels_index + (labels.step / labels.elem_size)] = HasBit(info, Info::c) * label; } } } } } class BKE : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; unsigned char* last_pixel_; bool last_pixel_allocated_; public: BKE() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); last_pixel_allocated_ = false; if ((d_img_.rows == 1 || d_img_.cols == 1) && !((d_img_.rows + d_img_.cols) % 2)) { cudaMalloc(&last_pixel_, sizeof(unsigned char)); last_pixel_allocated_ = true; } else { last_pixel_ = d_img_labels_.data + ((d_img_labels_.rows - 2) * d_img_labels_.step) + (d_img_labels_.cols - 2) * d_img_labels_.elemSize(); } grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_, d_img_labels_, last_pixel_); //Mat1i init_blocks; //d_img_labels_.download(init_blocks); //cuda::GpuMat d_init_labels = d_img_labels_.clone(); //FinalLabeling << > > (d_img_, d_init_labels); //Mat1i init_labels; //d_init_labels.download(init_labels); //d_init_labels.release(); Compression << > > (d_img_labels_); //Mat1i compr_blocks; //d_img_labels_.download(compr_blocks); //cuda::GpuMat d_compr_labels = d_img_labels_.clone(); //FinalLabeling << > > (d_img_, d_compr_labels); //Mat1i compr_labels; //d_compr_labels.download(compr_labels); //d_compr_labels.release(); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); Merge << > > (d_img_labels_, last_pixel_); //Mat1i merge_blocks; //d_img_labels_.download(merge_blocks); //cuda::GpuMat d_merge_labels = d_img_labels_.clone(); //FinalLabeling << > > (d_img_, d_merge_labels); //Mat1i merge_labels; //d_merge_labels.download(merge_labels); //d_merge_labels.release(); Compression << > > (d_img_labels_); //Mat1i final_blocks; //d_img_labels_.download(final_blocks); FinalLabeling << > > (d_img_, d_img_labels_); //d_img_labels_.download(img_labels_); if (last_pixel_allocated_) { cudaFree(last_pixel_); } cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.size(), CV_32SC1); last_pixel_allocated_ = false; if ((d_img_.rows == 1 || d_img_.cols == 1) && !((d_img_.rows + d_img_.cols) % 2)) { cudaMalloc(&last_pixel_, sizeof(unsigned char)); last_pixel_allocated_ = true; } else { last_pixel_ = d_img_labels_.data + ((d_img_labels_.rows - 2) * d_img_labels_.step) + (d_img_labels_.cols - 2) * d_img_labels_.elemSize(); } grid_size_ = dim3((((d_img_.cols + 1) / 2) + x - 1) / x, (((d_img_.rows + 1) / 2) + y - 1) / y, 1); block_size_ = dim3(x, y, 1); BLOCKSIZE_KERNEL(InitLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_, last_pixel_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(Merge, grid_size_, block_size_, 0, d_img_labels_, last_pixel_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(FinalLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_) if (last_pixel_allocated_) { cudaFree(last_pixel_); } } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); if ((d_img_.rows == 1 || d_img_.cols == 1) && !((d_img_.rows + d_img_.cols) % 2)) { cudaMalloc(&last_pixel_, sizeof(unsigned char)); last_pixel_allocated_ = true; } else { last_pixel_ = d_img_labels_.data + ((d_img_labels_.rows - 2) * d_img_labels_.step) + (d_img_labels_.cols - 2) * d_img_labels_.elemSize(); } cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); if (last_pixel_allocated_) { cudaMemset(last_pixel_, 0, 1); } cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); if (last_pixel_allocated_) { cudaMemset(last_pixel_, 0, 1); } cudaDeviceSynchronize(); t -= perf_.stop(); return t; } void Dealloc() { if (last_pixel_allocated_) { cudaFree(last_pixel_); } } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_, d_img_labels_, last_pixel_); Compression << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_labels_, last_pixel_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BKE) REGISTER_KERNELS(BKE, InitLabeling, Compression, Merge, FinalLabeling) ================================================ FILE: cuda/src/labeling_allegretti_2019_BKE_3D.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_X 8 #define BLOCK_Y 8 #define BLOCK_Z 4 using namespace cv; namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } // Only use it with unsigned numeric types template __device__ __forceinline__ void SetBit(T &bitmap, unsigned char pos) { bitmap |= (1 << pos); } // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { while (s_buf[n] != n) { n = s_buf[n]; } return n; } __device__ unsigned FindAndCompress(int *s_buf, unsigned n) { unsigned id = n; while (s_buf[n] != n) { n = s_buf[n]; s_buf[id] = n; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void InitLabeling(const cuda::PtrStepSz3b img, cuda::PtrStepSz3i labels, unsigned int *last_voxel_conn) { unsigned x = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned y = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned z = (blockIdx.z * blockDim.z + threadIdx.z) * 2; unsigned img_index = z * (img.stepz / img.elem_size) + y * (img.stepy / img.elem_size) + x; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { #define P0 0x77707770777 unsigned long long P = 0L; if (img[img_index]) { P |= P0; } if (x + 1 < img.x) { if (img[img_index + 1]) { P |= (P0 << 1); } if (y + 1 < img.y && img[img_index + img.stepy / img.elem_size + 1]) { P |= (P0 << 5); } } if (y + 1 < img.y) { if (img[img_index + img.stepy / img.elem_size]) { P |= (P0 << 4); } } if (z + 1 < img.z) { if (img[img_index + img.stepz / img.elem_size]) { P |= (P0 << 16); } if (x + 1 < img.x) { if (img[img_index + img.stepz / img.elem_size + 1]) { P |= (P0 << 17); } //if (y + 1 < img.y && img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size + 1]) { // P |= (P0 << 21); //} } if (y + 1 < img.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) { P |= (P0 << 20); } } } #undef P0 // checks on borders if (x == 0) { P &= 0xEEEEEEEEEEEEEEEE; } if (x + 1 >= img.x) { P &= 0x3333333333333333; } else if (x + 2 >= img.x) { P &= 0x7777777777777777; } if (y == 0) { P &= 0xFFF0FFF0FFF0FFF0; } if (y + 1 >= img.y) { P &= 0x00FF00FF00FF00FF; } else if (y + 2 >= img.y) { P &= 0x0FFF0FFF0FFF0FFF; } if (z == 0) { P &= 0xFFFFFFFFFFFF0000; } if (z + 1 >= img.z) { P &= 0x00000000FFFFFFFF; } //else if (z + 2 >= img.z) { // P &= 0x0000FFFFFFFFFFFF; //} // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors unsigned int connections = 0; bool connected = false; if (P > 0) { // Lower plane unsigned char * plane_data = img.data + img_index - img.stepz; unsigned lower_plane_index = labels_index - 2 * (labels.stepz / labels.elem_size); if (HasBit(P, 0) && plane_data[0 - img.stepy - 1]) { if (connected) { SetBit(connections, 0); } else { labels[labels_index] = lower_plane_index - 2 * (labels.stepy / labels.elem_size) - 2; connected = true; } } if ((HasBit(P, 1) && plane_data[0 - img.stepy]) || (HasBit(P, 2) && plane_data[0 - img.stepy + 1])) { if (connected) { SetBit(connections, 1); } else { labels[labels_index] = lower_plane_index - 2 * (labels.stepy / labels.elem_size); connected = true; } } if (HasBit(P, 3) && plane_data[0 - img.stepy + 2]) { if (connected) { SetBit(connections, 2); } else { labels[labels_index] = lower_plane_index - 2 * (labels.stepy / labels.elem_size) + 2; connected = true; } } if ((HasBit(P, 4) && plane_data[-1]) || (HasBit(P, 8) && plane_data[img.stepy - 1])) { if (connected) { SetBit(connections, 3); } else { labels[labels_index] = lower_plane_index - 2; connected = true; } } if ((HasBit(P, 5) && plane_data[0]) || (HasBit(P, 6) && plane_data[1]) || (HasBit(P, 9) && plane_data[img.stepy]) || (HasBit(P, 10) && plane_data[img.stepy + 1])) { if (connected) { SetBit(connections, 4); } else { labels[labels_index] = lower_plane_index; connected = true; } } if ((HasBit(P, 7) && plane_data[2]) || (HasBit(P, 11) && plane_data[img.stepy + 2])) { if (connected) { SetBit(connections, 5); } else { labels[labels_index] = lower_plane_index + 2; connected = true; } } if (HasBit(P, 12) && plane_data[2 * img.stepy - 1]) { if (connected) { SetBit(connections, 6); } else { labels[labels_index] = lower_plane_index + 2 * (labels.stepy / labels.elem_size) - 2; connected = true; } } if ((HasBit(P, 13) && plane_data[2 * img.stepy]) || (HasBit(P, 14) && plane_data[2 * img.stepy + 1])) { if (connected) { SetBit(connections, 7); } else { labels[labels_index] = lower_plane_index + 2 * (labels.stepy / labels.elem_size); connected = true; } } if (HasBit(P, 15) && plane_data[2 * img.stepy + 2]) { if (connected) { SetBit(connections, 8); } else { labels[labels_index] = lower_plane_index + 2 * (labels.stepy / labels.elem_size) + 2; connected = true; } } // Current planes plane_data += img.stepz; if ((HasBit(P, 16) && plane_data[0 - img.stepy - 1]) || (HasBit(P, 32) && plane_data[img.stepz - img.stepy - 1])) { if (connected) { SetBit(connections, 9); } else { labels[labels_index] = labels_index - 2 * (labels.stepy / labels.elem_size) - 2; connected = true; } } if ((HasBit(P, 17) && plane_data[0 - img.stepy]) || (HasBit(P, 18) && plane_data[0 - img.stepy + 1]) || (HasBit(P, 33) && plane_data[img.stepz - img.stepy]) || (HasBit(P, 34) && plane_data[img.stepz - img.stepy + 1])) { if (connected) { SetBit(connections, 10); } else { labels[labels_index] = labels_index - 2 * (labels.stepy / labels.elem_size); connected = true; } } if ((HasBit(P, 19) && plane_data[0 - img.stepy + 2]) || (HasBit(P, 35) && plane_data[img.stepz - img.stepy + 2])) { if (connected) { SetBit(connections, 11); } else { labels[labels_index] = labels_index - 2 * (labels.stepy / labels.elem_size) + 2; connected = true; } } if ((HasBit(P, 20) && plane_data[-1]) || (HasBit(P, 24) && plane_data[img.stepy - 1]) || (HasBit(P, 36) && plane_data[img.stepz - 1]) || (HasBit(P, 40) && plane_data[img.stepz + img.stepy - 1])) { if (connected) { SetBit(connections, 12); } else { labels[labels_index] = labels_index - 2; connected = true; } } } if (!connected) { labels[labels_index] = labels_index; } // Write connections if (x + 1 < labels.x) { labels[labels_index + 1] = connections; } else if (y + 1 < labels.y) { labels[labels_index + labels.stepy / labels.elem_size] = connections; } else if (z + 1 < labels.z) { labels[labels_index + labels.stepz / labels.elem_size] = connections; } else { *last_voxel_conn = connections; } } } __global__ void Merge(cuda::PtrStepSz3i labels, unsigned int *last_voxel_conn) { unsigned x = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned y = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned z = (blockIdx.z * blockDim.z + threadIdx.z) * 2; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { unsigned int connections; if (x + 1 < labels.x) { connections = labels[labels_index + 1]; } else if (y + 1 < labels.y) { connections = labels[labels_index + labels.stepy / labels.elem_size]; } else if (z + 1 < labels.z) { connections = labels[labels_index + labels.stepz / labels.elem_size]; } else { connections = *last_voxel_conn; } // Lower plane unsigned lower_plane_index = labels_index - 2 * (labels.stepz / labels.elem_size); if (HasBit(connections, 0)) { Union(labels.data, labels_index, lower_plane_index - 2 * (labels.stepy / labels.elem_size + 1)); } if (HasBit(connections, 1)) { Union(labels.data, labels_index, lower_plane_index - 2 * (labels.stepy / labels.elem_size)); } if (HasBit(connections, 2)) { Union(labels.data, labels_index, lower_plane_index - 2 * (labels.stepy / labels.elem_size - 1)); } if (HasBit(connections, 3)) { Union(labels.data, labels_index, lower_plane_index - 2); } if (HasBit(connections, 4)) { Union(labels.data, labels_index, lower_plane_index); } if (HasBit(connections, 5)) { Union(labels.data, labels_index, lower_plane_index + 2); } if (HasBit(connections, 6)) { Union(labels.data, labels_index, lower_plane_index + 2 * (labels.stepy / labels.elem_size - 1)); } if (HasBit(connections, 7)) { Union(labels.data, labels_index, lower_plane_index + 2 * (labels.stepy / labels.elem_size)); } if (HasBit(connections, 8)) { Union(labels.data, labels_index, lower_plane_index + 2 * (labels.stepy / labels.elem_size + 1)); } // Current planes if (HasBit(connections, 9)) { Union(labels.data, labels_index, labels_index - 2 * (labels.stepy / labels.elem_size + 1)); } if (HasBit(connections, 10)) { Union(labels.data, labels_index, labels_index - 2 * (labels.stepy / labels.elem_size)); } if (HasBit(connections, 11)) { Union(labels.data, labels_index, labels_index - 2 * (labels.stepy / labels.elem_size - 1)); } if (HasBit(connections, 12)) { Union(labels.data, labels_index, labels_index - 2); } } } __global__ void PathCompression(cuda::PtrStepSz3i labels) { unsigned x = 2 * (blockIdx.x * blockDim.x + threadIdx.x); unsigned y = 2 * (blockIdx.y * blockDim.y + threadIdx.y); unsigned z = 2 * (blockIdx.z * blockDim.z + threadIdx.z); unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { FindAndCompress(labels.data, labels_index); } } __global__ void FinalLabeling(const cuda::PtrStepSz3b img, cuda::PtrStepSz3i labels) { unsigned x = 2 * (blockIdx.x * blockDim.x + threadIdx.x); unsigned y = 2 * (blockIdx.y * blockDim.y + threadIdx.y); unsigned z = 2 * (blockIdx.z * blockDim.z + threadIdx.z); unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; unsigned img_index = z * (img.stepz / img.elem_size) + y * (img.stepy / img.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { int label = labels[labels_index] + 1; // Current plane if (img[img_index]) { labels[labels_index] = label; } else { labels[labels_index] = 0; } if (x + 1 < labels.x) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (y + 1 < labels.y) { if (img[img_index + img.stepy + 1]) labels[labels_index + (labels.stepy / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.stepy / labels.elem_size) + 1] = 0; } } } if (y + 1 < labels.y) { if (img[img_index + img.stepy]) labels[labels_index + (labels.stepy / labels.elem_size)] = label; else { labels[labels_index + (labels.stepy / labels.elem_size)] = 0; } } // Upper plane if (z + 1 < labels.z) { if (img[img_index + img.stepz / img.elem_size]) labels[labels_index + labels.stepz / labels.elem_size] = label; else { labels[labels_index + labels.stepz / labels.elem_size] = 0; } if (x + 1 < labels.x) { if (img[img_index + img.stepz / img.elem_size + 1]) labels[labels_index + labels.stepz / labels.elem_size + 1] = label; else { labels[labels_index + labels.stepz / labels.elem_size + 1] = 0; } if (y + 1 < labels.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size + 1]) labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size) + 1] = label; else { labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size) + 1] = 0; } } } if (y + 1 < labels.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)] = label; else { labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)] = 0; } } } } } } class BKE_3D : public GpuLabeling3D { private: dim3 grid_size_; dim3 block_size_; unsigned int* last_voxel_conn_; bool allocated_last_conn_; public: BKE_3D() {} void PerformLabeling() { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); // Decide whether last_pixel_ needs specific allocation or not // It only needs it in the case that input volume has 2 or more dimensions equals to 1 allocated_last_conn_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_voxel_conn_, sizeof(unsigned int)); allocated_last_conn_ = true; } } grid_size_ = dim3((d_img_.x + BLOCK_X - 1) / BLOCK_X, (d_img_.y + BLOCK_Y - 1) / BLOCK_Y, (d_img_.z + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); InitLabeling << > > (d_img_, d_img_labels_, last_voxel_conn_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); PathCompression << > > (d_img_labels_); Merge << > > (d_img_labels_, last_voxel_conn_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); PathCompression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); // d_img_labels_.download(img_labels_); if (allocated_last_conn_) { cudaFree(last_voxel_conn_); } cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); // Decide whether last_pixel_ needs specific allocation or not // It only needs it in the case that input volume has 2 or more dimensions equals to 1 allocated_last_conn_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_voxel_conn_, sizeof(unsigned int)); allocated_last_conn_ = true; } } grid_size_ = dim3((d_img_.x + x - 1) / x, (d_img_.y + y - 1) / y, (d_img_.z + z - 1) / z); block_size_ = dim3(x, y, z); BLOCKSIZE_KERNEL(InitLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_, last_voxel_conn_) BLOCKSIZE_KERNEL(PathCompression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(Merge, grid_size_, block_size_, 0, d_img_labels_, last_voxel_conn_) BLOCKSIZE_KERNEL(PathCompression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(FinalLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_) if (allocated_last_conn_) { cudaFree(last_voxel_conn_); } } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); allocated_last_conn_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_voxel_conn_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_voxel_conn_, sizeof(unsigned int)); allocated_last_conn_ = true; } } cudaMemset(d_img_labels_.data, 0, d_img_labels_.stepz * d_img_labels_.z); if (allocated_last_conn_) { cudaMemset(last_voxel_conn_, 0, sizeof(unsigned int)); } cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset(d_img_labels_.data, 0, d_img_labels_.stepz * d_img_labels_.z); if (allocated_last_conn_) { cudaMemset(last_voxel_conn_, 0, sizeof(unsigned int)); } cudaDeviceSynchronize(); t -= perf_.stop(); return t; } void Dealloc() { if (allocated_last_conn_) { cudaFree(last_voxel_conn_); } cudaDeviceSynchronize(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((d_img_.x + BLOCK_X - 1) / BLOCK_X, (d_img_.y + BLOCK_Y - 1) / BLOCK_Y, (d_img_.z + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); InitLabeling << > > (d_img_, d_img_labels_, last_voxel_conn_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); PathCompression << > > (d_img_labels_); Merge << > > (d_img_labels_, last_voxel_conn_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); PathCompression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BKE_3D); REGISTER_KERNELS(BKE_3D, InitLabeling, Merge, PathCompression, FinalLabeling) ================================================ FILE: cuda/src/labeling_allegretti_2019_BUF.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // This algorithm calls FindAndCompress instead of simple Find. // FindAndCompress updates the label of the starting pixel at each iteration of the loop. // This means that, if the equivalence tree is like this: // A // / // B // / // C // then the first iteration updates the label of C, assigning it value B, and the second iteration assigns A. // This way, another thread reading C during the process will find an updated value and will avoid a step. // FindCompresso performs better than Find only sometimes (rarely?). #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } //__device__ __forceinline__ void SetBit(unsigned char &bitmap, unsigned char pos) { // bitmap |= (1 << pos); //} // Returns the root index of the UFTree __device__ unsigned Find(const int* s_buf, unsigned n) { while (s_buf[n] != n) { n = s_buf[n]; } return n; } __device__ unsigned FindAndCompress(int* s_buf, unsigned n) { unsigned id = n; while (s_buf[n] != n) { n = s_buf[n]; s_buf[id] = n; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int* s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void InitLabeling(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { labels[labels_index] = labels_index; } } __global__ void Merge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned P = 0; char buffer alignas(int)[4]; *(reinterpret_cast(buffer)) = 0; if (col + 1 < img.cols) { // This does not depend on endianness *(reinterpret_cast(buffer)) = *(reinterpret_cast(img.data + img_index)); if (row + 1 < img.rows) { *(reinterpret_cast(buffer + 2)) = *(reinterpret_cast(img.data + img_index + img.step)); } } else { buffer[0] = img.data[img_index]; if (row + 1 < img.rows) { buffer[2] = img.data[img_index + img.step]; } } if (buffer[0]) { P |= 0x777; } if (buffer[1]) { P |= (0x777 << 1); } if (buffer[2]) { P |= (0x777 << 4); } if (col == 0) { P &= 0xEEEE; } if (col + 1 >= img.cols) { P &= 0x3333; } else if (col + 2 >= img.cols) { P &= 0x7777; } if (row == 0) { P &= 0xFFF0; } if (row + 1 >= img.rows) { P &= 0xFF; } //else if (row + 2 >= img.rows) { // P &= 0xFFF; //} // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors if (P > 0) { if (HasBit(P, 0) && img.data[img_index - img.step - 1]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) - 2); } if ((HasBit(P, 1) && img.data[img_index - img.step]) || (HasBit(P, 2) && img.data[img_index + 1 - img.step])) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size)); } if (HasBit(P, 3) && img.data[img_index + 2 - img.step]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) + 2); } if ((HasBit(P, 4) && img.data[img_index - 1]) || (HasBit(P, 8) && img.data[img_index + img.step - 1])) { Union(labels.data, labels_index, labels_index - 2); } } } } __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { FindAndCompress(labels.data, labels_index); } } __global__ void FinalLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned img_index = row * (img.step / img.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned int label = labels[labels_index] + 1; if (img.data[img_index]) labels[labels_index] = label; else { labels[labels_index] = 0; } if (col + 1 < labels.cols) { if (img.data[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (row + 1 < labels.rows) { if (img.data[img_index + img.step + 1]) labels[labels_index + (labels.step / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.step / labels.elem_size) + 1] = 0; } } } if (row + 1 < labels.rows) { if (img.data[img_index + img.step]) labels[labels_index + (labels.step / labels.elem_size)] = label; else { labels[labels_index + (labels.step / labels.elem_size)] = 0; } } } } } class BUF : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: BUF() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + x - 1) / x, (((d_img_.rows + 1) / 2) + y - 1) / y, 1); block_size_ = dim3(x, y, 1); BLOCKSIZE_KERNEL(InitLabeling, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(Merge, grid_size_, block_size_, 0, d_img_, d_img_labels_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(FinalLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_) } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } void Dealloc() { } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BUF); REGISTER_KERNELS(BUF, InitLabeling, Compression, Merge, FinalLabeling) ================================================ FILE: cuda/src/labeling_allegretti_2019_BUF_3D.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_X 8 #define BLOCK_Y 4 #define BLOCK_Z 4 using namespace cv; namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } // Only use it with unsigned numeric types //template //__device__ __forceinline__ void SetBit(T &bitmap, unsigned char pos) { // bitmap |= (1 << pos); //} // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { while (s_buf[n] != n) { n = s_buf[n]; } return n; } __device__ unsigned FindAndCompress(int *s_buf, unsigned n) { unsigned id = n; while (s_buf[n] != n) { n = s_buf[n]; s_buf[id] = n; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void InitLabeling(cuda::PtrStepSz3i labels) { unsigned x = (blockIdx.x * BLOCK_X + threadIdx.x) * 2; unsigned y = (blockIdx.y * BLOCK_Y + threadIdx.y) * 2; unsigned z = (blockIdx.z * BLOCK_Z + threadIdx.z) * 2; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { labels[labels_index] = labels_index; } } __global__ void Merge(const cuda::PtrStepSz3b img, cuda::PtrStepSz3i labels, unsigned char* last_cube_fg) { unsigned x = (blockIdx.x * BLOCK_X + threadIdx.x) * 2; unsigned y = (blockIdx.y * BLOCK_Y + threadIdx.y) * 2; unsigned z = (blockIdx.z * BLOCK_Z + threadIdx.z) * 2; unsigned img_index = z * (img.stepz / img.elem_size) + y * (img.stepy / img.elem_size) + x; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { const unsigned long long P0 = 0x77707770777; unsigned long long P = 0ULL; unsigned char foreground = 0; unsigned short buffer; { if (x + 1 < img.x) { buffer = *reinterpret_cast(img.data + img_index); if (buffer & 1) { P |= P0; foreground |= 1; } if (buffer & (1 << 8)) { P |= (P0 << 1); foreground |= (1 << 1); } if (y + 1 < img.y) { buffer = *reinterpret_cast(img.data + img_index + img.stepy / img.elem_size); if (buffer & 1) { P |= (P0 << 4); foreground |= (1 << 2); } if (buffer & (1 << 8)) { P |= (P0 << 5); foreground |= (1 << 3); } } if (z + 1 < img.z) { buffer = *reinterpret_cast(img.data + img_index + img.stepz / img.elem_size); if (buffer & 1) { P |= (P0 << 16); foreground |= (1 << 4); } if (buffer & (1 << 8)) { P |= (P0 << 17); foreground |= (1 << 5); } if (y + 1 < img.y) { buffer = *reinterpret_cast(img.data + img_index + img.stepz / img.elem_size + img.stepy / img.elem_size); if (buffer & 1) { P |= (P0 << 20); foreground |= (1 << 6); } if (buffer & (1 << 8)) { P |= (P0 << 21); foreground |= (1 << 7); } } } } else { if (img[img_index]) { P |= P0; foreground |= 1; } if (y + 1 < labels.y) { if (img[img_index + img.stepy / img.elem_size]) { P |= (P0 << 4); foreground |= (1 << 2); } } if (z + 1 < labels.z) { if (img[img_index + img.stepz / img.elem_size]) { P |= (P0 << 16); foreground |= (1 << 4); } if (y + 1 < labels.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) { P |= (P0 << 20); foreground |= (1 << 6); } } } } } /* { if (img[img_index]) { P |= P0; foreground |= 1; } if (x + 1 < img.x) { if (img[img_index + 1]) { P |= (P0 << 1); foreground |= (1 << 1); } if (y + 1 < img.y && img[img_index + img.stepy / img.elem_size + 1]) { P |= (P0 << 5); foreground |= (1 << 3); } } if (y + 1 < img.y) { if (img[img_index + img.stepy / img.elem_size]) { P |= (P0 << 4); foreground |= (1 << 2); } } if (z + 1 < img.z) { if (img[img_index + img.stepz / img.elem_size]) { P |= (P0 << 16); foreground |= (1 << 4); } if (x + 1 < img.x) { if (img[img_index + img.stepz / img.elem_size + 1]) { P |= (P0 << 17); foreground |= (1 << 5); } if (y + 1 < img.y && img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size + 1]) { P |= (P0 << 21); foreground |= (1 << 7); } } if (y + 1 < img.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) { P |= (P0 << 20); foreground |= (1 << 6); } } } }*/ // Store foreground voxels bitmask into memory if (x + 1 < labels.x) { labels[labels_index + 1] = foreground; } else if (y + 1 < labels.y) { labels[labels_index + labels.stepy / labels.elem_size] = foreground; } else if (z + 1 < labels.z) { labels[labels_index + labels.stepz / labels.elem_size] = foreground; } else { *last_cube_fg = foreground; } // checks on borders if (x == 0) { P &= 0xEEEEEEEEEEEEEEEE; } if (x + 1 >= img.x) { P &= 0x3333333333333333; } else if (x + 2 >= img.x) { P &= 0x7777777777777777; } if (y == 0) { P &= 0xFFF0FFF0FFF0FFF0; } if (y + 1 >= img.y) { P &= 0x00FF00FF00FF00FF; } else if (y + 2 >= img.y) { P &= 0x0FFF0FFF0FFF0FFF; } if (z == 0) { P &= 0xFFFFFFFFFFFF0000; } if (z + 1 >= img.z) { P &= 0x00000000FFFFFFFF; } //else if (z + 2 >= img.z) { // P &= 0x0000FFFFFFFFFFFF; //} // P is now ready to be used to find neighbour blocks // P value avoids range errors if (P > 0) { // Lower plane unsigned char * plane_data = img.data + img_index - img.stepz; unsigned lower_plane_index = labels_index - 2 * (labels.stepz / labels.elem_size); if (HasBit(P, 0) && plane_data[0 - img.stepy - 1]) { Union(labels.data, labels_index, lower_plane_index - 2 * (labels.stepy / labels.elem_size + 1)); } if ((HasBit(P, 1) && plane_data[0 - img.stepy]) || (HasBit(P, 2) && plane_data[0 - img.stepy + 1])) { Union(labels.data, labels_index, lower_plane_index - 2 * (labels.stepy / labels.elem_size)); } if (HasBit(P, 3) && plane_data[0 - img.stepy + 2]) { Union(labels.data, labels_index, lower_plane_index - 2 * (labels.stepy / labels.elem_size - 1)); } if ((HasBit(P, 4) && plane_data[-1]) || (HasBit(P, 8) && plane_data[img.stepy - 1])) { Union(labels.data, labels_index, lower_plane_index - 2); } if ((HasBit(P, 5) && plane_data[0]) || (HasBit(P, 6) && plane_data[1]) || (HasBit(P, 9) && plane_data[img.stepy]) || (HasBit(P, 10) && plane_data[img.stepy + 1])) { Union(labels.data, labels_index, lower_plane_index); } if ((HasBit(P, 7) && plane_data[2]) || (HasBit(P, 11) && plane_data[img.stepy + 2])) { Union(labels.data, labels_index, lower_plane_index + 2); } if (HasBit(P, 12) && plane_data[2 * img.stepy - 1]) { Union(labels.data, labels_index, lower_plane_index + 2 * (labels.stepy / labels.elem_size - 1)); } if ((HasBit(P, 13) && plane_data[2 * img.stepy]) || (HasBit(P, 14) && plane_data[2 * img.stepy + 1])) { Union(labels.data, labels_index, lower_plane_index + 2 * (labels.stepy / labels.elem_size)); } if (HasBit(P, 15) && plane_data[2 * img.stepy + 2]) { Union(labels.data, labels_index, lower_plane_index + 2 * (labels.stepy / labels.elem_size + 1)); } // Current planes plane_data += img.stepz; if ((HasBit(P, 16) && plane_data[0 - img.stepy - 1]) || (HasBit(P, 32) && plane_data[img.stepz - img.stepy - 1])) { Union(labels.data, labels_index, labels_index - 2 * (labels.stepy / labels.elem_size + 1)); } if ((HasBit(P, 17) && plane_data[0 - img.stepy]) || (HasBit(P, 18) && plane_data[0 - img.stepy + 1]) || (HasBit(P, 33) && plane_data[img.stepz - img.stepy]) || (HasBit(P, 34) && plane_data[img.stepz - img.stepy + 1])) { Union(labels.data, labels_index, labels_index - 2 * (labels.stepy / labels.elem_size)); } if ((HasBit(P, 19) && plane_data[0 - img.stepy + 2]) || (HasBit(P, 35) && plane_data[img.stepz - img.stepy + 2])) { Union(labels.data, labels_index, labels_index - 2 * (labels.stepy / labels.elem_size - 1)); } if ((HasBit(P, 20) && plane_data[-1]) || (HasBit(P, 24) && plane_data[img.stepy - 1]) || (HasBit(P, 36) && plane_data[img.stepz - 1]) || (HasBit(P, 40) && plane_data[img.stepz + img.stepy - 1])) { Union(labels.data, labels_index, labels_index - 2); } } } } __global__ void PathCompression(cuda::PtrStepSz3i labels) { unsigned x = 2 * (blockIdx.x * BLOCK_X + threadIdx.x); unsigned y = 2 * (blockIdx.y * BLOCK_Y + threadIdx.y); unsigned z = 2 * (blockIdx.z * BLOCK_Z + threadIdx.z); unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { FindAndCompress(labels.data, labels_index); } } __global__ void FinalLabeling(const cuda::PtrStepSz3b img, cuda::PtrStepSz3i labels, unsigned char* last_cube_fg) { unsigned x = 2 * (blockIdx.x * BLOCK_X + threadIdx.x); unsigned y = 2 * (blockIdx.y * BLOCK_Y + threadIdx.y); unsigned z = 2 * (blockIdx.z * BLOCK_Z + threadIdx.z); unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { int label; unsigned char foreground; unsigned long long buffer; if (x + 1 < labels.x) { buffer = *reinterpret_cast(labels.data + labels_index); label = (buffer & (0xFFFFFFFF)) + 1; foreground = (buffer >> 32) & 0xFFFFFFFF; } else { label = labels[labels_index] + 1; if (y + 1 < labels.y) { foreground = labels[labels_index + labels.stepy / labels.elem_size]; } else if (z + 1 < labels.z) { foreground = labels[labels_index + labels.stepz / labels.elem_size]; } else { foreground = *last_cube_fg; } } if (x + 1 < labels.x) { *reinterpret_cast(labels.data + labels_index) = (static_cast(((foreground >> 1) & 1) * label) << 32) | (((foreground >> 0) & 1) * label); if (y + 1 < labels.y) { *reinterpret_cast(labels.data + labels_index + labels.stepy / labels.elem_size) = (static_cast(((foreground >> 3) & 1) * label) << 32) | (((foreground >> 2) & 1) * label); } if (z + 1 < labels.z) { *reinterpret_cast(labels.data + labels_index + labels.stepz / labels.elem_size) = (static_cast(((foreground >> 5) & 1) * label) << 32) | (((foreground >> 4) & 1) * label); if (y + 1 < labels.y) { *reinterpret_cast(labels.data + labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)) = (static_cast(((foreground >> 7) & 1) * label) << 32) | (((foreground >> 6) & 1) * label); } } } else { labels[labels_index] = ((foreground >> 0) & 1) * label; if (y + 1 < labels.y) { labels[labels_index + (labels.stepy / labels.elem_size)] = ((foreground >> 2) & 1) * label; } if (z + 1 < labels.z) { labels[labels_index + labels.stepz / labels.elem_size] = ((foreground >> 4) & 1) * label; if (y + 1 < labels.y) { labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)] = ((foreground >> 6) & 1) * label; } } } } } } class BUF_3D : public GpuLabeling3D { private: dim3 grid_size_; dim3 block_size_; unsigned char* last_cube_fg_; bool allocated_last_cude_fg_; public: BUF_3D() {} void PerformLabeling() { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); allocated_last_cude_fg_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_cube_fg_, sizeof(unsigned char)); allocated_last_cude_fg_ = true; } } grid_size_ = dim3(((d_img_.x + 1) / 2 + BLOCK_X - 1) / BLOCK_X, ((d_img_.y + 1) / 2 + BLOCK_Y - 1) / BLOCK_Y, ((d_img_.z + 1) / 2 + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); InitLabeling << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_, last_cube_fg_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); PathCompression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_, last_cube_fg_); if (allocated_last_cude_fg_) { cudaFree(last_cube_fg_); } // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); allocated_last_cude_fg_ = false; if ((d_img_.x % 2 == 1) && (d_img_.y % 2 == 1) && (d_img_.z % 2 == 1)) { if (d_img_.x > 1 && d_img_.y > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 1) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.x > 1 && d_img_.z > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 1) * d_img_labels_.stepy) + d_img_labels_.x - 2; } else if (d_img_.y > 1 && d_img_.z > 1) { last_cube_fg_ = reinterpret_cast(d_img_labels_.data + (d_img_labels_.z - 2) * d_img_labels_.stepz + (d_img_labels_.y - 2) * d_img_labels_.stepy) + d_img_labels_.x - 1; } else { cudaMalloc(&last_cube_fg_, sizeof(unsigned char)); allocated_last_cude_fg_ = true; } } cudaMemset(d_img_labels_.data, 0, d_img_labels_.stepz * d_img_labels_.z); if (allocated_last_cude_fg_) { cudaMemset(last_cube_fg_, 0, 1); } cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset(d_img_labels_.data, 0, d_img_labels_.stepz * d_img_labels_.z); if (allocated_last_cude_fg_) { cudaMemset(last_cube_fg_, 0, 1); } cudaDeviceSynchronize(); t -= perf_.stop(); return t; } void Dealloc() { if (allocated_last_cude_fg_) { cudaFree(last_cube_fg_); } } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3(((d_img_.x + 1) / 2 + BLOCK_X - 1) / BLOCK_X, ((d_img_.y + 1) / 2 + BLOCK_Y - 1) / BLOCK_Y, ((d_img_.z + 1) / 2 + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); InitLabeling << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_, last_cube_fg_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); PathCompression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_, last_cube_fg_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BUF_3D); ================================================ FILE: cuda/src/labeling_allegretti_2019_DRAG.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } //__device__ __forceinline__ void SetBit(unsigned char &bitmap, unsigned char pos) { // bitmap |= (1 << pos); //} // Returns the root index of the UFTree __device__ unsigned Find(const int* s_buf, unsigned n) { while (s_buf[n] != n) { n = s_buf[n]; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int* s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void InitLabeling(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { labels[labels_index] = labels_index; } } __global__ void Merge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { #define CONDITION_B col>0 && row>1 && img.data[img_index - 2 * img.step - 1] #define CONDITION_C row>1 && img.data[img_index - 2 * img.step] #define CONDITION_D col+11 && img.data[img_index - 2 * img.step + 1] #define CONDITION_E col+21 && img.data[img_index - 2 * img.step + 2] #define CONDITION_G col>1 && row>0 && img.data[img_index - img.step - 2] #define CONDITION_H col>0 && row>0 && img.data[img_index - img.step - 1] #define CONDITION_I row>0 && img.data[img_index - img.step] #define CONDITION_J col+10 && img.data[img_index - img.step + 1] #define CONDITION_K col+20 && img.data[img_index - img.step + 2] #define CONDITION_M col>1 && img.data[img_index - 2] #define CONDITION_N col>0 && img.data[img_index - 1] #define CONDITION_O img.data[img_index] #define CONDITION_P col+10 && row+1 { private: dim3 grid_size_; dim3 block_size_; public: C_DRAG() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + x - 1) / x, (((d_img_.rows + 1) / 2) + y - 1) / y, 1); block_size_ = dim3(x, y, 1); BLOCKSIZE_KERNEL(InitLabeling, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(Merge, grid_size_, block_size_, 0, d_img_, d_img_labels_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) BLOCKSIZE_KERNEL(FinalLabeling, grid_size_, block_size_, 0, d_img_, d_img_labels_) } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } void Dealloc() { } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(C_DRAG); REGISTER_KERNELS(C_DRAG, InitLabeling, Merge, Compression, FinalLabeling) ================================================ FILE: cuda/src/labeling_allegretti_2019_SAUF.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // SAUF in GPU #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { __device__ unsigned Find(const int* s_buf, unsigned n) { unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } __device__ void Union(int* s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a + 1); done = (old == b + 1); b = old - 1; } else if (b < a) { int old = atomicMin(s_buf + a, b + 1); done = (old == a + 1); a = old - 1; } else { done = true; } } while (!done); } __global__ void Initialization(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = row * (img.step / img.elem_size) + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { if (img[img_index] > 0) { labels[labels_index] = labels_index + 1; } else { labels[labels_index] = 0; } } } __global__ void Merge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { #define CONDITION_P col > 0 && row > 0 && img[img_index - img.step - 1] > 0 #define CONDITION_Q row > 0 && img[img_index - img.step] > 0 #define CONDITION_R col < img.cols - 1 && row > 0 && img[img_index - img.step + 1] > 0 #define CONDITION_S col > 0 && img[img_index - 1] > 0 #define CONDITION_X img[img_index] > 0 #define ACTION_1 // nothing to do #define ACTION_2 // LabelsSolver::NewLabel(); // new label #define ACTION_3 Union(labels.data, labels_index, labels_index - labels.step / labels.elem_size - 1); //img_labels_row_prev[c - 1]; // x <- p #define ACTION_4 Union(labels.data, labels_index, labels_index - labels.step / labels.elem_size); //img_labels_row_prev[c]; // x <- q #define ACTION_5 Union(labels.data, labels_index, labels_index - labels.step / labels.elem_size + 1); //img_labels_row_prev[c + 1]; // x <- r #define ACTION_6 Union(labels.data, labels_index, labels_index - 1); //img_labels_row[c - 1]; // x <- s #define ACTION_7 Union(labels.data, labels_index, labels_index - labels.step / labels.elem_size - 1); \ Union(labels.data, labels_index, labels_index - labels.step / labels.elem_size + 1); //LabelsSolver::Merge(img_labels_row_prev[c - 1], img_labels_row_prev[c + 1]); // x <- p + r #define ACTION_8 Union(labels.data, labels_index, labels_index - 1); \ Union(labels.data, labels_index, labels_index - labels.step / labels.elem_size + 1); //LabelsSolver::Merge(img_labels_row[c - 1], img_labels_row_prev[c + 1]); // x <- s + r #include "labeling_wu_2009_tree.inc.h" #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R #undef CONDITION_S #undef CONDITION_X } } __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned int val = labels[labels_index]; if (val > 0) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } } class C_SAUF : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: C_SAUF() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Initialization << > > (d_img_, d_img_labels_); Merge << > > (d_img_, d_img_labels_); //Mat1i local_labels(img_.size()); //d_img_labels_.download(local_labels); //cuda::GpuMat d_global_labels; //d_img_labels_.copyTo(d_global_labels); //PathCompression << > > (d_img_, d_global_labels); //// ZeroBackground << > > (d_img_, d_global_labels); //Mat1i global_labels(img_.size()); //d_global_labels.download(global_labels); Compression << > > (d_img_labels_); //d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + x - 1) / x, (d_img_.rows + y - 1) / y, 1); block_size_ = dim3(x, y, 1); BLOCKSIZE_KERNEL(Initialization, grid_size_, block_size_, 0, d_img_, d_img_labels_) BLOCKSIZE_KERNEL(Merge, grid_size_, block_size_, 0, d_img_, d_img_labels_) BLOCKSIZE_KERNEL(Compression, grid_size_, block_size_, 0, d_img_labels_) } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Initialization << > > (d_img_, d_img_labels_); Merge << > > (d_img_, d_img_labels_); Compression << > > (d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(C_SAUF); REGISTER_KERNELS(C_SAUF, Initialization, Merge, Compression) ================================================ FILE: cuda/src/labeling_allegretti_2019_UF_3D.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // 3D Oliveira 3D (we think we are the first) #define BLOCK_X 4 #define BLOCK_Y 4 #define BLOCK_Z 4 using namespace cv; namespace { // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a + 1); done = (old == b + 1); b = old - 1; } else if (b < a) { int old = atomicMin(s_buf + a, b + 1); done = (old == a + 1); a = old - 1; } else { done = true; } } while (!done); } __global__ void Initialization(const cuda::PtrStepSz3b img, cuda::PtrStepSz3i labels) { unsigned x = blockIdx.x * blockDim.x + threadIdx.x; unsigned y = blockIdx.y * blockDim.y + threadIdx.y; unsigned z = blockIdx.z * blockDim.z + threadIdx.z; unsigned img_index = z * (img.stepz / img.elem_size) + y * (img.stepy / img.elem_size) + x; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { if (img[img_index]) { labels[labels_index] = labels_index + 1; } else { labels[labels_index] = 0; } } } __global__ void Merge(cuda::PtrStepSz3i labels) { unsigned x = blockIdx.x * blockDim.x + threadIdx.x; unsigned y = blockIdx.y * blockDim.y + threadIdx.y; unsigned z = blockIdx.z * blockDim.z + threadIdx.z; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { if (labels[labels_index]) { if (z > 0) { unsigned current_plane = labels_index - (labels.stepz / labels.elem_size); if (y > 0) { unsigned current_row = current_plane - (labels.stepy / labels.elem_size); if (x > 0 && labels[current_row - 1]) { Union(labels.data, labels_index, current_row - 1); } if (labels[current_row]) { Union(labels.data, labels_index, current_row); } if (x + 1 < labels.x && labels[current_row + 1]) { Union(labels.data, labels_index, current_row + 1); } } { unsigned current_row = current_plane; if (x > 0 && labels[current_row - 1]) { Union(labels.data, labels_index, current_row - 1); } if (labels[current_row]) { Union(labels.data, labels_index, current_row); } if (x + 1 < labels.x && labels[current_row + 1]) { Union(labels.data, labels_index, current_row + 1); } } if (y + 1 < labels.y) { unsigned current_row = current_plane + (labels.stepy / labels.elem_size); if (x > 0 && labels[current_row - 1]) { Union(labels.data, labels_index, current_row - 1); } if (labels[current_row]) { Union(labels.data, labels_index, current_row); } if (x + 1 < labels.x && labels[current_row + 1]) { Union(labels.data, labels_index, current_row + 1); } } } { if (y > 0) { unsigned current_row = labels_index - (labels.stepy / labels.elem_size); if (x > 0 && labels[current_row - 1]) { Union(labels.data, labels_index, current_row - 1); } if (labels[current_row]) { Union(labels.data, labels_index, current_row); } if (x + 1 < labels.x && labels[current_row + 1]) { Union(labels.data, labels_index, current_row + 1); } } { if (x > 0 && labels[labels_index - 1]) { Union(labels.data, labels_index, labels_index - 1); } } } } } } __global__ void PathCompression(cuda::PtrStepSz3i labels) { unsigned x = blockIdx.x * blockDim.x + threadIdx.x; unsigned y = blockIdx.y * blockDim.y + threadIdx.y; unsigned z = blockIdx.z * blockDim.z + threadIdx.z; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { unsigned int val = labels[labels_index]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } } class UF_3D : public GpuLabeling3D { private: dim3 grid_size_; dim3 block_size_; public: UF_3D() {} void PerformLabeling() { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); grid_size_ = dim3((d_img_.x + BLOCK_X - 1) / BLOCK_X, (d_img_.y + BLOCK_Y - 1) / BLOCK_Y, (d_img_.z + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); //cuda::PtrStep3b ptr_step_prima(d_img_labels_); // Phase 1 Initialization << > > (d_img_, d_img_labels_); //cuda::PtrStepSz3i ptr_step_size(d_img_labels_); // Immagine di debug della prima fase //cuda::GpuMat d_local_labels; //d_img_labels_.copyTo(d_local_labels); //PathCompression << > > (d_img_, d_local_labels); //// ZeroBackground << > > (d_img_, d_local_labels); //Mat1i local_labels(img_.size()); //d_local_labels.download(local_labels); // Phase 2 Merge << > > (d_img_labels_); // Immagine di debug della seconda fase //cuda::GpuMat d_global_labels; //d_img_labels_.copyTo(d_global_labels); //PathCompression << > > (d_img_, d_global_labels); //// ZeroBackground << > > (d_img_, d_global_labels); //Mat1i global_labels(img_.size()); //d_global_labels.download(global_labels); // Phase 3 PathCompression << > > (d_img_labels_); cudaDeviceSynchronize(); //d_img_labels_.download(img_labels_); //Mat errors; //bool correct = CheckLabeledVolume(img_, img_labels_, errors); //volwrite("C:\\Users\\Stefano\\Desktop\\debug\\UF_errors", errors); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); grid_size_ = dim3((d_img_.x + x - 1) / x, (d_img_.y + y - 1) / y, (d_img_.z + z - 1) / z); block_size_ = dim3(x, y, z); // Phase 1 BLOCKSIZE_KERNEL(Initialization, grid_size_, block_size_, 0, d_img_, d_img_labels_) // Phase 2 BLOCKSIZE_KERNEL(Merge, grid_size_, block_size_, 0, d_img_labels_) // Phase 3 BLOCKSIZE_KERNEL(PathCompression, grid_size_, block_size_, 0, d_img_labels_) } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); cudaMemset(d_img_labels_.data, 0, d_img_labels_.stepz * d_img_labels_.z); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset(d_img_labels_.data, 0, d_img_labels_.stepz * d_img_labels_.z); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void LocalScan() { grid_size_ = dim3((d_img_.x + BLOCK_X - 1) / BLOCK_X, (d_img_.y + BLOCK_Y - 1) / BLOCK_Y, (d_img_.z + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); Initialization << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } void GlobalScan() { Merge << > > (d_img_labels_); PathCompression << > > (d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); LocalScan(); GlobalScan(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(UF_3D); REGISTER_KERNELS(UF_3D, Initialization, Merge, PathCompression) ================================================ FILE: cuda/src/labeling_cabaret_2017.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // The algorithm is presented in "Distanceless label // propagation: An efficient direct connected component // labeling algorithm for GPUs", Laurent Cabaret, Lionel // Lacassagne, Daniel Etiemble, IPTA, 2017 #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 #define SOUTH_BORDER 32 #define EAST_BORDER 32 #define RELABELING_ROWS 16 #define RELABELING_COLS 16 using namespace cv; namespace { // Returns the root index of the UFTree __device__ unsigned Find(const int* s_buf, unsigned n) { // n is an index but return value is a label // You can now call Find on a background pixel unsigned label = s_buf[n]; if (label) { while (label - 1 != n) { n = label - 1; label = s_buf[n]; } return n + 1; } else { return 0; } } // SetRoot procedure __device__ void SetRoot(int* labels, unsigned label, unsigned eps) { // label and eps are both labels (not indexes; labels are shifted by one to the right wrt indexes) int father = labels[label - 1]; if (father > eps) { labels[label - 1] = eps; } } // atomicRUF procedure __device__ void atomicRUF(int* labels, unsigned label, unsigned eps) { if (label > eps) { unsigned minResult = atomicMin(labels + label - 1, eps); if (eps > minResult) { atomicRUF(labels, eps, minResult); } else { if (label > minResult) { atomicRUF(labels, minResult, eps); } } } } __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_index = threadIdx.y * BLOCK_COLS + threadIdx.x; unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = row * img.step + col; __shared__ int s_buf[BLOCK_ROWS * BLOCK_COLS]; __shared__ unsigned char s_img[BLOCK_ROWS * BLOCK_COLS]; bool in_limits = (row < img.rows&& col < img.cols); // borders aren't processed // DLP-I s_img[local_index] = in_limits ? img[img_index] : 0xFF; unsigned char v = s_img[local_index]; s_buf[local_index] = v ? local_index + 1 : 0; __syncthreads(); // DLP-SR (optional) if (threadIdx.y < BLOCK_ROWS - 1 && threadIdx.x < BLOCK_COLS - 1 && row < labels.rows - 1 && col < labels.cols - 1) { int min = INT32_MAX; int a[4]; a[0] = s_buf[local_index]; if (a[0] != 0 && a[0] < min) min = a[0]; a[1] = s_buf[local_index + 1]; if (a[1] != 0 && a[1] < min) min = a[1]; a[2] = s_buf[local_index + BLOCK_COLS]; if (a[2] != 0 && a[2] < min) min = a[2]; a[3] = s_buf[local_index + BLOCK_COLS + 1]; if (a[3] != 0 && a[3] < min) min = a[3]; for (unsigned i = 0; i < 4; i++) { unsigned int label = a[i]; if (label != 0 && label != min) { SetRoot(s_buf, label, min); } } } __syncthreads(); // DLP-R (optional) if (v && in_limits) { s_buf[local_index] = Find(s_buf, local_index); } __syncthreads(); // DLP-RUF if (threadIdx.y < BLOCK_ROWS - 1 && threadIdx.x < BLOCK_COLS - 1 && row < labels.rows - 1 && col < labels.cols - 1) { int min = INT32_MAX; int a[4]; a[0] = s_buf[local_index]; if (a[0] != 0 && a[0] < min) min = a[0]; a[1] = s_buf[local_index + 1]; if (a[1] != 0 && a[1] < min) min = a[1]; a[2] = s_buf[local_index + BLOCK_COLS]; if (a[2] != 0 && a[2] < min) min = a[2]; a[3] = s_buf[local_index + BLOCK_COLS + 1]; if (a[3] != 0 && a[3] < min) min = a[3]; for (unsigned i = 0; i < 4; i++) { unsigned int label = a[i]; if (label != 0 && label != min) { atomicRUF(s_buf, label, min); } } } __syncthreads(); // DLP-R if (v && in_limits) { s_buf[local_index] = Find(s_buf, local_index); } __syncthreads(); // Labeltranslation if (in_limits) { if (v) { unsigned f = Find(s_buf, local_index) - 1; unsigned f_row = f / BLOCK_COLS; unsigned f_col = f % BLOCK_COLS; unsigned global_f = (blockIdx.y * BLOCK_ROWS + f_row) * (labels.step / labels.elem_size) + (blockIdx.x * BLOCK_COLS + f_col); labels.data[row * labels.step / sizeof(int) + col] = global_f + 1; } else { labels.data[row * labels.step / sizeof(int) + col] = 0; } } } __global__ void SouthBorderMerge(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y + 1) * BLOCK_ROWS - 1; unsigned col = blockIdx.x * SOUTH_BORDER + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; bool in_limits = (col < labels.cols - 1); if (in_limits) { int min = INT32_MAX; int a[4]; a[0] = labels[labels_index]; if (a[0] != 0 && a[0] < min) min = a[0]; a[1] = labels[labels_index + 1]; if (a[1] != 0 && a[1] < min) min = a[1]; a[2] = labels[labels_index + labels.step / labels.elem_size]; if (a[2] != 0 && a[2] < min) min = a[2]; a[3] = labels[labels_index + labels.step / labels.elem_size + 1]; if (a[3] != 0 && a[3] < min) min = a[3]; for (unsigned i = 0; i < 4; i++) { unsigned int label = a[i]; if (label != 0 && label != min) { atomicRUF(labels, label, min); } } } } __global__ void EastBorderMerge(cuda::PtrStepSzi labels) { unsigned col = (blockIdx.x + 1) * BLOCK_COLS - 1; unsigned row = blockIdx.y * EAST_BORDER + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; bool in_limits = (row < labels.rows - 1); if (in_limits) { int min = INT32_MAX; int a[4]; a[0] = labels[labels_index]; if (a[0] != 0 && a[0] < min) min = a[0]; a[1] = labels[labels_index + 1]; if (a[1] != 0 && a[1] < min) min = a[1]; a[2] = labels[labels_index + labels.step / labels.elem_size]; if (a[2] != 0 && a[2] < min) min = a[2]; a[3] = labels[labels_index + labels.step / labels.elem_size + 1]; if (a[3] != 0 && a[3] < min) min = a[3]; for (unsigned i = 0; i < 4; i++) { unsigned int label = a[i]; if (label != 0 && label != min) { atomicRUF(labels, label, min); } } } } __global__ void Relabeling(cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * RELABELING_ROWS + threadIdx.y; unsigned col = blockIdx.x * RELABELING_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { labels[labels_index] = Find(labels.data, labels_index); } } } class DLP : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: DLP() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); // Phase 1 // Etichetta i pixel localmente al blocco LocalMerge << > > (d_img_, d_img_labels_); // Immagine di debug della prima fase //Mat1i local_labels; //d_img_labels_.download(local_labels); // Phase 2 // Collega tra loro gli alberi union-find dei diversi blocchi SouthBorderMerge << > > (d_img_labels_); EastBorderMerge << > > (d_img_labels_); //Mat1i border_labels; //d_img_labels_.download(border_labels); // Phase 3 // Collassa gli alberi union-find sulle radici grid_size_ = dim3((d_img_.cols + RELABELING_COLS - 1) / RELABELING_COLS, (d_img_.rows + RELABELING_ROWS - 1) / RELABELING_ROWS, 1); block_size_ = dim3(RELABELING_COLS, RELABELING_ROWS, 1); Relabeling << > > (d_img_labels_); //Mat1i final_labels; //d_img_labels_.download(final_labels); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void LocalScan() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } void GlobalScan() { SouthBorderMerge << > > (d_img_labels_); EastBorderMerge << > > (d_img_labels_); grid_size_ = dim3((d_img_.cols + RELABELING_COLS - 1) / RELABELING_COLS, (d_img_.rows + RELABELING_ROWS - 1) / RELABELING_ROWS, 1); block_size_ = dim3(RELABELING_COLS, RELABELING_ROWS, 1); Relabeling << > > (d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); LocalScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); GlobalScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(DLP); ================================================ FILE: cuda/src/labeling_chen_2011.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // P. Chen, H.L. Zhao, C. Tao and H.S. Sang // National Key Laboratory of Science and Technology on Multi-spectral Information Processing // Institute for Pattern Recognition and Artificial Intelligence, Huazhong // University of Science and Technology, Luoyu Road 1037, Wuhan, China // // This algorithm is described in "Block-run-based connected component labelling algorithm for GPGPU using shared memory", Chen et al., 2011 // The algorithm imposes limits on the image size; therefore, it can only be performed on certain datasets, listed below. // This is the original implementation provided by the authors, and it is not optimized for YACCLAB tasks. // // WARNING: datasets available restricted to the following: // ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr"], except for medical/00094.png #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 void chen_label_512(uchar* cbpt, uchar* cbpt2, uchar* cbps, uchar* cbb, uchar* cbb2, uchar* cbglabel, uint h, uint bn, uchar* cbeb); void chen_label_1024(uchar* cbpt, uchar* cbpt2, uchar* cbps, uchar* cbb, uchar* cbb2, uchar* cbglabel, uint h, uint bn, uchar* cbeb); void chen_label_2048(uchar* cbpt, uchar* cbpt2, uchar* cbps, uchar* cbb, uchar* cbb2, uchar* cbglabel, uint h, uint bn, uchar* cbeb); __global__ static void FinalLabeling(uint* labels, int labels_step, ushort* blocks, int blocks_step, uchar* img, int img_step, int width, int height) { unsigned row = (blockIdx.y * blockDim.y + threadIdx.y) * 2; unsigned col = (blockIdx.x * blockDim.x + threadIdx.x) * 2; unsigned img_index = row * img_step + col; unsigned labels_index = row * (labels_step / 4) + col; unsigned blocks_index = row / 2 * (blocks_step / 2) + col / 2; if (row < height && col < width) { ushort label = blocks[blocks_index] + 1; if (img[img_index]) labels[labels_index] = label; else { labels[labels_index] = 0; } if (col + 1 < width) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (row + 1 < height) { if (img[img_index + img_step + 1]) labels[labels_index + (labels_step / 4) + 1] = label; else { labels[labels_index + (labels_step / 4) + 1] = 0; } } } if (row + 1 < height) { if (img[img_index + img_step]) labels[labels_index + (labels_step / 4)] = label; else { labels[labels_index + (labels_step / 4)] = 0; } } } } class BRB : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; int smCnt = 0; int bn; //how many partitions int nwidth; int nheight; unsigned char* srcBuf, * dstBuf, * dstBuf2, * glabel, * errBuf, * bBuf, * b2Buf; size_t srcBufPitch, dstBufPitch, dstBuf2Pitch, glabelPitch, errBufPitch, bBufPitch, b2BufPitch; public: BRB() { cudaDeviceProp devProp; cudaGetDeviceProperties(&devProp, 0); smCnt = devProp.multiProcessorCount; } void PerformLabeling() { //choosing the parameters for our ccl int bn = 8; //how many partitions int nwidth = 512; if (d_img_.cols == 1 || d_img_.rows == 1) { return; } if (d_img_.cols > 512) { nwidth = 1024; bn = 6; } if (d_img_.cols > 1024) { nwidth = 2048; bn = 3; } if (d_img_.cols > 2048) { throw std::runtime_error("Chen::PerformLabeling: Image too wide, max width is 2048"); return; } if (smCnt == 0) { throw std::runtime_error("Chen::PerformLabeling: No device with cap 2.x found"); return; } if (smCnt != 0) { bn = bn * smCnt; } int nheight = (d_img_.rows - 2) / (2 * bn); if ((nheight * 2 * bn + 2) < d_img_.rows) nheight++; nheight = nheight * 2 * bn + 2; unsigned char* srcBuf, * dstBuf, * dstBuf2, * glabel, * errBuf, * bBuf, * b2Buf; size_t srcBufPitch, dstBufPitch, dstBuf2Pitch, glabelPitch, errBufPitch, bBufPitch, b2BufPitch; cudaMallocPitch(&srcBuf, &srcBufPitch, nwidth, nheight); cudaMallocPitch(&dstBuf, &dstBufPitch, nwidth, (nheight - 2) / 2); cudaMallocPitch(&dstBuf2, &dstBuf2Pitch, nwidth, (nheight - 2) / 2); cudaMallocPitch(&glabel, &glabelPitch, 4, 1); cudaMallocPitch(&errBuf, &errBufPitch, nwidth, 9 * bn); cudaMallocPitch(&bBuf, &bBufPitch, nwidth, 2 * bn); cudaMallocPitch(&b2Buf, &b2BufPitch, nwidth, 2 * bn); cudaMemset2D(srcBuf, srcBufPitch, 0, nwidth, nheight); cudaMemcpy2D(srcBuf, srcBufPitch, d_img_.data, d_img_.step, d_img_.cols, d_img_.rows, ::cudaMemcpyDeviceToDevice); // Input image debug unsigned char* srcBufHost; srcBufHost = (unsigned char*)malloc(nwidth * nheight); cudaMemcpy2D(srcBufHost, nwidth, srcBuf, srcBufPitch, nwidth, nheight, ::cudaMemcpyDeviceToHost); if (nwidth == 512) chen_label_512(dstBuf, dstBuf2, srcBuf, bBuf, b2Buf, glabel, nheight, bn, errBuf); else if (nwidth == 1024) chen_label_1024(dstBuf, dstBuf2, srcBuf, bBuf, b2Buf, glabel, nheight, bn, errBuf); else if (nwidth == 2048) chen_label_2048(dstBuf, dstBuf2, srcBuf, bBuf, b2Buf, glabel, nheight, bn, errBuf); // Block image debug unsigned char* dstBufHost; dstBufHost = (unsigned char*)malloc(nwidth * ((nheight - 2) / 2)); cudaMemcpy2D(dstBufHost, nwidth, dstBuf, dstBufPitch, nwidth, (nheight - 2) / 2, ::cudaMemcpyDeviceToHost); d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); FinalLabeling << > > ((uint*)d_img_labels_.data, (int)d_img_labels_.step, (ushort*)dstBuf, dstBufPitch, (uchar*)srcBuf, srcBufPitch, (int)d_img_.cols, (int)d_img_.rows); // Output image debug d_img_labels_.download(img_labels_); cudaFree(srcBuf); cudaFree(dstBuf); cudaFree(dstBuf2); cudaFree(glabel); cudaFree(errBuf); cudaFree(bBuf); cudaFree(b2Buf); cudaDeviceSynchronize(); } private: void Alloc() { //choosing the parameters for our ccl bn = 8; //how many partitions nwidth = 512; if (d_img_.cols == 1 || d_img_.rows == 1) { return; } if (d_img_.cols > 512) { nwidth = 1024; bn = 6; } if (d_img_.cols > 1024) { nwidth = 2048; bn = 3; } if (d_img_.cols > 2048) { throw std::runtime_error("Chen::PerformLabeling: Image too wide, max width is 2048"); return; } if (smCnt == 0) { throw std::runtime_error("Chen::PerformLabeling: No device with cap 2.x found"); return; } if (smCnt != 0) { bn = bn * smCnt; } nheight = (d_img_.rows - 2) / (2 * bn); if ((nheight * 2 * bn + 2) < d_img_.rows) nheight++; nheight = nheight * 2 * bn + 2; cudaMallocPitch(&srcBuf, &srcBufPitch, nwidth, nheight); cudaMallocPitch(&dstBuf, &dstBufPitch, nwidth, (nheight - 2) / 2); cudaMallocPitch(&dstBuf2, &dstBuf2Pitch, nwidth, (nheight - 2) / 2); cudaMallocPitch(&glabel, &glabelPitch, 4, 1); cudaMallocPitch(&errBuf, &errBufPitch, nwidth, 9 * bn); cudaMallocPitch(&bBuf, &bBufPitch, nwidth, 2 * bn); cudaMallocPitch(&b2Buf, &b2BufPitch, nwidth, 2 * bn); d_img_labels_.create(d_img_.size(), CV_32SC1); } void Dealloc() { cudaFree(srcBuf); cudaFree(dstBuf); cudaFree(dstBuf2); cudaFree(glabel); cudaFree(errBuf); cudaFree(bBuf); cudaFree(b2Buf); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void FirstScan() { cudaMemset2D(srcBuf, srcBufPitch, 0, nwidth, nheight); cudaMemcpy2D(srcBuf, srcBufPitch, d_img_.data, d_img_.step, d_img_.cols, d_img_.rows, ::cudaMemcpyDeviceToDevice); if (nwidth == 512) chen_label_512(dstBuf, dstBuf2, srcBuf, bBuf, b2Buf, glabel, nheight, bn, errBuf); else if (nwidth == 1024) chen_label_1024(dstBuf, dstBuf2, srcBuf, bBuf, b2Buf, glabel, nheight, bn, errBuf); else if (nwidth == 2048) chen_label_2048(dstBuf, dstBuf2, srcBuf, bBuf, b2Buf, glabel, nheight, bn, errBuf); cudaDeviceSynchronize(); } void SecondScan() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); FinalLabeling << > > ((uint*)d_img_labels_.data, (int)d_img_labels_.step, (ushort*)dstBuf, dstBufPitch, (uchar*)srcBuf, srcBufPitch, (int)d_img_.cols, (int)d_img_.rows); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { if (d_img_.cols == 1 || d_img_.rows == 1) { return; } perf_.start(); Alloc(); perf_.stop(); double alloc_timing = perf_.last(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BRB); ================================================ FILE: cuda/src/labeling_chen_2011_1024.cu ================================================ #define WP 32 #define BM (WP-1) #define dt unsigned short #define dts 2 #define TGTG 1 #define TGNTG 0 #define LBMAX 0xffff #define LB2MAX 0xffffffff typedef unsigned int uint; typedef unsigned char uchar; typedef unsigned short ushort; #define W 1024 #define HWW 9 #define rep 2 #define HW (W/2) #define QW (W/4) #define HWP (WP/2) #define QWP (WP/4) #define EWP (WP/8) #define XWP (WP/16) #define TN (W/(rep*2)) #define WN (TN/WP) #define MASKAD (~(-1 << HWW)) __device__ __inline__ static void detectRuns1024(ushort* pt, uchar* ct, uchar* ps, uchar* px, ushort* tbf, uint cp2) { uint* ps4 = (uint*)ps; uint* pt2 = (uint*)pt; ushort* ct2 = (ushort*)ct; uint cp = cp2 >> 1;//threadIdx.x + threadIdx.y * WP; // uint cp2 = cp << 1; uint t0, t1, t2, t3, t4, t5; t0 = ps4[cp]; t0 = __byte_perm(t0, 0, 0x3120); t0 &= 0x1010101; t0 |= t0 >> 15; t0 |= t0 >> 6; t0 &= 0xf; t1 = px[cp]; t5 = 0; if ((t1 & 0x3))// && (t0 & 0x3) t5 = 0x1; if ((t1 & 0xc))// && (t0 & 0xc) t5 |= 0x100; ct2[cp] = t5;// | ((ct2[cp] & 0xf0f) << 4); t1 = t1 | t0; px[cp] = t0 | (px[cp] << 4); t3 = W; t4 = W; t5 = 0; if (t1 & 0x3) t3 = cp2; if (t1 & 0xc) t4 = cp2 + 1; if ((t1 & 0x6) == 0x6) t4 = t3; t0 = W; if (t1 & 0x8) t0 = t4; pt2[cp] = t0; t0 = __ballot_sync(0xffffffff, (t1 & 0xf) != 0xf); t0 <<= (WP - threadIdx.x); t0 = __clz(t0); t5 = (t0 == WP) && ((t1 & 0xf) == 0xf); t0 = max((int)0, ((int)threadIdx.x) - 1 - ((int)t0)); t2 = pt2[threadIdx.y * WP + t0]; if (t2 == W) t2 = (t0 + 1 + threadIdx.y * WP) * 2; // __syncthreads(); if (threadIdx.x != 0 && (t1 & 0x1)) { if (t3 == cp2) t3 = t2; if (t4 == cp2) t4 = t2; } if (threadIdx.x == (WP - 1)) { t5 = t5 ? t4 : t4 + HW; t5 = (t1 & 0x8) ? t5 : (W + HW); tbf[threadIdx.y] = t5; } __syncthreads(); if (threadIdx.y != 0) { t5 = tbf[threadIdx.x]; t0 = __ballot_sync(0xffffffff, (t5 & HW) != 0); t0 <<= (WP - threadIdx.y); t0 = __clz(t0); t0 = max((int)0, ((int)threadIdx.y) - 1 - ((int)t0)); t1 = tbf[t0]; if (t1 & W) t1 = (t0 + 1) * WP * 2; t1 = t1 & MASKAD; //remove tags cp2 = threadIdx.y * WP * 2; if (px[cp2 >> 1] & 0x11) { if (t3 == cp2) t3 = t1; if (t4 == cp2) t4 = t1; } } t4 <<= 16; t4 |= t3; pt2[cp] = t4; } __global__ static void pass1_1024(ushort* pt, uchar* ps, ushort* b, ushort* b2, uint h, ushort* eb) { __shared__ __align__(4) ushort lk0[HW]; //upper link __shared__ __align__(4) ushort lk1[HW]; //back up of current link // __shared__ __align__(4) ushort lk2[HW]; //new value of current link __shared__ __align__(4) ushort lk3[HW]; //down linked last block __shared__ __align__(4) ushort lk4[HW]; //botton link __shared__ uchar ct[HW]; //connection tag of each block __shared__ uchar px[QW]; //value of four pixels __shared__ ushort tbf[WP]; uint blockIdxx = blockIdx.x; uint cp = (threadIdx.x + threadIdx.y * WP) << 1; // if(blockIdxx != 3) // return; ps = ps + blockIdxx * h * W; pt = pt + blockIdxx * h * HW / 2; eb = eb + blockIdxx * HW * 9; h += 2; //calucate 2 more lines px[cp >> 1] = 0; // ((ushort*)ct)[cp>>1] = 0; detectRuns1024(lk0, ct, ps, px, tbf, cp); ps += W; /* {//no error //cp = threadIdx.x + threadIdx.y*WP; ((uint*)(eb))[cp>>1] = 0; ((uint*)(eb+HW))[cp>>1] = 0; ((uint*)(eb+2*HW))[cp>>1] = 0; ((uint*)(eb+3*HW))[cp>>1] = 0; ((uint*)(eb+4*HW))[cp>>1] = 0; ((uint*)(eb+5*HW))[cp>>1] = 0; ((uint*)(eb+6*HW))[cp>>1] = 0; ((uint*)(eb+7*HW))[cp>>1] = 0; ((uint*)(eb+8*HW))[cp>>1] = 0; } */ for (int hh = 1; hh < h; hh++) { detectRuns1024(lk1, ct, ps, px, tbf, cp); ps += W; uint lt0 = ((uint*)lk0)[cp >> 1]; //backup lk0 ((uint*)lk0)[cp >> 1] = lt0 | ((HW << 16) | HW);//((uint*)lk0)[cp>>1];//(W << 16) | W;//initialize lk2 __syncthreads(); uint lt1 = ((uint*)lk1)[cp >> 1]; //back up lk1, because lk1 will modified next { ushort t0; t0 = lt0; if (ct[cp]) {// every one write lk0 && lk1[lk0[cp]] > lk1[cp] lk0[t0] = lt1; } cp++; t0 = lt0 >> 16; if (ct[cp]) { lk0[t0] = lt1 >> 16; } cp--; __syncthreads(); } do { ushort t0, t1, t2; bool changed = 0; t1 = lt1; t0 = lt0; t2 = t1; if (ct[cp]) { t2 = lk0[t0]; if (t1 != t2) changed = 1; if (t2 < t1)//update self lk1[t1] = t2; } cp++; t1 = lt1 >> 16; t0 = lt0 >> 16; t2 = t1; if (ct[cp]) { t2 = lk0[t0]; if (t1 != t2) changed = 1; if (t2 < t1) lk1[t1] = t2; } cp--; changed = __syncthreads_or(changed); t1 = lt1; if (t1 < HW) t1 = lk1[t1]; lt1 = __byte_perm(lt1, t1, 0x3254); t1 = lt1 >> 16; if (t1 < HW) t1 = lk1[t1]; lt1 = __byte_perm(lt1, t1, 0x5410); if (!changed) break; t1 = lt1; t0 = lt0; if (ct[cp] && (lk0[t0] > t1)) {// min write lk0[t0] = t1; } cp++; t1 = lt1 >> 16; t0 = lt0 >> 16; if (ct[cp] && (lk0[t0] > t1)) { lk0[t0] = t1; } cp--; __syncthreads(); } while (1); ((uint*)lk1)[cp >> 1] = lt1; if ((hh & 0x1) && (hh != 1)) {//only odd line write out //resolve linkage by lk3, lk4 ushort t0, t1, t2; t0 = lk3[cp]; t2 = t0; if (t0 >= HW && t0 < W) t2 = lk3[t0 - HW]; if (t2 < HW) { t2 = lk0[t2]; if (t2 < HW) t0 = t2; else if (t0 < HW) t0 = cp | HW; } cp++; t1 = lk3[cp]; t2 = t1; if (t1 >= HW && t1 < W) t2 = lk3[t1 - HW]; if (t2 < HW) { t2 = lk0[t2]; if (t2 < HW) t1 = t2; else if (t1 < HW) t1 = cp | HW; } cp--; uint t3 = (t1 << 16) | t0; ((uint*)lk3)[cp >> 1] = t3;//write back, next iter, lk4 will use it //((uint*)pt)[cp>>1] = t3;//((uint*)lk3)[cp>>1]((uint*)lk3)[cp>>1] //pt += HW; } else ((uint*)lk3)[cp >> 1] = ((uint*)lk0)[cp >> 1];//t2; if((hh & 0x1) == 0) __syncthreads(); ((uint*)lk0)[cp >> 1] = ((uint*)lk1)[cp >> 1]; if (hh < 4) ((uint*)lk4)[cp >> 1] = ((uint*)lk3)[cp >> 1];//t2; else if ((hh & 0x1)) {// && (hh != 1) ushort t0, t1; t0 = lk4[cp]; t1 = t0; if (t0 < HW) { t0 = lk3[t0]; if (t0 >= HW && t0 < W) { lk3[t0 - HW] = 0x8000 | cp; t0 = t1 | 0x8000; } else if (t0 & 0x8000) t0 = t1 | 0x8000; } lk4[cp] = t0; cp++; t0 = lk4[cp]; t1 = t0; if (t0 < HW) { t0 = lk3[t0]; if (t0 >= HW && t0 < W) { lk3[t0 - HW] = 0x8000 | cp; t0 = t1 | 0x8000; } else if (t0 & 0x8000) t0 = t1 | 0x8000; } lk4[cp] = t0; cp--; } __syncthreads(); if ((hh & 0x1) && (hh != 1)) { ushort t0; ((uint*)pt)[cp >> 1] = ((uint*)lk3)[cp >> 1]; pt += HW; t0 = lk4[cp]; if (t0 & 0x8000) t0 = (lk3[t0 & MASKAD] & MASKAD) | HW; lk4[cp] = t0; cp++; t0 = lk4[cp]; if (t0 & 0x8000) t0 = (lk3[t0 & MASKAD] & MASKAD) | HW; lk4[cp] = t0; cp--; } } //write out info for pass2 { b += blockIdxx * 2 * HW; b2 += blockIdxx * 2 * HW; ((uint*)b)[cp >> 1] = ((uint*)lk4)[cp >> 1]; // ((uint*)b2)[cp>>1] = ((uint*)lk4)[cp>>1]; b += HW; b2 += HW; ((uint*)b)[cp >> 1] = ((uint*)lk1)[cp >> 1]; // ((uint*)b2)[cp>>1] = ((uint*)lk1)[cp>>1]; } // if(threadIdx.x == 0 && threadIdx.y == 0) // printf("%d end\n", blockIdx.x); } __global__ static void pass2_1024(ushort* ib, uint* glabel, uint h, uint pitch) { __shared__ uint lk0[HW]; //last tag __shared__ ushort lk1[HW]; //current link __shared__ uint lk2[HW]; //current tag __shared__ ushort lk3[HW]; //bottom flattened link to current __shared__ uint labels; uint cp = threadIdx.x; ushort* b = ib + (h * (pitch + 1) * blockIdx.x + 1) * HW; { ushort tmp = b[cp]; lk0[cp] = tmp; lk3[cp] = tmp; lk2[cp] = W; b += HW * pitch; } labels = 0; __syncthreads(); for (int i = 1; i < h; i++) { ushort tmp, tmp1; //load a new block info tmp = b[cp];//the upper line connection info to bottom line // lk1[cp] = tmp; if (i > 1) { tmp1 = lk3[cp]; //update if (tmp1 < HW) tmp1 = tmp; lk3[cp] = tmp1; } b += HW; //lk2[cp] = b[cp];//the bottom line tags, this proc try to unify this line tmp1 = b[cp]; lk2[cp] = tmp1 + HW;//tmp1 < HW ? tmp1 + HW : tmp1; // b+=HW*pitch; __syncthreads(); ushort lt0 = lk0[cp]; if (tmp < HW)//every one write lk2[tmp] = lt0; else if (tmp < W) lk1[tmp - HW] = lt0; __syncthreads(); do { bool changed = 0; if (tmp < HW) { changed = lk2[tmp] != lt0; if (lk2[tmp] < lt0) lk0[lt0] = lk2[tmp]; } else if (tmp < W) { changed = lk1[tmp - HW] != lt0; if (lk1[tmp - HW] < lt0) lk0[lt0] = lk1[tmp - HW]; } changed = __syncthreads_or(changed); if (lt0 < HW) lt0 = lk0[lt0]; if (!changed) break; if (tmp < HW) { if (lk2[tmp] > lt0) lk2[tmp] = lt0; } else if (tmp < W) { if (lt0 < lk1[tmp - HW]) lk1[tmp - HW] = lt0; } __syncthreads(); } while (1); //write out lk2 info, ???link back to bottom? b -= HW * (pitch + 1); b[cp] = lt0; b += HW * (pitch + pitch + 1); tmp = lk2[cp]; if (tmp < HW)// && tmp < W)// && lk2[cp] == cp, if dateset correct, this is not necessary lk0[tmp] = cp; //atomicMin(lk0+tmp, cp); __syncthreads(); //head link together tmp = lk2[cp]; if (tmp < HW) tmp = lk0[tmp]; else if (tmp < W) tmp = tmp - HW; lk2[cp] = tmp; __syncthreads(); //all leaf in lk2 updates tmp = lk2[cp]; if (tmp < HW) tmp = lk2[tmp]; lk0[cp] = tmp;//so lk0 contains the last block line tags // __syncthreads(); } b -= HW * pitch; b[cp] = lk0[cp]; b = ib + (h * (pitch + 1) * (blockIdx.x + 1) - 1) * HW; //back ward tag assign { ushort tmp = b[cp], res = LBMAX; if (tmp == cp) res = atomicInc(&labels, 0x8000);//(h-1) << 12; lk2[cp] = res; __syncthreads(); if (tmp < HW) res = lk2[tmp]; lk2[cp] = res; //last line tags b[cp] = res; b -= HW; } __syncthreads(); for (int i = h - 2; i >= 0; i--) { ushort tmp, tmp2;//, tmp4; tmp = b[cp]; //next link info //lk1[cp] = tmp; b -= HW * pitch; tmp2 = b[cp];//current link info lk1[cp] = tmp2; lk0[cp] = LBMAX;//final tags __syncthreads(); /* tmp4 = W; if(tmp >= HW && tmp < W){//race to resolve linked by current block tmp4 = tmp - HW; lk1[tmp4] = tmp2; } __syncthreads(); do{ bool changed = 0; if(tmp4 < HW){ changed = lk1[tmp4] != tmp2; if(tmp2 > lk1[tmp4]) lk1[tmp2] = lk1[tmp4]; } changed = __syncthreads_or(changed); if(tmp2 < HW) tmp2 = lk1[tmp2]; if(!changed) break; if(tmp4 < HW && tmp2 < lk1[tmp4]) lk1[tmp4] = tmp2; __syncthreads(); }while(1); */ if (tmp < HW) {//next linked if (tmp2 < HW) lk0[tmp2] = lk2[tmp]; // else // tmp2 = W; } __syncthreads(); if (tmp2 == cp && lk0[cp] == LBMAX) {//current linked lk0[cp] = atomicInc(&labels, 0x8000);//((h-1) << 12) - HW; } __syncthreads(); tmp = LBMAX; if (tmp2 < HW) tmp = lk0[tmp2]; //write out tags b[cp] = tmp; b -= HW; //switch buffer lk2[cp] = tmp; __syncthreads(); } //update first line link info // b = ib + (h*(pitch+1)*blockIdx.x) * HW; // b[cp] = lk3[cp]; *glabel = labels; } __global__ void static pass3_1024(ushort* pt, ushort* ps, ushort* b, uint* label, uint h) { __shared__ ushort cur[W / 2]; //last tag __shared__ ushort lst[W / 2]; //current link __shared__ ushort bot[W / 2]; //current tag __shared__ ushort lnk[W / 2]; //current link to last // __shared__ uint llabel; uint cp = (threadIdx.x + threadIdx.y * WP) << 1; pt = pt + (blockIdx.x * h + h - 1) * HW; ps = ps + (blockIdx.x * h + h - 1) * HW; if (blockIdx.x == 0) { ((uint*)bot)[cp >> 1] = LB2MAX; b += HW; } else { b += (blockIdx.x * 2 - 1) * HW; ((uint*)bot)[cp >> 1] = ((uint*)b)[cp >> 1]; b += 2 * HW; } ((uint*)cur)[cp >> 1] = ((uint*)b)[cp >> 1]; __syncthreads(); for (int i = h - 1; i >= 0; i--) { //load current link ((uint*)lnk)[cp >> 1] = ((uint*)ps)[cp >> 1]; ps -= HW; //switch cur last ((uint*)lst)[cp >> 1] = ((uint*)cur)[cp >> 1]; //clear cur ((uint*)cur)[cp >> 1] = LB2MAX; // llabel = 0; __syncthreads(); if (lnk[cp] < HW) {//link to last cur[cp] = lst[lnk[cp]]; } else if (lnk[cp] < W && lnk[cp] == (HW + cp)) {//link to local, and a head, assigning new label if (blockIdx.x != 0 && i == 0) cur[cp] = bot[cp]; else cur[cp] = atomicInc(label, LBMAX); } if (lnk[cp] & 0x8000) {//link to bottom if (blockIdx.x == 0) cur[cp] = atomicInc(label, LBMAX); else cur[cp] = bot[lnk[cp] & MASKAD]; } cp++; if (lnk[cp] < HW) {//link to last cur[cp] = lst[lnk[cp]]; } else if (lnk[cp] < W && lnk[cp] == (HW + cp)) {//link to local, and a head, assigning new label if (blockIdx.x != 0 && i == 0) cur[cp] = bot[cp]; else cur[cp] = atomicInc(label, LBMAX); } if (lnk[cp] & 0x8000) {//link to bottom if (blockIdx.x == 0) cur[cp] = atomicInc(label, LBMAX); else cur[cp] = bot[lnk[cp] & MASKAD]; } cp--; __syncthreads(); if (lnk[cp] >= HW && lnk[cp] < W) cur[cp] = cur[lnk[cp] - HW]; cp++; if (lnk[cp] >= HW && lnk[cp] < W) cur[cp] = cur[lnk[cp] - HW]; cp--; //write out ((uint*)pt)[cp >> 1] = ((uint*)cur)[cp >> 1]; pt -= HW; __syncthreads(); } } void chen_label_1024(uchar* cbpt, uchar* cbpt2, uchar* cbps, uchar* cbb, uchar* cbb2, uchar* cbglabel, uint h, uint bn, uchar* cbeb) { ushort* pt = (ushort*)cbpt; ushort* pt2 = (ushort*)cbpt2; uchar* ps = (uchar*)cbps; ushort* b = (ushort*)cbb; ushort* b2 = (ushort*)cbb2; uint* glabel = (uint*)cbglabel; ushort* eb = (ushort*)cbeb; dim3 threads(WP, TN / WP, 1); dim3 grid(bn, 1, 1); dim3 threads2(HW, 1, 1); dim3 grid2(1, 1, 1); pass1_1024 << > > (pt2, ps, b, b2, (h - 2) / bn, eb); pass2_1024 << > > (b, glabel, bn, 1); pass3_1024 << > > (pt, pt2, b, glabel, (h - 2) / (bn * 2)); } ================================================ FILE: cuda/src/labeling_chen_2011_2048.cu ================================================ #define WP 32 #define BM (WP-1) #define dt unsigned short #define dts 2 #define TGTG 1 #define TGNTG 0 #define LBMAX 0xffff #define LB2MAX 0xffffffff typedef unsigned int uint; typedef unsigned char uchar; typedef unsigned short ushort; #define W 2048 #define HWW 10 #define rep 2 #define HW (W/2) #define QW (W/4) #define HWP (WP/2) #define QWP (WP/4) #define EWP (WP/8) #define XWP (WP/16) #define TN (W/(rep*2)) #define WN (TN/WP) #define MASKAD (~(-1 << HWW)) __device__ __inline__ static void detectRuns2048(ushort* pt, uchar* ct, uchar* ps, uchar* px, ushort* tbf, uint cp2) { uint* ps4 = (uint*)ps; uint* pt2 = (uint*)pt; ushort* ct2 = (ushort*)ct; uint cp = cp2 >> 1;//threadIdx.x + threadIdx.y * WP; // uint cp2 = cp << 1; uint t0, t1, t2, t3, t4, t5; t0 = ps4[cp]; t0 = __byte_perm(t0, 0, 0x3120); t0 &= 0x1010101; t0 |= t0 >> 15; t0 |= t0 >> 6; t0 &= 0xf; t1 = px[cp]; t5 = 0; if ((t1 & 0x3))// && (t0 & 0x3) t5 = 0x1; if ((t1 & 0xc))// && (t0 & 0xc) t5 |= 0x100; ct2[cp] = t5;// | ((ct2[cp] & 0xf0f) << 4); t1 = t1 | t0; px[cp] = t0 | (px[cp] << 4); t3 = W; t4 = W; t5 = 0; if (t1 & 0x3) t3 = cp2; if (t1 & 0xc) t4 = cp2 + 1; if ((t1 & 0x6) == 0x6) t4 = t3; t0 = W; if (t1 & 0x8) t0 = t4; pt2[cp] = t0; t0 = __ballot_sync(0xffffffff, (t1 & 0xf) != 0xf); t0 <<= (WP - threadIdx.x); t0 = __clz(t0); t5 = (t0 == WP) && ((t1 & 0xf) == 0xf); t0 = max((int)0, ((int)threadIdx.x) - 1 - ((int)t0)); t2 = pt2[threadIdx.y * WP + t0]; if (t2 == W) t2 = (t0 + 1 + threadIdx.y * WP) * 2; // __syncthreads(); if (threadIdx.x != 0 && (t1 & 0x1)) { if (t3 == cp2) t3 = t2; if (t4 == cp2) t4 = t2; } if (threadIdx.x == (WP - 1)) { t5 = t5 ? t4 : t4 + HW; t5 = (t1 & 0x8) ? t5 : (W + HW); tbf[threadIdx.y] = t5; } __syncthreads(); if (threadIdx.y != 0) { t5 = tbf[threadIdx.x]; t0 = __ballot_sync(0xffffffff, (t5 & HW) != 0); t0 <<= (WP - threadIdx.y); t0 = __clz(t0); t0 = max((int)0, ((int)threadIdx.y) - 1 - ((int)t0)); t1 = tbf[t0]; if (t1 & W) t1 = (t0 + 1) * WP * 2; t1 = t1 & MASKAD; //remove tags cp2 = threadIdx.y * WP * 2; if (px[cp2 >> 1] & 0x11) { if (t3 == cp2) t3 = t1; if (t4 == cp2) t4 = t1; } } t4 <<= 16; t4 |= t3; pt2[cp] = t4; } __global__ static void pass1_2048(ushort* pt, uchar* ps, ushort* b, ushort* b2, uint h, ushort* eb) { __shared__ __align__(4) ushort lk0[HW]; //upper link __shared__ __align__(4) ushort lk1[HW]; //back up of current link // __shared__ __align__(4) ushort lk2[HW]; //new value of current link __shared__ __align__(4) ushort lk3[HW]; //down linked last block __shared__ __align__(4) ushort lk4[HW]; //botton link __shared__ uchar ct[HW]; //connection tag of each block __shared__ uchar px[QW]; //value of four pixels __shared__ ushort tbf[WP]; uint blockIdxx = blockIdx.x; uint cp = (threadIdx.x + threadIdx.y * WP) << 1; // if(blockIdxx != 3) // return; ps = ps + blockIdxx * h * W; pt = pt + blockIdxx * h * HW / 2; eb = eb + blockIdxx * HW * 9; h += 2; //calucate 2 more lines px[cp >> 1] = 0; // ((ushort*)ct)[cp>>1] = 0; detectRuns2048(lk0, ct, ps, px, tbf, cp); ps += W; /* {//no error //cp = threadIdx.x + threadIdx.y*WP; ((uint*)(eb))[cp>>1] = 0; ((uint*)(eb+HW))[cp>>1] = 0; ((uint*)(eb+2*HW))[cp>>1] = 0; ((uint*)(eb+3*HW))[cp>>1] = 0; ((uint*)(eb+4*HW))[cp>>1] = 0; ((uint*)(eb+5*HW))[cp>>1] = 0; ((uint*)(eb+6*HW))[cp>>1] = 0; ((uint*)(eb+7*HW))[cp>>1] = 0; ((uint*)(eb+8*HW))[cp>>1] = 0; } */ for (int hh = 1; hh < h; hh++) { detectRuns2048(lk1, ct, ps, px, tbf, cp); ps += W; uint lt0 = ((uint*)lk0)[cp >> 1]; //backup lk0 ((uint*)lk0)[cp >> 1] = lt0 | ((HW << 16) | HW);//((uint*)lk0)[cp>>1];//(W << 16) | W;//initialize lk2 __syncthreads(); uint lt1 = ((uint*)lk1)[cp >> 1]; //back up lk1, because lk1 will modified next { ushort t0; t0 = lt0; if (ct[cp]) {// every one write lk0 && lk1[lk0[cp]] > lk1[cp] lk0[t0] = lt1; } cp++; t0 = lt0 >> 16; if (ct[cp]) { lk0[t0] = lt1 >> 16; } cp--; __syncthreads(); } do { ushort t0, t1, t2; bool changed = 0; t1 = lt1; t0 = lt0; t2 = t1; if (ct[cp]) { t2 = lk0[t0]; if (t1 != t2) changed = 1; if (t2 < t1)//update self lk1[t1] = t2; } cp++; t1 = lt1 >> 16; t0 = lt0 >> 16; t2 = t1; if (ct[cp]) { t2 = lk0[t0]; if (t1 != t2) changed = 1; if (t2 < t1) lk1[t1] = t2; } cp--; changed = __syncthreads_or(changed); t1 = lt1; if (t1 < HW) t1 = lk1[t1]; lt1 = __byte_perm(lt1, t1, 0x3254); t1 = lt1 >> 16; if (t1 < HW) t1 = lk1[t1]; lt1 = __byte_perm(lt1, t1, 0x5410); if (!changed) break; t1 = lt1; t0 = lt0; if (ct[cp] && (lk0[t0] > t1)) {// min write lk0[t0] = t1; } cp++; t1 = lt1 >> 16; t0 = lt0 >> 16; if (ct[cp] && (lk0[t0] > t1)) { lk0[t0] = t1; } cp--; __syncthreads(); } while (1); ((uint*)lk1)[cp >> 1] = lt1; if ((hh & 0x1) && (hh != 1)) {//only odd line write out //resolve linkage by lk3, lk4 ushort t0, t1, t2; t0 = lk3[cp]; t2 = t0; if (t0 >= HW && t0 < W) t2 = lk3[t0 - HW]; if (t2 < HW) { t2 = lk0[t2]; if (t2 < HW) t0 = t2; else if (t0 < HW) t0 = cp | HW; } cp++; t1 = lk3[cp]; t2 = t1; if (t1 >= HW && t1 < W) t2 = lk3[t1 - HW]; if (t2 < HW) { t2 = lk0[t2]; if (t2 < HW) t1 = t2; else if (t1 < HW) t1 = cp | HW; } cp--; uint t3 = (t1 << 16) | t0; ((uint*)lk3)[cp >> 1] = t3;//write back, next iter, lk4 will use it //((uint*)pt)[cp>>1] = t3;//((uint*)lk3)[cp>>1]((uint*)lk3)[cp>>1] //pt += HW; } else ((uint*)lk3)[cp >> 1] = ((uint*)lk0)[cp >> 1];//t2; if((hh & 0x1) == 0) __syncthreads(); ((uint*)lk0)[cp >> 1] = ((uint*)lk1)[cp >> 1]; if (hh < 4) ((uint*)lk4)[cp >> 1] = ((uint*)lk3)[cp >> 1];//t2; else if ((hh & 0x1)) {// && (hh != 1) ushort t0, t1; t0 = lk4[cp]; t1 = t0; if (t0 < HW) { t0 = lk3[t0]; if (t0 >= HW && t0 < W) { lk3[t0 - HW] = 0x8000 | cp; t0 = t1 | 0x8000; } else if (t0 & 0x8000) t0 = t1 | 0x8000; } lk4[cp] = t0; cp++; t0 = lk4[cp]; t1 = t0; if (t0 < HW) { t0 = lk3[t0]; if (t0 >= HW && t0 < W) { lk3[t0 - HW] = 0x8000 | cp; t0 = t1 | 0x8000; } else if (t0 & 0x8000) t0 = t1 | 0x8000; } lk4[cp] = t0; cp--; } __syncthreads(); if ((hh & 0x1) && (hh != 1)) { ushort t0; ((uint*)pt)[cp >> 1] = ((uint*)lk3)[cp >> 1]; pt += HW; t0 = lk4[cp]; if (t0 & 0x8000) t0 = (lk3[t0 & MASKAD] & MASKAD) | HW; lk4[cp] = t0; cp++; t0 = lk4[cp]; if (t0 & 0x8000) t0 = (lk3[t0 & MASKAD] & MASKAD) | HW; lk4[cp] = t0; cp--; } } //write out info for pass2 { b += blockIdxx * 2 * HW; b2 += blockIdxx * 2 * HW; ((uint*)b)[cp >> 1] = ((uint*)lk4)[cp >> 1]; // ((uint*)b2)[cp>>1] = ((uint*)lk4)[cp>>1]; b += HW; b2 += HW; ((uint*)b)[cp >> 1] = ((uint*)lk1)[cp >> 1]; // ((uint*)b2)[cp>>1] = ((uint*)lk1)[cp>>1]; } // if(threadIdx.x == 0 && threadIdx.y == 0) // printf("%d end\n", blockIdx.x); } __global__ static void pass2_2048(ushort* ib, uint* glabel, uint h, uint pitch) { __shared__ uint lk0[HW]; //last tag __shared__ ushort lk1[HW]; //current link __shared__ uint lk2[HW]; //current tag __shared__ ushort lk3[HW]; //bottom flattened link to current __shared__ uint labels; uint cp = threadIdx.x; ushort* b = ib + (h * (pitch + 1) * blockIdx.x + 1) * HW; { ushort tmp = b[cp]; lk0[cp] = tmp; lk3[cp] = tmp; lk2[cp] = W; b += HW * pitch; } labels = 0; __syncthreads(); for (int i = 1; i < h; i++) { ushort tmp, tmp1; //load a new block info tmp = b[cp];//the upper line connection info to bottom line // lk1[cp] = tmp; if (i > 1) { tmp1 = lk3[cp]; //update if (tmp1 < HW) tmp1 = tmp; lk3[cp] = tmp1; } b += HW; //lk2[cp] = b[cp];//the bottom line tags, this proc try to unify this line tmp1 = b[cp]; lk2[cp] = tmp1 + HW;//tmp1 < HW ? tmp1 + HW : tmp1; // b+=HW*pitch; __syncthreads(); ushort lt0 = lk0[cp]; if (tmp < HW)//every one write lk2[tmp] = lt0; else if (tmp < W) lk1[tmp - HW] = lt0; __syncthreads(); do { bool changed = 0; if (tmp < HW) { changed = lk2[tmp] != lt0; if (lk2[tmp] < lt0) lk0[lt0] = lk2[tmp]; } else if (tmp < W) { changed = lk1[tmp - HW] != lt0; if (lk1[tmp - HW] < lt0) lk0[lt0] = lk1[tmp - HW]; } changed = __syncthreads_or(changed); if (lt0 < HW) lt0 = lk0[lt0]; if (!changed) break; if (tmp < HW) { if (lk2[tmp] > lt0) lk2[tmp] = lt0; } else if (tmp < W) { if (lt0 < lk1[tmp - HW]) lk1[tmp - HW] = lt0; } __syncthreads(); } while (1); //write out lk2 info, ???link back to bottom? b -= HW * (pitch + 1); b[cp] = lt0; b += HW * (pitch + pitch + 1); tmp = lk2[cp]; if (tmp < HW)// && tmp < W)// && lk2[cp] == cp, if dateset correct, this is not necessary lk0[tmp] = cp; //atomicMin(lk0+tmp, cp); __syncthreads(); //head link together tmp = lk2[cp]; if (tmp < HW) tmp = lk0[tmp]; else if (tmp < W) tmp = tmp - HW; lk2[cp] = tmp; __syncthreads(); //all leaf in lk2 updates tmp = lk2[cp]; if (tmp < HW) tmp = lk2[tmp]; lk0[cp] = tmp;//so lk0 contains the last block line tags // __syncthreads(); } b -= HW * pitch; b[cp] = lk0[cp]; b = ib + (h * (pitch + 1) * (blockIdx.x + 1) - 1) * HW; //back ward tag assign { ushort tmp = b[cp], res = LBMAX; if (tmp == cp) res = atomicInc(&labels, 0x8000);//(h-1) << 12; lk2[cp] = res; __syncthreads(); if (tmp < HW) res = lk2[tmp]; lk2[cp] = res; //last line tags b[cp] = res; b -= HW; } __syncthreads(); for (int i = h - 2; i >= 0; i--) { ushort tmp, tmp2;//, tmp4; tmp = b[cp]; //next link info //lk1[cp] = tmp; b -= HW * pitch; tmp2 = b[cp];//current link info lk1[cp] = tmp2; lk0[cp] = LBMAX;//final tags __syncthreads(); /* tmp4 = W; if(tmp >= HW && tmp < W){//race to resolve linked by current block tmp4 = tmp - HW; lk1[tmp4] = tmp2; } __syncthreads(); do{ bool changed = 0; if(tmp4 < HW){ changed = lk1[tmp4] != tmp2; if(tmp2 > lk1[tmp4]) lk1[tmp2] = lk1[tmp4]; } changed = __syncthreads_or(changed); if(tmp2 < HW) tmp2 = lk1[tmp2]; if(!changed) break; if(tmp4 < HW && tmp2 < lk1[tmp4]) lk1[tmp4] = tmp2; __syncthreads(); }while(1); */ if (tmp < HW) {//next linked if (tmp2 < HW) lk0[tmp2] = lk2[tmp]; // else // tmp2 = W; } __syncthreads(); if (tmp2 == cp && lk0[cp] == LBMAX) {//current linked lk0[cp] = atomicInc(&labels, 0x8000);//((h-1) << 12) - HW; } __syncthreads(); tmp = LBMAX; if (tmp2 < HW) tmp = lk0[tmp2]; //write out tags b[cp] = tmp; b -= HW; //switch buffer lk2[cp] = tmp; __syncthreads(); } //update first line link info // b = ib + (h*(pitch+1)*blockIdx.x) * HW; // b[cp] = lk3[cp]; *glabel = labels; } __global__ static void pass3_2048(ushort* pt, ushort* ps, ushort* b, uint* label, uint h) { __shared__ ushort cur[W / 2]; //last tag __shared__ ushort lst[W / 2]; //current link __shared__ ushort bot[W / 2]; //current tag __shared__ ushort lnk[W / 2]; //current link to last // __shared__ uint llabel; uint cp = (threadIdx.x + threadIdx.y * WP) << 1; pt = pt + (blockIdx.x * h + h - 1) * HW; ps = ps + (blockIdx.x * h + h - 1) * HW; if (blockIdx.x == 0) { ((uint*)bot)[cp >> 1] = LB2MAX; b += HW; } else { b += (blockIdx.x * 2 - 1) * HW; ((uint*)bot)[cp >> 1] = ((uint*)b)[cp >> 1]; b += 2 * HW; } ((uint*)cur)[cp >> 1] = ((uint*)b)[cp >> 1]; __syncthreads(); for (int i = h - 1; i >= 0; i--) { //load current link ((uint*)lnk)[cp >> 1] = ((uint*)ps)[cp >> 1]; ps -= HW; //switch cur last ((uint*)lst)[cp >> 1] = ((uint*)cur)[cp >> 1]; //clear cur ((uint*)cur)[cp >> 1] = LB2MAX; // llabel = 0; __syncthreads(); if (lnk[cp] < HW) {//link to last cur[cp] = lst[lnk[cp]]; } else if (lnk[cp] < W && lnk[cp] == (HW + cp)) {//link to local, and a head, assigning new label if (blockIdx.x != 0 && i == 0) cur[cp] = bot[cp]; else cur[cp] = atomicInc(label, LBMAX); } if (lnk[cp] & 0x8000) {//link to bottom if (blockIdx.x == 0) cur[cp] = atomicInc(label, LBMAX); else cur[cp] = bot[lnk[cp] & MASKAD]; } cp++; if (lnk[cp] < HW) {//link to last cur[cp] = lst[lnk[cp]]; } else if (lnk[cp] < W && lnk[cp] == (HW + cp)) {//link to local, and a head, assigning new label if (blockIdx.x != 0 && i == 0) cur[cp] = bot[cp]; else cur[cp] = atomicInc(label, LBMAX); } if (lnk[cp] & 0x8000) {//link to bottom if (blockIdx.x == 0) cur[cp] = atomicInc(label, LBMAX); else cur[cp] = bot[lnk[cp] & MASKAD]; } cp--; __syncthreads(); if (lnk[cp] >= HW && lnk[cp] < W) cur[cp] = cur[lnk[cp] - HW]; cp++; if (lnk[cp] >= HW && lnk[cp] < W) cur[cp] = cur[lnk[cp] - HW]; cp--; //write out ((uint*)pt)[cp >> 1] = ((uint*)cur)[cp >> 1]; pt -= HW; __syncthreads(); } } void chen_label_2048(uchar* cbpt, uchar* cbpt2, uchar* cbps, uchar* cbb, uchar* cbb2, uchar* cbglabel, uint h, uint bn, uchar* cbeb) { ushort* pt = (ushort*)cbpt; ushort* pt2 = (ushort*)cbpt2; uchar* ps = (uchar*)cbps; ushort* b = (ushort*)cbb; ushort* b2 = (ushort*)cbb2; uint* glabel = (uint*)cbglabel; ushort* eb = (ushort*)cbeb; dim3 threads(WP, TN / WP, 1); dim3 grid(bn, 1, 1); dim3 threads2(HW, 1, 1); dim3 grid2(1, 1, 1); pass1_2048 << > > (pt2, ps, b, b2, (h - 2) / bn, eb); pass2_2048 << > > (b, glabel, bn, 1); pass3_2048 << > > (pt, pt2, b, glabel, (h - 2) / (bn * 2)); } ================================================ FILE: cuda/src/labeling_chen_2011_512.cu ================================================ #define WP 32 #define BM (WP-1) #define dt unsigned short #define dts 2 #define TGTG 1 #define TGNTG 0 #define LBMAX 0xffff #define LB2MAX 0xffffffff typedef unsigned int uint; typedef unsigned char uchar; typedef unsigned short ushort; #define W 512 #define HWW 8 #define rep 2 #define HW (W/2) #define QW (W/4) #define HWP (WP/2) #define QWP (WP/4) #define EWP (WP/8) #define XWP (WP/16) #define TN (W/(rep*2)) #define WN (TN/WP) #define MASKAD (~(-1 << HWW)) __device__ __inline__ static void detectRuns512(ushort* pt, uchar* ct, uchar* ps, uchar* px, ushort* tbf, uint cp2) { uint* ps4 = (uint*)ps; uint* pt2 = (uint*)pt; ushort* ct2 = (ushort*)ct; uint cp = cp2 >> 1;//threadIdx.x + threadIdx.y * WP; // uint cp2 = cp << 1; uint t0, t1, t2, t3, t4, t5; t0 = ps4[cp]; t0 = __byte_perm(t0, 0, 0x3120); t0 &= 0x1010101; t0 |= t0 >> 15; t0 |= t0 >> 6; t0 &= 0xf; // now t0 has the 4 pixels in its 4 less significant bits t1 = px[cp]; t5 = 0; if ((t1 & 0x3))// && (t0 & 0x3) t5 = 0x1; if ((t1 & 0xc))// && (t0 & 0xc) t5 |= 0x100; ct2[cp] = t5;// | ((ct2[cp] & 0xf0f) << 4); t1 = t1 | t0; px[cp] = t0 | (px[cp] << 4); t3 = W; t4 = W; t5 = 0; if (t1 & 0x3) t3 = cp2; if (t1 & 0xc) t4 = cp2 + 1; if ((t1 & 0x6) == 0x6) t4 = t3; t0 = W; if (t1 & 0x8) t0 = t4; pt2[cp] = t0; t0 = __ballot_sync(0xffffffff, (t1 & 0xf) != 0xf); t0 <<= (WP - threadIdx.x); t0 = __clz(t0); t5 = (t0 == WP) && ((t1 & 0xf) == 0xf); t0 = max((int)0, ((int)threadIdx.x) - 1 - ((int)t0)); t2 = pt2[threadIdx.y * WP + t0]; if (t2 == W) t2 = (t0 + 1 + threadIdx.y * WP) * 2; // __syncthreads(); if (threadIdx.x != 0 && (t1 & 0x1)) { if (t3 == cp2) t3 = t2; if (t4 == cp2) t4 = t2; } if (threadIdx.x == (WP - 1)) { t5 = t5 ? t4 : t4 + HW; t5 = (t1 & 0x8) ? t5 : (W + HW); tbf[threadIdx.y] = t5; } __syncthreads(); if (threadIdx.y != 0) { t5 = tbf[threadIdx.x]; t0 = __ballot_sync(0xffffffff, (t5 & HW) != 0); t0 <<= (WP - threadIdx.y); t0 = __clz(t0); t0 = max((int)0, ((int)threadIdx.y) - 1 - ((int)t0)); t1 = tbf[t0]; if (t1 & W) t1 = (t0 + 1) * WP * 2; t1 = t1 & MASKAD; //remove tags cp2 = threadIdx.y * WP * 2; if (px[cp2 >> 1] & 0x11) { if (t3 == cp2) t3 = t1; if (t4 == cp2) t4 = t1; } } t4 <<= 16; t4 |= t3; pt2[cp] = t4; } __global__ void static pass1_512(ushort* pt, uchar* ps, ushort* b, ushort* b2, uint h, ushort* eb) { __shared__ __align__(4) ushort lk0[HW]; //upper link __shared__ __align__(4) ushort lk1[HW]; //back up of current link // __shared__ __align__(4) ushort lk2[HW]; //new value of current link __shared__ __align__(4) ushort lk3[HW]; //down linked last block __shared__ __align__(4) ushort lk4[HW]; //botton link __shared__ uchar ct[HW]; //connection tag of each block __shared__ uchar px[QW]; //value of four pixels __shared__ ushort tbf[WP]; uint blockIdxx = blockIdx.x; uint cp = (threadIdx.x + threadIdx.y * WP) << 1; // if(blockIdxx != 10) // return; ps = ps + blockIdxx * h * W; pt = pt + blockIdxx * h * HW / 2; eb = eb + blockIdxx * HW * 9; h += 2; //calucate 2 more lines px[cp >> 1] = 0; // ((ushort*)ct)[cp>>1] = 0; detectRuns512(lk0, ct, ps, px, tbf, cp); ps += W; /* {//no error //cp = threadIdx.x + threadIdx.y*WP; ((uint*)(eb))[cp>>1] = 0; ((uint*)(eb+HW))[cp>>1] = 0; ((uint*)(eb+2*HW))[cp>>1] = 0; ((uint*)(eb+3*HW))[cp>>1] = 0; ((uint*)(eb+4*HW))[cp>>1] = 0; ((uint*)(eb+5*HW))[cp>>1] = 0; ((uint*)(eb+6*HW))[cp>>1] = 0; ((uint*)(eb+7*HW))[cp>>1] = 0; ((uint*)(eb+8*HW))[cp>>1] = 0; } */ for (int hh = 1; hh < h; hh++) { detectRuns512(lk1, ct, ps, px, tbf, cp); ps += W; uint lt0 = ((uint*)lk0)[cp >> 1]; //backup lk0 ((uint*)lk0)[cp >> 1] = lt0 | ((HW << 16) | HW);//((uint*)lk0)[cp>>1];//(W << 16) | W;//initialize lk2 __syncthreads(); uint lt1 = ((uint*)lk1)[cp >> 1]; //back up lk1, because lk1 will modified next { ushort t0; t0 = lt0; if (ct[cp]) {// every one write lk0 && lk1[lk0[cp]] > lk1[cp] lk0[t0] = lt1; } cp++; t0 = lt0 >> 16; if (ct[cp]) { lk0[t0] = lt1 >> 16; } cp--; __syncthreads(); } do { ushort t0, t1, t2; bool changed = 0; t1 = lt1; t0 = lt0; t2 = t1; if (ct[cp]) { t2 = lk0[t0]; if (t1 != t2) changed = 1; if (t2 < t1)//update self lk1[t1] = t2; } cp++; t1 = lt1 >> 16; t0 = lt0 >> 16; t2 = t1; if (ct[cp]) { t2 = lk0[t0]; if (t1 != t2) changed = 1; if (t2 < t1) lk1[t1] = t2; } cp--; changed = __syncthreads_or(changed); t1 = lt1; if (t1 < HW) t1 = lk1[t1]; lt1 = __byte_perm(lt1, t1, 0x3254); t1 = lt1 >> 16; if (t1 < HW) t1 = lk1[t1]; lt1 = __byte_perm(lt1, t1, 0x5410); if (!changed) break; t1 = lt1; t0 = lt0; if (ct[cp] && (lk0[t0] > t1)) {// min write lk0[t0] = t1; } cp++; t1 = lt1 >> 16; t0 = lt0 >> 16; if (ct[cp] && (lk0[t0] > t1)) { lk0[t0] = t1; } cp--; __syncthreads(); } while (1); ((uint*)lk1)[cp >> 1] = lt1; if ((hh & 0x1) && (hh != 1)) {//only odd line write out //resolve linkage by lk3, lk4 ushort t0, t1, t2; t0 = lk3[cp]; t2 = t0; if (t0 >= HW && t0 < W) t2 = lk3[t0 - HW]; if (t2 < HW) { t2 = lk0[t2]; if (t2 < HW) t0 = t2; else if (t0 < HW) t0 = cp | HW; } cp++; t1 = lk3[cp]; t2 = t1; if (t1 >= HW && t1 < W) t2 = lk3[t1 - HW]; if (t2 < HW) { t2 = lk0[t2]; if (t2 < HW) t1 = t2; else if (t1 < HW) t1 = cp | HW; } cp--; uint t3 = (t1 << 16) | t0; ((uint*)lk3)[cp >> 1] = t3;//write back, next iter, lk4 will use it //((uint*)pt)[cp>>1] = t3;//((uint*)lk3)[cp>>1]((uint*)lk3)[cp>>1] //pt += HW; } else ((uint*)lk3)[cp >> 1] = ((uint*)lk0)[cp >> 1];//t2; if((hh & 0x1) == 0) __syncthreads(); ((uint*)lk0)[cp >> 1] = ((uint*)lk1)[cp >> 1]; if (hh < 4) ((uint*)lk4)[cp >> 1] = ((uint*)lk3)[cp >> 1];//t2; else if ((hh & 0x1)) {// && (hh != 1) ushort t0, t1; t0 = lk4[cp]; t1 = t0; if (t0 < HW) { t0 = lk3[t0]; if (t0 >= HW && t0 < W) { lk3[t0 - HW] = 0x8000 | cp; t0 = t1 | 0x8000; } else if (t0 & 0x8000) t0 = t1 | 0x8000; } lk4[cp] = t0; cp++; t0 = lk4[cp]; t1 = t0; if (t0 < HW) { t0 = lk3[t0]; if (t0 >= HW && t0 < W) { lk3[t0 - HW] = 0x8000 | cp; t0 = t1 | 0x8000; } else if (t0 & 0x8000) t0 = t1 | 0x8000; } lk4[cp] = t0; cp--; } __syncthreads(); if ((hh & 0x1) && (hh != 1)) { ushort t0; ((uint*)pt)[cp >> 1] = ((uint*)lk3)[cp >> 1]; pt += HW; t0 = lk4[cp]; if (t0 & 0x8000) t0 = (lk3[t0 & MASKAD] & MASKAD) | HW; lk4[cp] = t0; cp++; t0 = lk4[cp]; if (t0 & 0x8000) t0 = (lk3[t0 & MASKAD] & MASKAD) | HW; lk4[cp] = t0; cp--; } } //write out info for pass2 { b += blockIdxx * 2 * HW; b2 += blockIdxx * 2 * HW; ((uint*)b)[cp >> 1] = ((uint*)lk4)[cp >> 1]; // ((uint*)b2)[cp>>1] = ((uint*)lk4)[cp>>1]; b += HW; b2 += HW; ((uint*)b)[cp >> 1] = ((uint*)lk1)[cp >> 1]; // ((uint*)b2)[cp>>1] = ((uint*)lk1)[cp>>1]; } // if(threadIdx.x == 0 && threadIdx.y == 0) // printf("%d end\n", blockIdx.x); } __global__ void static pass2_512(ushort* ib, uint* glabel, uint h, uint pitch) { __shared__ uint lk0[HW]; //last tag __shared__ ushort lk1[HW]; //current link __shared__ uint lk2[HW]; //current tag __shared__ ushort lk3[HW]; //bottom flattened link to current __shared__ uint labels; uint cp = threadIdx.x; ushort* b = ib + (h * (pitch + 1) * blockIdx.x + 1) * HW; { ushort tmp = b[cp]; lk0[cp] = tmp; lk3[cp] = tmp; lk2[cp] = W; b += HW * pitch; } labels = 0; __syncthreads(); for (int i = 1; i < h; i++) { ushort tmp, tmp1; //load a new block info tmp = b[cp];//the upper line connection info to bottom line // lk1[cp] = tmp; if (i > 1) { tmp1 = lk3[cp]; //update if (tmp1 < HW) tmp1 = tmp; lk3[cp] = tmp1; } b += HW; //lk2[cp] = b[cp];//the bottom line tags, this proc try to unify this line tmp1 = b[cp]; lk2[cp] = tmp1 + HW;//tmp1 < HW ? tmp1 + HW : tmp1; // b+=HW*pitch; __syncthreads(); ushort lt0 = lk0[cp]; if (tmp < HW)//every one write lk2[tmp] = lt0; else if (tmp < W) lk1[tmp - HW] = lt0; __syncthreads(); do { bool changed = 0; if (tmp < HW) { changed = lk2[tmp] != lt0; if (lk2[tmp] < lt0) lk0[lt0] = lk2[tmp]; } else if (tmp < W) { changed = lk1[tmp - HW] != lt0; if (lk1[tmp - HW] < lt0) lk0[lt0] = lk1[tmp - HW]; } changed = __syncthreads_or(changed); if (lt0 < HW) lt0 = lk0[lt0]; if (!changed) break; if (tmp < HW) { if (lk2[tmp] > lt0) lk2[tmp] = lt0; } else if (tmp < W) { if (lt0 < lk1[tmp - HW]) lk1[tmp - HW] = lt0; } __syncthreads(); } while (1); //write out lk2 info, ???link back to bottom? b -= HW * (pitch + 1); b[cp] = lt0; b += HW * (pitch + pitch + 1); tmp = lk2[cp]; if (tmp < HW)// && tmp < W)// && lk2[cp] == cp, if dateset correct, this is not necessary lk0[tmp] = cp; //atomicMin(lk0+tmp, cp); __syncthreads(); //head link together tmp = lk2[cp]; if (tmp < HW) tmp = lk0[tmp]; else if (tmp < W) tmp = tmp - HW; lk2[cp] = tmp; __syncthreads(); //all leaf in lk2 updates tmp = lk2[cp]; if (tmp < HW) tmp = lk2[tmp]; lk0[cp] = tmp;//so lk0 contains the last block line tags // __syncthreads(); } b -= HW * pitch; b[cp] = lk0[cp]; b = ib + (h * (pitch + 1) * (blockIdx.x + 1) - 1) * HW; //back ward tag assign { ushort tmp = b[cp], res = LBMAX; if (tmp == cp) res = atomicInc(&labels, 0x8000);//(h-1) << 12; lk2[cp] = res; __syncthreads(); if (tmp < HW) res = lk2[tmp]; lk2[cp] = res; //last line tags b[cp] = res; b -= HW; } __syncthreads(); for (int i = h - 2; i >= 0; i--) { ushort tmp, tmp2;//, tmp4; tmp = b[cp]; //next link info //lk1[cp] = tmp; b -= HW * pitch; tmp2 = b[cp];//current link info lk1[cp] = tmp2; lk0[cp] = LBMAX;//final tags __syncthreads(); /* tmp4 = W; if(tmp >= HW && tmp < W){//race to resolve linked by current block tmp4 = tmp - HW; lk1[tmp4] = tmp2; } __syncthreads(); do{ bool changed = 0; if(tmp4 < HW){ changed = lk1[tmp4] != tmp2; if(tmp2 > lk1[tmp4]) lk1[tmp2] = lk1[tmp4]; } changed = __syncthreads_or(changed); if(tmp2 < HW) tmp2 = lk1[tmp2]; if(!changed) break; if(tmp4 < HW && tmp2 < lk1[tmp4]) lk1[tmp4] = tmp2; __syncthreads(); }while(1); */ if (tmp < HW) {//next linked if (tmp2 < HW) lk0[tmp2] = lk2[tmp]; // else // tmp2 = W; } __syncthreads(); if (tmp2 == cp && lk0[cp] == LBMAX) {//current linked lk0[cp] = atomicInc(&labels, 0x8000);//((h-1) << 12) - HW; } __syncthreads(); tmp = LBMAX; if (tmp2 < HW) tmp = lk0[tmp2]; //write out tags b[cp] = tmp; b -= HW; //switch buffer lk2[cp] = tmp; __syncthreads(); } //update first line link info // b = ib + (h*(pitch+1)*blockIdx.x) * HW; // b[cp] = lk3[cp]; *glabel = labels; } __global__ void static pass3_512(ushort* pt, ushort* ps, ushort* b, uint* label, uint h) { __shared__ ushort cur[W / 2]; //last tag __shared__ ushort lst[W / 2]; //current link __shared__ ushort bot[W / 2]; //current tag __shared__ ushort lnk[W / 2]; //current link to last // __shared__ uint llabel; uint cp = (threadIdx.x + threadIdx.y * WP) << 1; pt = pt + (blockIdx.x * h + h - 1) * HW; ps = ps + (blockIdx.x * h + h - 1) * HW; if (blockIdx.x == 0) { ((uint*)bot)[cp >> 1] = LB2MAX; b += HW; } else { b += (blockIdx.x * 2 - 1) * HW; ((uint*)bot)[cp >> 1] = ((uint*)b)[cp >> 1]; b += 2 * HW; } ((uint*)cur)[cp >> 1] = ((uint*)b)[cp >> 1]; __syncthreads(); for (int i = h - 1; i >= 0; i--) { //load current link ((uint*)lnk)[cp >> 1] = ((uint*)ps)[cp >> 1]; ps -= HW; //switch cur last ((uint*)lst)[cp >> 1] = ((uint*)cur)[cp >> 1]; //clear cur ((uint*)cur)[cp >> 1] = LB2MAX; // llabel = 0; __syncthreads(); if (lnk[cp] < HW) {//link to last cur[cp] = lst[lnk[cp]]; } else if (lnk[cp] < W && lnk[cp] == (HW + cp)) {//link to local, and a head, assigning new label if (blockIdx.x != 0 && i == 0) cur[cp] = bot[cp]; else cur[cp] = atomicInc(label, LBMAX); } if (lnk[cp] & 0x8000) {//link to bottom if (blockIdx.x == 0) cur[cp] = atomicInc(label, LBMAX); else cur[cp] = bot[lnk[cp] & MASKAD]; } cp++; if (lnk[cp] < HW) {//link to last cur[cp] = lst[lnk[cp]]; } else if (lnk[cp] < W && lnk[cp] == (HW + cp)) {//link to local, and a head, assigning new label if (blockIdx.x != 0 && i == 0) cur[cp] = bot[cp]; else cur[cp] = atomicInc(label, LBMAX); } if (lnk[cp] & 0x8000) {//link to bottom if (blockIdx.x == 0) cur[cp] = atomicInc(label, LBMAX); else cur[cp] = bot[lnk[cp] & MASKAD]; } cp--; __syncthreads(); if (lnk[cp] >= HW && lnk[cp] < W) cur[cp] = cur[lnk[cp] - HW]; cp++; if (lnk[cp] >= HW && lnk[cp] < W) cur[cp] = cur[lnk[cp] - HW]; cp--; //write out ((uint*)pt)[cp >> 1] = ((uint*)cur)[cp >> 1]; pt -= HW; __syncthreads(); } } void chen_label_512(uchar* cbpt, uchar* cbpt2, uchar* cbps, uchar* cbb, uchar* cbb2, uchar* cbglabel, uint h, uint bn, uchar* cbeb) { ushort* pt = (ushort*)cbpt; ushort* pt2 = (ushort*)cbpt2; uchar* ps = (uchar*)cbps; ushort* b = (ushort*)cbb; ushort* b2 = (ushort*)cbb2; uint* glabel = (uint*)cbglabel; ushort* eb = (ushort*)cbeb; dim3 threads(WP, TN / WP, 1); dim3 grid(bn, 1, 1); dim3 threads2(HW, 1, 1); dim3 grid2(1, 1, 1); pass1_512 << > > (pt2, ps, b, b2, (h - 2) / bn, eb); pass2_512 << > > (b, glabel, bn, 1); pass3_512 << > > (pt, pt2, b, glabel, (h - 2) / (bn * 2)); } ================================================ FILE: cuda/src/labeling_hennequin_2018_HA4.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // The algorithm is presented in "A new Direct Connected // Component Labeling and Analysis Algorithms for GPUs", // A. Hennequin, L. Lacassagne, L. Cabaret, Q. Meunier, // DASIP, 2018 #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" //// README // The algorithm has been modified, in order to make labels start at 0 #define WARP_SIZE 32 #define BLOCK_H 4 using namespace cv; namespace { __device__ void merge(int* L, unsigned int label_1, unsigned int label_2) { while (label_1 != label_2 && (label_1 != L[label_1] - 1)) { label_1 = L[label_1] - 1; } while (label_1 != label_2 && (label_2 != L[label_2] - 1)) { label_2 = L[label_2] - 1; } while (label_1 != label_2) { if (label_1 < label_2) { unsigned int tmp = label_1; label_1 = label_2; label_2 = tmp; } unsigned int label_3 = atomicMin(L + label_1, label_2 + 1) - 1; if (label_1 == label_3) { label_1 = label_2; } else { label_1 = label_3; } } } __device__ unsigned int start_distance(unsigned int pixels, unsigned int tx) { return __clz(~(pixels << (32 - tx))); } __device__ unsigned int end_distance(unsigned int pixels, unsigned int tx) { return __ffs(~(pixels >> (tx + 1))); } __global__ void StripLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { __shared__ unsigned int shared_pixels[BLOCK_H]; unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; if (y < labels.rows) { unsigned int img_line_base = y * img.step + threadIdx.x; unsigned int labels_line_base = y * (labels.step / labels.elem_size) + threadIdx.x; int distance_y = 0; int distance_y_1 = 0; for (int i = 0; i < img.cols; i += WARP_SIZE) { const unsigned int x = threadIdx.x + i; if (x < labels.cols) { unsigned int mask = 0xFFFFFFFF; const unsigned int involved_cols = img.cols - i; if (involved_cols < 32) { mask = mask >> (32 - involved_cols); } const unsigned img_index = img_line_base + i; const unsigned labels_index = labels_line_base + i; int p_y = img.data[img_index]; unsigned pixels_y = __ballot_sync(mask, p_y); unsigned s_dist_y = start_distance(pixels_y, threadIdx.x); if (p_y && s_dist_y == 0) { labels.data[labels_index] = labels_index - ((threadIdx.x == 0) ? distance_y : 0) + 1; } #if __CUDA_ARCH__ < 700 __syncthreads(); #endif if (threadIdx.x == 0) { shared_pixels[threadIdx.y] = pixels_y; } __syncthreads(); unsigned int pixels_y_1 = (threadIdx.y > 0) ? shared_pixels[threadIdx.y - 1] : 0; unsigned int p_y_1 = (pixels_y_1 >> threadIdx.x) & 1u; unsigned int s_dist_y_1 = start_distance(pixels_y_1, threadIdx.x); if (threadIdx.x == 0) { s_dist_y = distance_y; s_dist_y_1 = distance_y_1; } if (p_y && p_y_1 && (s_dist_y == 0 || s_dist_y_1 == 0)) { int label_1 = labels_index - s_dist_y; int label_2 = labels_index - s_dist_y_1 - (labels.step / labels.elem_size); merge(labels.data, label_1, label_2); } int d = start_distance(pixels_y_1, 32); distance_y_1 = d + ((d == 32) ? distance_y_1 : 0); d = start_distance(pixels_y, 32); distance_y = d + ((d == 32) ? distance_y : 0); } } } } __global__ void StripMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned int y = (blockIdx.y * blockDim.y + threadIdx.y) * BLOCK_H; unsigned int x = blockIdx.x * blockDim.x + threadIdx.x; if (y < labels.rows && x < labels.cols && y > 0) { unsigned int mask = 0xFFFFFFFF; if (img.cols - blockIdx.x * blockDim.x < 32) { mask = mask >> (32 - (img.cols - blockIdx.x * blockDim.x)); } const unsigned int img_index = y * img.step + x; const unsigned int labels_index = y * (labels.step / labels.elem_size) + x; const unsigned int img_index_up = img_index - img.step; const unsigned int labels_index_up = labels_index - (labels.step / labels.elem_size); const int p = img.data[img_index]; const int p_up = img.data[img_index_up]; const unsigned int pixels = __ballot_sync(mask, p); const unsigned int pixels_up = __ballot_sync(mask, p_up); if (p && p_up) { const unsigned int s_dist = start_distance(pixels, threadIdx.x); const unsigned int s_dist_up = start_distance(pixels_up, threadIdx.x); if (s_dist == 0 || s_dist_up == 0) { merge(labels.data, labels_index - s_dist, labels_index_up - s_dist_up); } } } } __global__ void Relabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { const unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; const unsigned int x = blockIdx.x * blockDim.x + threadIdx.x; if (x < labels.cols && y < labels.rows) { unsigned int mask = 0xFFFFFFFF; if (img.cols - blockIdx.x * blockDim.x < 32) { mask = mask >> (32 - (img.cols - blockIdx.x * blockDim.x)); } const unsigned int img_index = y * img.step + x; const unsigned int labels_index = y * (labels.step / labels.elem_size) + x; const int p = img.data[img_index]; const unsigned int pixels = __ballot_sync(mask, p); const unsigned int s_dist = start_distance(pixels, threadIdx.x); int label = 0; if (p && s_dist == 0) { label = labels.data[labels_index] - 1; while (label != labels.data[label] - 1) { label = labels.data[label] - 1; } } label = __shfl_sync(mask, label, threadIdx.x - s_dist); if (p) { labels.data[labels_index] = label + 1; } } } } class HA4 : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: HA4() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); block_size_ = dim3(WARP_SIZE, BLOCK_H, 1); grid_size_ = dim3( 1, (d_img_.rows + block_size_.y - 1) / block_size_.y, 1); StripLabeling << > > (d_img_, d_img_labels_); block_size_ = dim3(WARP_SIZE, BLOCK_H, 1); grid_size_ = dim3( (d_img_.cols + block_size_.x - 1) / block_size_.x, ((d_img_.rows + BLOCK_H - 1) / BLOCK_H + block_size_.y - 1) / block_size_.y, 1); StripMerge << > > (d_img_, d_img_labels_); block_size_ = dim3(WARP_SIZE, BLOCK_H, 1); grid_size_ = dim3( (d_img_.cols + block_size_.x - 1) / block_size_.x, (d_img_.rows + block_size_.y - 1) / block_size_.y, 1); Relabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } private: void Alloc() { d_img_labels_.create(d_img_.size(), CV_32SC1); } void Dealloc() { } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); block_size_ = dim3(WARP_SIZE, BLOCK_H, 1); grid_size_ = dim3( 1, (d_img_.rows + block_size_.y - 1) / block_size_.y, 1); StripLabeling << > > (d_img_, d_img_labels_); block_size_ = dim3(WARP_SIZE, BLOCK_H, 1); grid_size_ = dim3( (d_img_.cols + block_size_.x - 1) / block_size_.x, ((d_img_.rows + BLOCK_H - 1) / BLOCK_H + block_size_.y - 1) / block_size_.y, 1); StripMerge << > > (d_img_, d_img_labels_); block_size_ = dim3(WARP_SIZE, BLOCK_H, 1); grid_size_ = dim3( (d_img_.cols + block_size_.x - 1) / block_size_.x, (d_img_.rows + block_size_.y - 1) / block_size_.y, 1); Relabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { perf_.start(); Alloc(); perf_.stop(); double alloc_timing = perf_.last(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(HA4); ================================================ FILE: cuda/src/labeling_hennequin_2018_HA8.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // The algorithm is presented in "A new Direct Connected // Component Labeling and Analysis Algorithms for GPUs", // A. Hennequin, L. Lacassagne, L. Cabaret, Q. Meunier, // DASIP, 2018 // // This is a modification of the algorithm, to work with // 8-connectivity. The original 4-conn algorithm is in // labeling_hennequin_2018_HA4.cu #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" //// README // The algorithm has been modified, in order to make labels start at 0 #define WARP_SIZE 32 #define BLOCK_H 4 using namespace cv; namespace { __device__ void merge(int* L, int label_1, int label_2) { while (label_1 != label_2 && (label_1 != L[label_1] - 1)) { assert(label_1 >= 0); label_1 = L[label_1] - 1; } while (label_1 != label_2 && (label_2 != L[label_2] - 1)) { assert(label_2 >= 0); label_2 = L[label_2] - 1; } while (label_1 != label_2) { assert(label_1 >= 0 && label_2 >= 0); if (label_1 < label_2) { unsigned int tmp = label_1; label_1 = label_2; label_2 = tmp; } unsigned int label_3 = atomicMin(L + label_1, label_2 + 1) - 1; if (label_1 == label_3) { label_1 = label_2; } else { label_1 = label_3; } } } __device__ unsigned int start_distance(unsigned int pixels, unsigned int tx) { return __clz(~(pixels << (32 - tx))); } __device__ unsigned int end_distance(unsigned int pixels, unsigned int tx) { return __ffs(~(pixels >> (tx + 1))); } __global__ void StripLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { __shared__ unsigned int shared_pixels[BLOCK_H]; unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; if (y < labels.rows) { unsigned int img_line_base = y * img.step + threadIdx.x; unsigned int labels_line_base = y * (labels.step / labels.elem_size) + threadIdx.x; int distance_y = 0; int distance_y_1 = 0; for (int i = 0; i < img.cols; i += WARP_SIZE) { const unsigned int x = threadIdx.x + i; if (x < labels.cols) { unsigned int mask = 0xFFFFFFFF; const unsigned int involved_cols = img.cols - i; if (involved_cols < 32) { mask = mask >> (32 - involved_cols); } const unsigned img_index = img_line_base + i; const unsigned labels_index = labels_line_base + i; int p_y = img.data[img_index]; unsigned pixels_y = __ballot_sync(mask, p_y); unsigned s_dist_y = start_distance(pixels_y, threadIdx.x); if (p_y && s_dist_y == 0) { labels.data[labels_index] = labels_index - ((threadIdx.x == 0) ? distance_y : 0) + 1; } #if __CUDA_ARCH__ < 700 __syncthreads(); #endif if (threadIdx.x == 0) { shared_pixels[threadIdx.y] = pixels_y; } __syncthreads(); unsigned int pixels_y_1 = (threadIdx.y > 0) ? shared_pixels[threadIdx.y - 1] : 0; unsigned int p_y_1 = (pixels_y_1 >> threadIdx.x) & 1u; unsigned int s_dist_y_1 = start_distance(pixels_y_1, threadIdx.x); if (threadIdx.x == 0) { s_dist_y = distance_y; s_dist_y_1 = distance_y_1; } // Added for 8-connectivity const unsigned int pixels_y_shifted = (pixels_y << 1) | (distance_y > 0); const unsigned int pixels_y_1_shifted = (pixels_y_1 << 1) | (distance_y_1 > 0); if (p_y && p_y_1 && (s_dist_y == 0 || s_dist_y_1 == 0)) { int label_1 = labels_index - s_dist_y; int label_2 = labels_index - s_dist_y_1 - (labels.step / labels.elem_size); merge(labels.data, label_1, label_2); } // Added for 8-connectivity else if (p_y && s_dist_y == 0 && ((pixels_y_1_shifted >> threadIdx.x) & 1u)) { unsigned int s_dist_y_1_prev = (threadIdx.x == 0) ? (distance_y_1 - 1) : start_distance(pixels_y_1, threadIdx.x - 1); int label_1 = labels_index; int label_2 = labels_index - (labels.step / labels.elem_size) - 1 - s_dist_y_1_prev; merge(labels.data, label_1, label_2); } else if (p_y_1 && s_dist_y_1 == 0 && ((pixels_y_shifted >> threadIdx.x) & 1u)) { unsigned int s_dist_y_prev = (threadIdx.x == 0) ? (distance_y - 1) : (start_distance(pixels_y, threadIdx.x - 1)); int label_1 = labels_index - 1 - s_dist_y_prev; int label_2 = labels_index - (labels.step / labels.elem_size); merge(labels.data, label_1, label_2); } int d = start_distance(pixels_y_1, 32); distance_y_1 = d + ((d == 32) ? distance_y_1 : 0); d = start_distance(pixels_y, 32); distance_y = d + ((d == 32) ? distance_y : 0); } } } } __global__ void StripMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { const unsigned int warp_starting_x = blockIdx.x * (blockDim.x * blockDim.z - WARP_SIZE) + threadIdx.z * WARP_SIZE; const unsigned int y = (blockIdx.y + 1) * BLOCK_H; const unsigned int x = warp_starting_x + threadIdx.x; __shared__ unsigned last_dist_vec[32]; // Magic number could be removed __shared__ unsigned last_dist_up_vec[32]; if (y < labels.rows && x < labels.cols) { unsigned int mask = 0xFFFFFFFF; if (img.cols - warp_starting_x < 32) { mask = mask >> (32 - (img.cols - warp_starting_x)); } const unsigned int img_index = y * img.step + x; const unsigned int labels_index = y * (labels.step / labels.elem_size) + x; const unsigned int img_index_up = img_index - img.step; const unsigned int labels_index_up = labels_index - (labels.step / labels.elem_size); const int p = img.data[img_index]; const int p_up = img.data[img_index_up]; const unsigned int pixels = __ballot_sync(mask, p); const unsigned int pixels_up = __ballot_sync(mask, p_up); const unsigned int s_dist = start_distance(pixels, threadIdx.x); const unsigned int s_dist_up = start_distance(pixels_up, threadIdx.x); if (threadIdx.x == WARP_SIZE - 1) { last_dist_vec[threadIdx.z] = start_distance(pixels, 32); last_dist_up_vec[threadIdx.z] = start_distance(pixels_up, 32); } __syncthreads(); if (blockIdx.x == 0 || threadIdx.z > 0) { // There is a 32-pixel overlapping between 1024-long lines const unsigned int last_dist = threadIdx.z > 0 ? last_dist_vec[threadIdx.z - 1] : 0; const unsigned int last_dist_up = threadIdx.z > 0 ? last_dist_up_vec[threadIdx.z - 1] : 0; const unsigned int p_prev = threadIdx.x > 0 ? ((pixels >> (threadIdx.x - 1)) & 1u) : last_dist; const unsigned int p_up_prev = threadIdx.x > 0 ? ((pixels_up >> (threadIdx.x - 1)) & 1u) : last_dist_up; if (p && p_up) { if (s_dist == 0 || s_dist_up == 0) { merge(labels.data, labels_index - s_dist, labels_index_up - s_dist_up); } } else if (p && p_up_prev && s_dist == 0) { const unsigned int s_dist_up_prev = (threadIdx.x == 0) ? (last_dist_up - 1) : start_distance(pixels_up, threadIdx.x - 1); merge(labels.data, labels_index, labels_index_up - 1 - s_dist_up_prev); } else if (p_prev && p_up && s_dist_up == 0) { const unsigned int s_dist_prev = (threadIdx.x == 0) ? (last_dist - 1) : (start_distance(pixels, threadIdx.x - 1)); merge(labels.data, labels_index - 1 - s_dist_prev, labels_index_up); } } } } __global__ void Relabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { const unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; const unsigned int x = blockIdx.x * blockDim.x + threadIdx.x; if (x < labels.cols && y < labels.rows) { unsigned int mask = 0xFFFFFFFF; if (img.cols - blockIdx.x * blockDim.x < 32) { mask = mask >> (32 - (img.cols - blockIdx.x * blockDim.x)); } const unsigned int img_index = y * img.step + x; const unsigned int labels_index = y * (labels.step / labels.elem_size) + x; const int p = img.data[img_index]; const unsigned int pixels = __ballot_sync(mask, p); const unsigned int s_dist = start_distance(pixels, threadIdx.x); int label = 0; if (p && s_dist == 0) { label = labels.data[labels_index] - 1; while (label != labels.data[label] - 1) { label = labels.data[label] - 1; } } label = __shfl_sync(mask, label, threadIdx.x - s_dist); if (p) { labels.data[labels_index] = label + 1; } } } } class HA8 : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: HA8() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); block_size_ = dim3(WARP_SIZE, BLOCK_H, 1); grid_size_ = dim3( 1, (d_img_.rows + block_size_.y - 1) / block_size_.y, 1); StripLabeling << > > (d_img_, d_img_labels_); const unsigned int horizontal_warps = std::min((d_img_.cols + WARP_SIZE - 1) / WARP_SIZE, 32); block_size_ = dim3(WARP_SIZE, 1, horizontal_warps); grid_size_ = dim3( std::max((d_img_.cols + WARP_SIZE * 30 - 1) / (WARP_SIZE * 31), 1), (d_img_.rows - 1) / BLOCK_H, 1); StripMerge << > > (d_img_, d_img_labels_); block_size_ = dim3(WARP_SIZE, BLOCK_H, 1); grid_size_ = dim3( (d_img_.cols + block_size_.x - 1) / block_size_.x, (d_img_.rows + block_size_.y - 1) / block_size_.y, 1); Relabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } void Dealloc() { } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); block_size_ = dim3(WARP_SIZE, BLOCK_H, 1); grid_size_ = dim3( 1, (d_img_.rows + block_size_.y - 1) / block_size_.y, 1); StripLabeling << > > (d_img_, d_img_labels_); const unsigned int horizontal_warps = std::min((d_img_.cols + WARP_SIZE - 1) / WARP_SIZE, 32); block_size_ = dim3(WARP_SIZE, 1, horizontal_warps); grid_size_ = dim3( std::max((d_img_.cols + WARP_SIZE * 30 - 1) / (WARP_SIZE * 31), 1), (d_img_.rows - 1) / BLOCK_H, 1); StripMerge << > > (d_img_, d_img_labels_); block_size_ = dim3(WARP_SIZE, BLOCK_H, 1); grid_size_ = dim3( (d_img_.cols + block_size_.x - 1) / block_size_.x, (d_img_.rows + block_size_.y - 1) / block_size_.y, 1); Relabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(HA8); ================================================ FILE: cuda/src/labeling_kalentev_2011.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // Label Equivalence with optimization introduced by Kalentev (OLE stands for Optimized Label Equivalence) #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Init phase. // Labels start at value 1, to differentiate them from background, that has value 0. __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned global_col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = global_row * img.step + global_col; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < img.rows && global_col < img.cols) { labels[labels_index] = img[img_index] ? (labels_index + 1) : 0; } } __device__ unsigned int MinLabel(unsigned l1, unsigned l2) { if (l1 && l2) return min(l1, l2); else return l1; } __device__ unsigned int FindMinLabel(cuda::PtrStepSzi labels, unsigned row, unsigned col, unsigned label, unsigned labels_index) { unsigned int min = label; if (row > 0) { min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size)]); if (col > 0) min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size) - 1]); if (col < labels.cols - 1) min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size) + 1]); } if (row < labels.rows - 1) { min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size)]); if (col > 0) min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size) - 1]); if (col < labels.cols - 1) min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size) + 1]); } if (col > 0) min = MinLabel(min, labels.data[labels_index - 1]); if (col < labels.cols - 1) min = MinLabel(min, labels.data[labels_index + 1]); return min; } // Scan phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Scan(cuda::PtrStepSzi labels, char* changes) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { unsigned min_label = FindMinLabel(labels, row, col, label, labels_index); if (min_label < label) { labels[label - 1] = min(static_cast(labels[label - 1]), min_label); *changes = 1; } } } } // Analysis phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Analyze(cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { unsigned index = labels_index; while (label - 1 != index) { index = label - 1; label = labels[index]; } labels[labels_index] = label; } } } } class OLE : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; char changes; char* d_changes; public: OLE() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_img_labels_); while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_img_labels_); } cudaFree(d_changes); cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); grid_size_ = dim3((d_img_.cols + x - 1) / x, (d_img_.rows + y - 1) / y, 1); block_size_ = dim3(x, y, 1); BLOCKSIZE_KERNEL(Init, grid_size_, block_size_, 0, d_img_, d_img_labels_) while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); BLOCKSIZE_KERNEL(Scan, grid_size_, block_size_, 0, d_img_labels_, d_changes) cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; BLOCKSIZE_KERNEL(Analyze, grid_size_, block_size_, 0, d_img_labels_) } cudaFree(d_changes); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaMalloc(&d_changes, sizeof(char)); cudaMemset(d_changes, 0, 1); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaMemset(d_changes, 0, 1); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } double Dealloc() { perf_.start(); cudaFree(d_changes); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_img_labels_); while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_img_labels_); } cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(OLE); REGISTER_KERNELS(OLE, Init, Scan, Analyze) ================================================ FILE: cuda/src/labeling_oliveira_2010.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Victor M. A. Oliveira, Roberto A. Lotufo // Department of Computer Engineering and Industrial Automation // School of Electrical and Computer Engineering - UNICAMP, Campinas, Brazil #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // Oliveira2010 #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Returns the root index of the UFTree __device__ unsigned Find(const int* s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int* s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a + 1); done = (old == b + 1); b = old - 1; } else if (b < a) { int old = atomicMin(s_buf + a, b + 1); done = (old == a + 1); a = old - 1; } else { done = true; } } while (!done); } __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned local_index = local_row * blockDim.x + local_col; unsigned global_row = blockIdx.y * BLOCK_ROWS + local_row; unsigned global_col = blockIdx.x * blockDim.x + local_col; unsigned img_index = global_row * img.step + global_col; __shared__ int s_buf[BLOCK_ROWS * BLOCK_COLS]; __shared__ unsigned char s_img[BLOCK_ROWS * BLOCK_COLS]; bool in_limits = (global_row < img.rows&& global_col < img.cols); s_buf[local_index] = local_index + 1; s_img[local_index] = in_limits ? img[img_index] : 0xFF; __syncthreads(); unsigned char v = s_img[local_index]; if (in_limits) { if (v) { if (local_col > 0 && s_img[local_index - 1]) { Union(s_buf, local_index, local_index - 1); } if (local_row > 0 && s_img[local_index - blockDim.x]) { Union(s_buf, local_index, local_index - blockDim.x); } } else { if (local_row > 0 && s_img[local_index - blockDim.x]) { if (local_col > 0 && s_img[local_index - 1]) { Union(s_buf, local_index - 1, local_index - blockDim.x); } if (local_col < blockDim.x - 1 && s_img[local_index + 1]) { Union(s_buf, local_index + 1, local_index - blockDim.x); } } } } __syncthreads(); if (in_limits) { if (v) { unsigned f = Find(s_buf, local_index); unsigned f_row = f / blockDim.x; unsigned f_col = f % blockDim.x; unsigned global_f = (blockIdx.y * BLOCK_ROWS + f_row) * (labels.step / labels.elem_size) + (blockIdx.x * blockDim.x + f_col); labels.data[global_row * labels.step / sizeof(int) + global_col] = global_f + 1; } else { labels.data[global_row * labels.step / sizeof(int) + global_col] = 0; } } } __global__ void LocalMergeSize(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned local_index = local_row * blockDim.x + local_col; unsigned global_row = blockIdx.y * blockDim.y + local_row; unsigned global_col = blockIdx.x * blockDim.x + local_col; unsigned img_index = global_row * img.step + global_col; extern __shared__ unsigned char shared_memory[]; int* s_buf = reinterpret_cast(shared_memory); unsigned char* s_img = reinterpret_cast(shared_memory + blockDim.y * blockDim.x * sizeof(int)); bool in_limits = (global_row < img.rows&& global_col < img.cols); s_buf[local_index] = local_index + 1; s_img[local_index] = in_limits ? img[img_index] : 0xFF; __syncthreads(); unsigned char v = s_img[local_index]; if (in_limits) { if (v) { if (local_col > 0 && s_img[local_index - 1]) { Union(s_buf, local_index, local_index - 1); } if (local_row > 0 && s_img[local_index - blockDim.x]) { Union(s_buf, local_index, local_index - blockDim.x); } } else { if (local_row > 0 && s_img[local_index - blockDim.x]) { if (local_col > 0 && s_img[local_index - 1]) { Union(s_buf, local_index - 1, local_index - blockDim.x); } if (local_col < blockDim.x - 1 && s_img[local_index + 1]) { Union(s_buf, local_index + 1, local_index - blockDim.x); } } } } __syncthreads(); if (in_limits) { if (v) { unsigned f = Find(s_buf, local_index); unsigned f_row = f / blockDim.x; unsigned f_col = f % blockDim.x; unsigned global_f = (blockIdx.y * blockDim.y + f_row) * (labels.step / labels.elem_size) + (blockIdx.x * blockDim.x + f_col); labels.data[global_row * labels.step / sizeof(int) + global_col] = global_f + 1; // C'è distinzione tra background e foreground } else { labels.data[global_row * labels.step / sizeof(int) + global_col] = 0; } } } __global__ void GlobalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned global_row = blockIdx.y * blockDim.y + local_row; unsigned global_col = blockIdx.x * blockDim.x + local_col; unsigned img_index = global_row * img.step + global_col; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; bool in_limits = (global_row < img.rows&& global_col < img.cols); if (in_limits) { unsigned char v = img[img_index]; if (v) { if (global_col > 0 && local_col == 0 && img[img_index - 1]) { Union(labels.data, labels_index, labels_index - 1); } if (global_row > 0 && local_row == 0 && img[img_index - img.step]) { Union(labels.data, labels_index, labels_index - labels.step / sizeof(int)); } } else { if (global_row > 0 && img[img_index - img.step]) { if (global_col > 0 && (local_row == 0 || local_col == 0) && img[img_index - 1]) { Union(labels.data, labels_index - 1, labels_index - labels.step / sizeof(int)); } if ((global_col < img.cols - 1) && (local_row == 0 || local_col == blockDim.x - 1) && img[img_index + 1]) { Union(labels.data, labels_index + 1, labels_index - labels.step / sizeof(int)); } } } } } __global__ void PathCompression(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * blockDim.y + threadIdx.y; unsigned global_col = blockIdx.x * blockDim.x + threadIdx.x; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < labels.rows && global_col < labels.cols) { unsigned char val = img[global_row * img.step + global_col]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } } class UF : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: UF() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); // Phase 1 // CCL on tiles LocalMerge << > > (d_img_, d_img_labels_); // Immagine di debug della prima fase //cuda::GpuMat d_local_labels; //d_img_labels_.copyTo(d_local_labels); //PathCompression << > > (d_img_, d_local_labels); //// ZeroBackground << > > (d_img_, d_local_labels); //Mat1i local_labels(img_.size()); //d_local_labels.download(local_labels); // Phase 2 // Merges UFTrees of different tiles GlobalMerge << > > (d_img_, d_img_labels_); // Immagine di debug della seconda fase //cuda::GpuMat d_global_labels; //d_img_labels_.copyTo(d_global_labels); //PathCompression << > > (d_img_, d_global_labels); //// ZeroBackground << > > (d_img_, d_global_labels); //Mat1i global_labels(img_.size()); //d_global_labels.download(global_labels); // Phase 3 // Collapse UFTrees PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } void PerformLabelingBlocksize(int x, int y, int z) override { const int block_cols = x; const int block_rows = y; d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + block_cols - 1) / block_cols, (d_img_.rows + block_rows - 1) / block_rows, 1); block_size_ = dim3(block_cols, block_rows, 1); int shared_size = block_rows * block_cols * (sizeof(int) + sizeof(unsigned char)); BLOCKSIZE_KERNEL(LocalMergeSize, grid_size_, block_size_, shared_size, d_img_, d_img_labels_) BLOCKSIZE_KERNEL(GlobalMerge, grid_size_, block_size_, 0, d_img_, d_img_labels_) BLOCKSIZE_KERNEL(PathCompression, grid_size_, block_size_, 0, d_img_, d_img_labels_) } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void LocalScan() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } void GlobalScan() { GlobalMerge << > > (d_img_, d_img_labels_); PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); LocalScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); GlobalScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(UF); REGISTER_KERNELS(UF, LocalMergeSize, GlobalMerge, PathCompression) ================================================ FILE: cuda/src/labeling_paravecino_2014.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Fanny Nina Paravecino and David Kaeli // Northeastern University, Boston MA 02115, USA // // Kernels tend to be very slow on most datasets, // with the exception of "check" and "fingerprints" #include #include #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define THREADSX 16 #define THREADSY 16 #define THREADS 512 #define COLS 512 #define COLSHALF 256 #define cudaErrChk(ans) { cudaAssert((ans), __FILE__, __LINE__); } #define BUF_SIZE 256 #define MAX_LABELS 262144 typedef unsigned int uint; class errorHandler { }; using namespace std; typedef unsigned char uchar; using namespace cv; namespace { static void cudaAssert(cudaError_t code, const char* file, int line, bool abort = true) { if (code != cudaSuccess) { fprintf(stderr, "GPUassert: %s %s %d\n", cudaGetErrorString(code), file, line); if (abort) exit(code); } } // CUDA kernels __global__ void findSpansKernel(int* out, int* components, const uchar* in, const int rows, const int cols, const int step) { uint i = (blockIdx.x * blockDim.x) + threadIdx.x; uint colsSpans = ((cols + 2 - 1) / 2) * 2; int current; int colsComponents = colsSpans / 2; bool flagFirst = true; int indexOut = 0; int indexComp = 0; int comp = i * colsComponents; if (i < rows) { for (int j = 0; j < cols; j++) { if (flagFirst && in[i * step + j] > 0) { current = in[i * step + j]; out[i * colsSpans + indexOut] = j; indexOut++; flagFirst = false; } if (!flagFirst && in[i * step + j] != current) { out[i * colsSpans + indexOut] = j - 1; indexOut++; flagFirst = true; /*add the respective label*/ components[i * colsComponents + indexComp] = comp; indexComp++; comp++; } } if (!flagFirst) { out[i * colsSpans + indexOut] = cols - 1; /*add the respective label*/ components[i * colsComponents + indexComp] = comp; } } } __global__ void relabelUnrollKernel(int* components, int previousLabel, int newLabel, const int colsComponents, const int idx, const int rows, const int factor) { uint id_i_child = (blockIdx.x * blockDim.x) + threadIdx.x; id_i_child = id_i_child + (rows * idx); uint id_j_child = (blockIdx.y * blockDim.y) + threadIdx.y; id_j_child = (colsComponents / factor) * id_j_child; uint i = id_i_child; //for (int j = id_j_child; j < (colsComponents / factor); j++) // SA shouldn't it be j < (colsComponents / factor) * (id_j_child + 1)? if (i < rows) { for (int j = id_j_child; (j < (colsComponents / factor) * (id_j_child + 1)) && (j < colsComponents); j++) { if (components[i * colsComponents + j] == previousLabel) { components[i * colsComponents + j] = newLabel; } } } } __global__ void mergeSpansKernel(int* components, int* spans, const int rows, const int cols) { //uint idx = (blockIdx.x * blockDim.x) + threadIdx.x; uint idx = 0; uint colsSpans = ((cols + 2 - 1) / 2) * 2; uint colsComponents = colsSpans / 2; /*Merge Spans*/ int startX, endX, newStartX, newEndX; int label = -1; /*threads and blocks need to relabel the components labels*/ int threads = 16; const int factor = 4; /*--------For 256, 512--------*/ dim3 threadsPerBlockUnrollRelabel(threads * threads); dim3 numBlocksUnrollRelabel((rows + threads * threads - 1) / (threads * threads), factor); /*-----------------*/ for (int i = 0; i < rows - 1; i++) //compute until penultimate row, since we need the below row to compare { for (int j = 0; j < colsSpans - 1 && spans[i * colsSpans + j] >= 0; j = j + 2) //verify if there is a Span available { startX = spans[i * colsSpans + j]; endX = spans[i * colsSpans + j + 1]; int newI = i + 1; //line below for (int k = 0; k < colsSpans - 1 && spans[newI * colsSpans + k] >= 0; k = k + 2) //verify if there is a New Span available { newStartX = spans[newI * colsSpans + k]; newEndX = spans[newI * colsSpans + k + 1]; if (startX <= newEndX + 1 && endX >= newStartX - 1)//Merge components { label = components[i * (colsSpans / 2) + (j / 2)]; //choose the startSpan label relabelUnrollKernel << > > (components, components[newI * (colsSpans / 2) + (k / 2)], label, colsComponents, idx, rows, factor); cudaDeviceSynchronize(); //cudaError_t err = cudaGetLastError(); //if (err != cudaSuccess) // printf("\tError:%s \n", (char)err); } //__syncthreads(); } } } } __global__ void makeOutput(const int* components, const int* spans, const int rows, const int cols, int* labels, const int labelsStep) { const int r = blockIdx.y * blockDim.y + threadIdx.y; const int j = blockIdx.x * blockDim.x + threadIdx.x; const uint colsSpans = ((cols + 2 - 1) / 2) * 2; const uint colsComponents = colsSpans / 2; if (r < rows && j < colsComponents) { const int label = components[r * colsComponents + j]; if (components[r * colsComponents + j] >= 0) { const int cStart = spans[r * colsSpans + 2 * j]; const int cEnd = spans[r * colsSpans + 2 * j + 1]; for (int c = cStart; c <= cEnd; c++) { labels[r * labelsStep + c] = label + 1; } } } } } class ACCL : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; int* devComponents_; int* devOut_; public: ACCL() {} void PerformLabeling() { const int cols = img_.cols; const int rows = img_.rows; const int colsSpans = ((cols + 1) / 2) * 2; /*ceil(cols/2)*2*/ d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); //int* devIn = 0; int* devComponents = 0; int* devOut = 0; const int colsComponents = colsSpans / 2; /*compute sizes of matrices*/ const int sizeComponents = colsComponents * rows; const int sizeOut = colsSpans * rows; /*Block and Grid size*/ int blockSize; //int minGridSize; int gridSize; /* Allocate GPU buffers for three vectors (two input, one output)*/ cudaErrChk(cudaMalloc((void**)&devOut, sizeOut * sizeof(int))); cudaErrChk(cudaMalloc((void**)&devComponents, sizeComponents * sizeof(int))); cudaErrChk(cudaMemset(devOut, -1, sizeOut * sizeof(int))); cudaErrChk(cudaMemset(devComponents, -1, sizeComponents * sizeof(int))); /* Round up according to array size */ blockSize = 512; gridSize = (rows + blockSize - 1) / blockSize; //gridSize = rows/blockSize; const int magicSize = 16; const dim3 makeOutputBlockSize(magicSize, magicSize); const dim3 makeOutputGridSize((colsComponents + magicSize - 1) / magicSize, (rows + magicSize - 1) / magicSize); findSpansKernel << > > (devOut, devComponents, d_img_.data, rows, cols, (const int)d_img_.step); mergeSpansKernel << <1, 1 >> > (devComponents, devOut, rows, cols); makeOutput << < makeOutputGridSize, makeOutputBlockSize >> > ( devComponents, devOut, rows, cols, (int*)d_img_labels_.data, (const int)d_img_labels_.step / 4); /*Free*/ cudaFree(devOut); cudaFree(devComponents); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); const int cols = img_.cols; const int rows = img_.rows; const int colsSpans = ((cols + 1) / 2) * 2; /*ceil(cols/2)*2*/ const int colsComponents = colsSpans / 2; /*compute sizes of matrices*/ const int sizeComponents = colsComponents * rows; const int sizeOut = colsSpans * rows; /* Allocate GPU buffers for three vectors (two input, one output)*/ cudaErrChk(cudaMalloc((void**)&devOut_, sizeOut * sizeof(int))); cudaErrChk(cudaMalloc((void**)&devComponents_, sizeComponents * sizeof(int))); d_img_labels_.create(d_img_.size(), CV_32SC1); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); cudaFree(devOut_); cudaFree(devComponents_); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void FirstScan() { const int cols = img_.cols; const int rows = img_.rows; const int colsSpans = ((cols + 1) / 2) * 2; /*ceil(cols/2)*2*/ cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); const int colsComponents = colsSpans / 2; /*compute sizes of matrices*/ const int sizeComponents = colsComponents * rows; const int sizeOut = colsSpans * rows; /*Block and Grid size*/ int blockSize; //int minGridSize; int gridSize; cudaErrChk(cudaMemset(devOut_, -1, sizeOut * sizeof(int))); cudaErrChk(cudaMemset(devComponents_, -1, sizeComponents * sizeof(int))); /* Round up according to array size */ blockSize = 512; gridSize = (rows + blockSize - 1) / blockSize; //int* out = new int[sizeOut]; //int* components = new int[sizeComponents]; findSpansKernel << > > (devOut_, devComponents_, d_img_.data, rows, cols, (const int)d_img_.step); //cudaErrChk(cudaMemcpy(out, devOut_, sizeOut * sizeof(int), cudaMemcpyDeviceToHost)); //cudaErrChk(cudaMemcpy(components, devComponents_, sizeComponents * sizeof(int), cudaMemcpyDeviceToHost)); mergeSpansKernel << <1, 1 >> > (devComponents_, devOut_, rows, cols); //cudaErrChk(cudaMemcpy(out, devOut_, sizeOut * sizeof(int), cudaMemcpyDeviceToHost)); //cudaErrChk(cudaMemcpy(components, devComponents_, sizeComponents * sizeof(int), cudaMemcpyDeviceToHost)); //delete[] out; //delete[] components; cudaDeviceSynchronize(); } void SecondScan() { const int cols = img_.cols; const int rows = img_.rows; const int colsSpans = ((cols + 1) / 2) * 2; /*ceil(cols/2)*2*/ const int colsComponents = colsSpans / 2; const int magicSize = 16; const dim3 makeOutputBlockSize(magicSize, magicSize); const dim3 makeOutputGridSize((colsComponents + magicSize - 1) / magicSize, (rows + magicSize - 1) / magicSize); makeOutput << < makeOutputGridSize, makeOutputBlockSize >> > ( devComponents_, devOut_, rows, cols, (int*)d_img_labels_.data, (const int)d_img_labels_.step / 4); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(ACCL); ================================================ FILE: cuda/src/labeling_rasmusson_2013.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // Rasmusson2013 #define BLOCK_SIZE 32 // this must be multiple of the warp size (leave it to 32) #define PATCH_SIZE (BLOCK_SIZE + 2) using namespace cv; using namespace std; namespace { // This kernel makes use of a (BLOCK_SIZE + 2) X (BLOCK_SIZE + 2) array in shared memory // The paper actually says (BLOCK_SIZE + 1) X (BLOCK_SIZE + 1), but I can't manage to make it work that way __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { const unsigned r = blockIdx.y * BLOCK_SIZE + threadIdx.y; const unsigned c = blockIdx.x * BLOCK_SIZE + threadIdx.x; const unsigned labels_index = r * (labels.step / labels.elem_size) + c; const unsigned img_patch_index = (threadIdx.y + 1) * PATCH_SIZE + threadIdx.x + 1; const unsigned local_linear_index = threadIdx.y * BLOCK_SIZE + threadIdx.x; __shared__ unsigned char img_patch[PATCH_SIZE * PATCH_SIZE]; const bool in_limits = r < img.rows&& c < img.cols; // Load 34 x 34 matrix from input image // Convert local_linear_index to coordinates of the 34 x 34 matrix // Round 1 const int patch_r1 = local_linear_index / PATCH_SIZE; const int patch_c1 = local_linear_index % PATCH_SIZE; const int patch_img_r1 = blockIdx.y * BLOCK_SIZE - 1 + patch_r1; const int patch_img_c1 = blockIdx.x * BLOCK_SIZE - 1 + patch_c1; const int patch_img_index1 = patch_img_r1 * img.step + patch_img_c1; const bool patch_in_limits1 = patch_img_r1 >= 0 && patch_img_c1 >= 0 && patch_img_r1 < img.rows&& patch_img_c1 < img.cols; img_patch[patch_r1 * PATCH_SIZE + patch_c1] = patch_in_limits1 ? img[patch_img_index1] : 0; // Round 2 const int patch_r2 = (local_linear_index + BLOCK_SIZE * BLOCK_SIZE) / PATCH_SIZE; const int patch_c2 = (local_linear_index + BLOCK_SIZE * BLOCK_SIZE) % PATCH_SIZE; if (patch_r2 < PATCH_SIZE) { const int patch_img_r2 = blockIdx.y * BLOCK_SIZE - 1 + patch_r2; const int patch_img_c2 = blockIdx.x * BLOCK_SIZE - 1 + patch_c2; const int patch_img_index2 = patch_img_r2 * img.step + patch_img_c2; const bool patch_in_limits2 = patch_img_r2 >= 0 && patch_img_c2 >= 0 && patch_img_r2 < img.rows&& patch_img_c2 < img.cols; img_patch[patch_r2 * PATCH_SIZE + patch_c2] = patch_in_limits2 ? img[patch_img_index2] : 0; } __syncthreads(); if (in_limits) { unsigned int connections = 0; unsigned label = 0; if (img_patch[img_patch_index]) { label = labels_index + 1; // Enrich label with connections information if (img_patch[img_patch_index - PATCH_SIZE - 1]) { connections |= (1u << 31); } if (img_patch[img_patch_index - PATCH_SIZE]) { connections |= (1u << 30); } if (img_patch[img_patch_index - PATCH_SIZE + 1]) { connections |= (1u << 29); } if (img_patch[img_patch_index + 1]) { connections |= (1u << 28); } label |= connections; } labels[labels_index] = label; } } __global__ void Propagate(cuda::PtrStepSzi labels, char* changed) { bool thread_changed = false; const unsigned r = blockIdx.y * BLOCK_SIZE + threadIdx.y; const unsigned c = blockIdx.x * BLOCK_SIZE + threadIdx.x; const unsigned labels_index = r * (labels.step / labels.elem_size) + c; const unsigned labels_patch_index = (threadIdx.y + 1) * PATCH_SIZE + threadIdx.x + 1; const unsigned local_linear_index = threadIdx.y * BLOCK_SIZE + threadIdx.x; __shared__ unsigned labels_patch[PATCH_SIZE * PATCH_SIZE]; __shared__ bool something_changed[1]; const bool in_limits = r < labels.rows&& c < labels.cols; // Load 34 x 34 matrix from input image // Convert local_linear_index to coordinates of the 34 x 34 matrix // 2 rounds are enough only for BLOCK_SIZE >= 5 // Round 1 const int patch_r1 = local_linear_index / PATCH_SIZE; const int patch_c1 = local_linear_index % PATCH_SIZE; const int patch_labels_r1 = blockIdx.y * BLOCK_SIZE - 1 + patch_r1; const int patch_labels_c1 = blockIdx.x * BLOCK_SIZE - 1 + patch_c1; const int patch_labels_index1 = patch_labels_r1 * (labels.step / labels.elem_size) + patch_labels_c1; const bool patch_in_limits1 = patch_labels_r1 >= 0 && patch_labels_c1 >= 0 && patch_labels_r1 < labels.rows&& patch_labels_c1 < labels.cols; labels_patch[patch_r1 * PATCH_SIZE + patch_c1] = patch_in_limits1 ? labels[patch_labels_index1] : 0; // Round 2 const int patch_r2 = (local_linear_index + BLOCK_SIZE * BLOCK_SIZE) / PATCH_SIZE; if (patch_r2 < PATCH_SIZE) { const int patch_c2 = (local_linear_index + BLOCK_SIZE * BLOCK_SIZE) % PATCH_SIZE; const int patch_labels_r2 = blockIdx.y * BLOCK_SIZE - 1 + patch_r2; const int patch_labels_c2 = blockIdx.x * BLOCK_SIZE - 1 + patch_c2; const int patch_labels_index2 = patch_labels_r2 * (labels.step / labels.elem_size) + patch_labels_c2; const bool patch_in_limits2 = patch_labels_r2 >= 0 && patch_labels_c2 >= 0 && patch_labels_r2 < labels.rows&& patch_labels_c2 < labels.cols; labels_patch[patch_r2 * PATCH_SIZE + patch_c2] = patch_in_limits2 ? labels[patch_labels_index2] : 0; } do { if (threadIdx.x == 0 && threadIdx.y == 0) { something_changed[0] = false; } __syncthreads(); thread_changed = false; // Primary/Secondary Optimization // Find the primary pixel of the sub-component, and add its label to the propagation. if (true) { const unsigned label = labels_patch[labels_patch_index]; unsigned min_label = label & 0x0FFFFFFF; if (min_label) { const int primary_r = ((label & 0x0FFFFFFF) - 1) / (labels.step / labels.elem_size); const int primary_c = ((label & 0x0FFFFFFF) - 1) % (labels.step / labels.elem_size); // Check if the primary pixel is in the same block // If it is, take its current label as the minimum if (primary_r >= (blockIdx.y * BLOCK_SIZE - 1) && primary_r <= (blockIdx.y + 1) * BLOCK_SIZE && primary_c >= (blockIdx.x * BLOCK_SIZE - 1) && primary_c <= (blockIdx.x + 1) * BLOCK_SIZE) { const int primary_local_r = primary_r - blockIdx.y * BLOCK_SIZE; const int primary_local_c = primary_c - blockIdx.x * BLOCK_SIZE; min_label = min(min_label, labels_patch[(primary_local_r + 1) * PATCH_SIZE + (primary_local_c + 1)] & 0x0FFFFFFF); } } if (min_label < (label & 0x0FFFFFFF)) { labels_patch[labels_patch_index] = min_label | (label & 0xF0000000); thread_changed = true; } } __syncthreads(); // Propagation sizes are calculated in every propagation step if (true) { // UP-LEFT // This is a bit convoluted, because we need pixels on a diagonal line // to be processed by threads belonging to the same warp. // The pixel-warp mapping is the following (for WARP_SIZE = BLOCK_SIZE = 4): // +---+---+---+---+ // | 0 | 1 | 2 | 3 | // +---+---+---+---+ // | 3 | 0 | 1 | 2 | // +---+---+---+---+ // | 2 | 3 | 0 | 1 | // +---+---+---+---+ // | 1 | 2 | 3 | 0 | // +---+---+---+---+ const unsigned patch_r_dir = threadIdx.x; const unsigned patch_c_dir = (threadIdx.x + threadIdx.y) % BLOCK_SIZE; const unsigned patch_index_dir = (patch_r_dir + 1) * PATCH_SIZE + patch_c_dir + 1; unsigned label_dir = labels_patch[patch_index_dir]; unsigned min_label = label_dir & 0x0FFFFFFF; unsigned prop = ((label_dir >> 31) & 1); // 5 iterations are enough for the longest propagation // Maybe there is a way to end the cycle sooner for (int i = 0; i < 5; ++i) { unsigned delta = __shfl_up_sync(0xffffffff, prop, prop); if (static_cast(patch_r_dir) - static_cast(prop) >= 0 && static_cast(patch_c_dir) - static_cast(prop) >= 0) { prop += delta; } } if (prop > 0) { // A propagation size of 1 must be mantained const unsigned close_label = labels_patch[patch_index_dir - PATCH_SIZE - 1]; min_label = min(min_label, close_label & 0x0FFFFFFF); // The farthest label is gathered const unsigned far_label = labels_patch[patch_index_dir - prop * (PATCH_SIZE + 1)]; min_label = min(min_label, far_label & 0x0FFFFFFF); } // DOWN-RIGHT prop = ((labels_patch[patch_index_dir + PATCH_SIZE + 1] >> 31) & 1); // 5 iterations are enough for the longest propagation // Maybe there is a way to end the cycle sooner for (int i = 0; i < 5; ++i) { unsigned delta = __shfl_down_sync(0xffffffff, prop, prop); if (patch_r_dir + prop < BLOCK_SIZE && patch_c_dir + prop < BLOCK_SIZE) { prop += delta; } } if (prop > 0) { // A propagation size of 1 must be mantained const unsigned close_label = labels_patch[patch_index_dir + PATCH_SIZE + 1]; min_label = min(min_label, close_label & 0x0FFFFFFF); // The farthest label is gathered const unsigned far_label = labels_patch[patch_index_dir + prop * (PATCH_SIZE + 1)]; min_label = min(min_label, far_label & 0x0FFFFFFF); } if (min_label < (label_dir & 0x0FFFFFFF)) { labels_patch[patch_index_dir] = min_label | (label_dir & 0xF0000000); thread_changed = true; } } __syncthreads(); if (true) { // UP-RIGHT // This is a bit convoluted, because we need pixels on a diagonal line // to be processed by threads belonging to the same warp. // The pixel-warp mapping is the following (for WARP_SIZE = BLOCK_SIZE = 4): // +---+---+---+---+ // | 1 | 2 | 3 | 0 | // +---+---+---+---+ // | 2 | 3 | 0 | 1 | // +---+---+---+---+ // | 3 | 0 | 1 | 2 | // +---+---+---+---+ // | 0 | 1 | 2 | 3 | // +---+---+---+---+ const unsigned patch_r_dir = threadIdx.x; const unsigned patch_c_dir = (BLOCK_SIZE - 1 - threadIdx.x + threadIdx.y) % BLOCK_SIZE; const unsigned patch_index_dir = (patch_r_dir + 1) * PATCH_SIZE + patch_c_dir + 1; unsigned label_dir = labels_patch[patch_index_dir]; unsigned min_label = label_dir & 0x0FFFFFFF; unsigned prop = ((label_dir >> 29) & 1); // 5 iterations are enough for the longest propagation // Maybe there is a way to end the cycle sooner for (int i = 0; i < 5; ++i) { unsigned delta = __shfl_up_sync(0xffffffff, prop, prop); if (static_cast(patch_r_dir) - static_cast(prop) >= 0 && patch_c_dir + prop < BLOCK_SIZE) { prop += delta; } } if (prop > 0) { // A propagation size of 1 must be mantained const unsigned close_label = labels_patch[patch_index_dir - PATCH_SIZE + 1]; min_label = min(min_label, close_label & 0x0FFFFFFF); // The farthest label is gathered const unsigned far_label = labels_patch[patch_index_dir - prop * (PATCH_SIZE - 1)]; min_label = min(min_label, far_label & 0x0FFFFFFF); } // DOWN-LEFT prop = ((labels_patch[patch_index_dir + PATCH_SIZE - 1] >> 29) & 1); // 5 iterations are enough for the longest propagation // Maybe there is a way to end the cycle sooner for (int i = 0; i < 5; ++i) { unsigned delta = __shfl_down_sync(0xffffffff, prop, prop); if (patch_r_dir + prop < BLOCK_SIZE && static_cast(patch_c_dir) - static_cast(prop) >= 0) { prop += delta; } } if (prop > 0) { // A propagation size of 1 must be mantained const unsigned close_label = labels_patch[patch_index_dir + PATCH_SIZE - 1]; min_label = min(min_label, close_label & 0x0FFFFFFF); // The farthest label is gathered const unsigned far_label = labels_patch[patch_index_dir + prop * (PATCH_SIZE - 1)]; min_label = min(min_label, far_label & 0x0FFFFFFF); } if (min_label < (label_dir & 0x0FFFFFFF)) { labels_patch[patch_index_dir] = min_label | (label_dir & 0xF0000000); thread_changed = true; } } __syncthreads(); if (true) { // UP // warp x takes care of COLUMN x, up to down unsigned patch_index_dir = (threadIdx.x + 1) * PATCH_SIZE + threadIdx.y + 1; unsigned label_dir = labels_patch[patch_index_dir]; unsigned min_label = label_dir & 0x0FFFFFFF; unsigned prop = ((label_dir >> 30) & 1); // 5 iterations are enough for the longest propagation // Maybe there is a way to end the cycle sooner for (int i = 0; i < 5; ++i) { unsigned delta = __shfl_up_sync(0xffffffff, prop, prop); if (static_cast(threadIdx.x) - static_cast(prop) >= 0) { prop += delta; } } if (prop > 0) { // A propagation size of 1 must be mantained const unsigned close_label = labels_patch[patch_index_dir - PATCH_SIZE]; min_label = min(min_label, close_label & 0x0FFFFFFF); // The farthest label is gathered const unsigned far_label = labels_patch[patch_index_dir - prop * PATCH_SIZE]; min_label = min(min_label, far_label & 0x0FFFFFFF); } // DOWN prop = ((labels_patch[patch_index_dir + PATCH_SIZE] >> 30) & 1); // 5 iterations are enough for the longest propagation // Maybe there is a way to end the cycle sooner for (int i = 0; i < 5; ++i) { unsigned delta = __shfl_down_sync(0xffffffff, prop, prop); if (threadIdx.x + prop < BLOCK_SIZE) { prop += delta; } } if (prop > 0) { // A propagation size of 1 must be mantained const unsigned close_label = labels_patch[patch_index_dir + PATCH_SIZE]; min_label = min(min_label, close_label & 0x0FFFFFFF); // The farthest label is gathered const unsigned far_label = labels_patch[patch_index_dir + prop * PATCH_SIZE]; min_label = min(min_label, far_label & 0x0FFFFFFF); } if (min_label < (label_dir & 0x0FFFFFFF)) { labels_patch[patch_index_dir] = min_label | (label_dir & 0xF0000000); thread_changed = true; } } __syncthreads(); if (true) { // RIGHT // patch_index_dir changes for every direction unsigned patch_index_dir = (threadIdx.y + 1) * PATCH_SIZE + threadIdx.x + 1; unsigned label_dir = labels_patch[patch_index_dir]; unsigned min_label = label_dir & 0x0FFFFFFF; unsigned prop = ((label_dir >> 28) & 1); // 5 iterations are enough for the longest propagation // Maybe there is a way to end the cycle sooner for (int i = 0; i < 5; ++i) { unsigned delta = __shfl_down_sync(0xffffffff, prop, prop); if (threadIdx.x + prop < BLOCK_SIZE) { prop += delta; } } if (prop > 0) { // A propagation size of 1 must be mantained const unsigned close_label = labels_patch[patch_index_dir + 1]; min_label = min(min_label, close_label & 0x0FFFFFFF); // The farthest label is gathered const unsigned far_label = labels_patch[patch_index_dir + prop]; min_label = min(min_label, far_label & 0x0FFFFFFF); } // LEFT prop = ((labels_patch[patch_index_dir - 1] >> 28) & 1); // 5 iterations are enough for the longest propagation // Maybe there is a way to end the cycle sooner for (int i = 0; i < 5; ++i) { unsigned delta = __shfl_up_sync(0xffffffff, prop, prop); if (static_cast(threadIdx.x) - static_cast(prop) >= 0) { prop += delta; } } if (prop > 0) { // A propagation size of 1 must be mantained const unsigned close_label = labels_patch[patch_index_dir - 1]; min_label = min(min_label, close_label & 0x0FFFFFFF); // The farthest label is gathered const unsigned far_label = labels_patch[patch_index_dir - prop]; min_label = min(min_label, far_label & 0x0FFFFFFF); } if (min_label < (label_dir & 0x0FFFFFFF)) { labels_patch[patch_index_dir] = min_label | (label_dir & 0xF0000000); thread_changed = true; } } if (thread_changed) { something_changed[0] = true; } __syncthreads(); if (threadIdx.x == 0 && threadIdx.y == 0 && something_changed[0]) { *changed = 1; } } //while (something_changed[0]); while (false); // change this with the previous line to add an internal loop - it doesn't seem efficient if (in_limits) { labels[labels_index] = labels_patch[labels_patch_index]; } } __global__ void End(cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * BLOCK_SIZE + threadIdx.y; unsigned global_col = blockIdx.x * BLOCK_SIZE + threadIdx.x; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < labels.rows && global_col < labels.cols) { labels.data[labels_index] &= 0x0FFFFFFF; } } } class RASMUSSON : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; char* d_changed_ptr_; public: RASMUSSON() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_SIZE - 1) / BLOCK_SIZE, (d_img_.rows + BLOCK_SIZE - 1) / BLOCK_SIZE, 1); block_size_ = dim3(BLOCK_SIZE, BLOCK_SIZE, 1); char changed = 1; char* d_changed_ptr; cudaMalloc(&d_changed_ptr, 1); Init << > > (d_img_, d_img_labels_); while (changed) { changed = 0; cudaMemset(d_changed_ptr, 0, 1); Propagate << > > (d_img_labels_, d_changed_ptr); cudaMemcpy(&changed, d_changed_ptr, 1, cudaMemcpyDeviceToHost); } End << > > (d_img_labels_); cudaFree(d_changed_ptr); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_SIZE - 1) / BLOCK_SIZE, (d_img_.rows + BLOCK_SIZE - 1) / BLOCK_SIZE, 1); block_size_ = dim3(BLOCK_SIZE, BLOCK_SIZE, 1); cudaMalloc(&d_changed_ptr_, 1); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); cudaFree(d_changed_ptr_); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { Init << > > (d_img_, d_img_labels_); char changed = 1; while (changed) { changed = 0; cudaMemset(d_changed_ptr_, 0, 1); Propagate << > > (d_img_labels_, d_changed_ptr_); cudaMemcpy(&changed, d_changed_ptr_, 1, cudaMemcpyDeviceToHost); } End << > > (d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { // This doesn't really make sense, there are not two separate scans double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(RASMUSSON); ================================================ FILE: cuda/src/labeling_soh_2014_8DLS.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Init phase. // Labels start at value 1, to differentiate them from background, that has value 0. __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned global_col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = global_row * img.step + global_col; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < img.rows && global_col < img.cols) { labels[labels_index] = img[img_index] ? (labels_index + 1) : 0; } } __global__ void Scan(cuda::PtrStepSzi labels, char* changes) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { // Scan the 8 directions looking for the smallest label unsigned min_label = UINT_MAX; // Up for (unsigned i = 1; i <= row; i++) { unsigned tmp = labels[labels_index - i * labels.step / labels.elem_size]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Down for (unsigned i = 1; row + i < labels.rows; i++) { unsigned tmp = labels[labels_index + i * labels.step / labels.elem_size]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Left for (unsigned i = 1; col >= i; i++) { unsigned tmp = labels[labels_index - i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } //Right for (unsigned i = 1; col + i < labels.cols; i++) { unsigned tmp = labels[labels_index + i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Up-Left for (unsigned i = 1; i <= row && col >= i; i++) { unsigned tmp = labels[labels_index - i * labels.step / labels.elem_size - i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Up-Right for (unsigned i = 1; i <= row && col + i < labels.cols; i++) { unsigned tmp = labels[labels_index - i * labels.step / labels.elem_size + i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Down-Left for (unsigned i = 1; row + i < labels.rows && col >= i; i++) { unsigned tmp = labels[labels_index + i * labels.step / labels.elem_size - i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Down-Right for (unsigned i = 1; row + i < labels.rows && col + i < labels.cols; i++) { unsigned tmp = labels[labels_index + i * labels.step / labels.elem_size + i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } if (min_label < label) { labels[labels_index] = min_label; *changes = 1; } } } } } class DLS : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; char* d_changes_; public: DLS() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); char* d_changes; cudaMalloc(&d_changes, sizeof(char)); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_img_labels_); while (true) { char changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; } cudaFree(d_changes); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMalloc(&d_changes_, sizeof(char)); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); cudaFree(d_changes_); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_img_labels_); while (true) { char changes = 0; cudaMemcpy(d_changes_, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes_); cudaMemcpy(&changes, d_changes_, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; } cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(DLS); ================================================ FILE: cuda/src/labeling_soh_2014_M8DLS.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // Modification of 8DLS (8 Directional Label equivalence Solution). The change with respect to 8DLS is not clear. // Apparently, the result is not always correct. // We e-mailed the authors, but they won't answer. // Modifica dell' 8DLS (8 Directional Label equivalence Solution). La modifica proposta rispetto a DLS non � chiara, da quello che // abbiamo capito dal paper non sempre porta alla soluzione corretta. Abbiamo scritto una mail agli autori, attendiamo risposta. #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Init phase. // Labels start at value 1, to differentiate them from background, that has value 0. __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned global_col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned img_index = global_row * img.step + global_col; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < img.rows && global_col < img.cols) { labels[labels_index] = img[img_index] ? (labels_index + 1) : 0; } } __global__ void Scan(cuda::PtrStepSzi labels, char* changes, unsigned it) { unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label && (it < 2 || /*label != labels_index - 1 ||*/ labels[label - 1] != label)) { // Scan the 8 directions looking for the smallest label unsigned min_label = UINT_MAX; // Up for (unsigned i = 1; i <= row; i++) { unsigned tmp = labels[labels_index - i * labels.step / labels.elem_size]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Down for (unsigned i = 1; row + i < labels.rows; i++) { unsigned tmp = labels[labels_index + i * labels.step / labels.elem_size]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Left for (unsigned i = 1; col >= i; i++) { unsigned tmp = labels[labels_index - i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } //Right for (unsigned i = 1; col + i < labels.cols; i++) { unsigned tmp = labels[labels_index + i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Up-Left for (unsigned i = 1; i <= row && col >= i; i++) { unsigned tmp = labels[labels_index - i * labels.step / labels.elem_size - i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Up-Right for (unsigned i = 1; i <= row && col + i < labels.cols; i++) { unsigned tmp = labels[labels_index - i * labels.step / labels.elem_size + i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Down-Left for (unsigned i = 1; row + i < labels.rows && col >= i; i++) { unsigned tmp = labels[labels_index + i * labels.step / labels.elem_size - i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } // Down-Right for (unsigned i = 1; row + i < labels.rows && col + i < labels.cols; i++) { unsigned tmp = labels[labels_index + i * labels.step / labels.elem_size + i]; if (tmp == 0) { break; } if (tmp < min_label) { min_label = tmp; } } if (min_label < label) { labels[labels_index] = min_label; *changes = 1; } } } } } class M8DLS : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; char changes; char* d_changes; public: M8DLS() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_img_labels_); unsigned it = 0; while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes, it); d_img_labels_.download(img_labels_); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; it++; } cudaFree(d_changes); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); cudaFree(d_changes); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); char changes = 1; char* d_changes; cudaMalloc(&d_changes, sizeof(char)); // cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Init << > > (d_img_, d_img_labels_); unsigned it = 1; while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_img_labels_, d_changes, it); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; it++; } cudaFree(d_changes); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(M8DLS); ================================================ FILE: cuda/src/labeling_stava_2011.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // Stava and Benes #define TILE_SIZE 16 #define TILE_GRID_SIZE 4 #define THREAD_PER_TILE 16 using namespace cv; namespace { // Returns the root index of the UFTree __device__ unsigned Find(const int* s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } __device__ void Union(int* s_buf, unsigned index_a, unsigned index_b, char* changed) { unsigned a = s_buf[index_a]; if (!a) return; unsigned b = s_buf[index_b]; if (!b) return; --a; --b; a = Find(s_buf, a); b = Find(s_buf, b); if (a != b) { *changed = 1; } if (a < b) { atomicMin(s_buf + b, a + 1); } else if (b < a) { atomicMin(s_buf + a, b + 1); } } // Perform local CCL on 16x16 tiles __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { const unsigned r = threadIdx.y; const unsigned c = threadIdx.x; const unsigned local_index = r * blockDim.x + c; const unsigned global_row = blockIdx.y * blockDim.y + r; const unsigned global_col = blockIdx.x * blockDim.x + c; const unsigned img_index = global_row * img.step + global_col; __shared__ int s_buf[TILE_SIZE * TILE_SIZE]; __shared__ unsigned char s_img[TILE_SIZE * TILE_SIZE]; __shared__ char changed[1]; bool in_limits = (global_row < img.rows&& global_col < img.cols); s_img[local_index] = in_limits ? img[img_index] : 0; unsigned char v = s_img[local_index]; int label = v ? local_index + 1 : 0; __syncthreads(); while (1) { // Pass 1 of the CCL algorithm s_buf[local_index] = label; if (threadIdx.x == 0 && threadIdx.y == 0) { changed[0] = 0; } int new_label = label; __syncthreads(); // Find the minimal label from the neighboring elements if (label) { if (r > 0 && c > 0 && s_img[local_index - TILE_SIZE - 1]) { new_label = min(new_label, s_buf[local_index - TILE_SIZE - 1]); } if (r > 0 && s_img[local_index - TILE_SIZE]) { new_label = min(new_label, s_buf[local_index - TILE_SIZE]); } if (r > 0 && c < TILE_SIZE - 1 && s_img[local_index - TILE_SIZE + 1]) { new_label = min(new_label, s_buf[local_index - TILE_SIZE + 1]); } if (c > 0 && s_img[local_index - 1]) { new_label = min(new_label, s_buf[local_index - 1]); } if (c < TILE_SIZE - 1 && s_img[local_index + 1]) { new_label = min(new_label, s_buf[local_index + 1]); } if (r < TILE_SIZE - 1 && c > 0 && s_img[local_index + TILE_SIZE - 1]) { new_label = min(new_label, s_buf[local_index + TILE_SIZE - 1]); } if (r < TILE_SIZE - 1 && s_img[local_index + TILE_SIZE]) { new_label = min(new_label, s_buf[local_index + TILE_SIZE]); } if (r < TILE_SIZE - 1 && c < TILE_SIZE - 1 && s_img[local_index + TILE_SIZE + 1]) { new_label = min(new_label, s_buf[local_index + TILE_SIZE + 1]); } } __syncthreads(); // If the new label is smaller than the old one merge the equivalence trees if (new_label < label) { atomicMin(s_buf + label - 1, new_label); changed[0] = 1; } __syncthreads(); if (changed[0] == 0) break; if (label) { // Pass 2 of the CCL algorithm label = Find(s_buf, label - 1) + 1; } __syncthreads(); } if (in_limits) { // Store the result to the device memory int global_label = 0; if (v) { unsigned f_row = (label - 1) / TILE_SIZE; unsigned f_col = (label - 1) % TILE_SIZE; global_label = (blockIdx.y * TILE_SIZE + f_row) * (labels.step / labels.elem_size) + (blockIdx.x * TILE_SIZE + f_col) + 1; } labels.data[global_row * labels.step / sizeof(int) + global_col] = global_label; } } __global__ void GlobalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels, uint32_t subBlockDim) { // Coordinates of the top-left pixel of the current block of tiles unsigned block_row = blockIdx.y * blockDim.y * subBlockDim; unsigned block_col = blockIdx.x * blockDim.x * subBlockDim; // Coordinates of the top-left pixel of the current tile unsigned tile_row = block_row + threadIdx.y * subBlockDim; unsigned tile_col = block_col + threadIdx.x * subBlockDim; unsigned repetitions = (subBlockDim + blockDim.z - 1) / blockDim.z; __shared__ char changed[1]; while (1) { if (threadIdx.x == 0 && threadIdx.y == 0 && threadIdx.z == 0) { changed[0] = 0; } __syncthreads(); // Process the bottom horizontal border for (unsigned i = 0; i < repetitions; i++) { unsigned r = tile_row + subBlockDim - 1; unsigned c = tile_col + i * blockDim.z + threadIdx.z; if (threadIdx.y < blockDim.y - 1 && r < img.rows - 1 && c < img.cols && c < tile_col + subBlockDim) { if (c > block_col) { Union(labels.data, r * labels.step / sizeof(int) + c, (r + 1) * labels.step / sizeof(int) + c - 1, changed); } Union(labels.data, r * labels.step / sizeof(int) + c, (r + 1) * labels.step / sizeof(int) + c, changed); if (c < img.cols - 1 && c < block_col + blockDim.x * subBlockDim - 1) { Union(labels.data, r * labels.step / sizeof(int) + c, (r + 1) * labels.step / sizeof(int) + c + 1, changed); } } } // Process the right vertical border for (unsigned i = 0; i < repetitions; i++) { unsigned c = tile_col + subBlockDim - 1; unsigned r = tile_row + i * blockDim.z + threadIdx.z; if (threadIdx.x < blockDim.x - 1 && c < img.cols - 1 && r < img.rows && r < tile_row + subBlockDim) { if (r > block_row) { Union(labels.data, r * labels.step / sizeof(int) + c, (r - 1) * labels.step / sizeof(int) + c + 1, changed); } Union(labels.data, r * labels.step / sizeof(int) + c, r * labels.step / sizeof(int) + c + 1, changed); if (r < img.rows - 1 && r < block_row + blockDim.y * subBlockDim - 1) { Union(labels.data, r * labels.step / sizeof(int) + c, (r + 1) * labels.step / sizeof(int) + c + 1, changed); } } } __syncthreads(); if (changed[0] == 0) { break; // the tiles are merged } __syncthreads(); } } __global__ void BorderCompression(cuda::PtrStepSzi labels, uint32_t subBlockDim) { // Coordinates of the top-left pixel of the current block of tiles const unsigned block_row = blockIdx.y * blockDim.y * subBlockDim; const unsigned block_col = blockIdx.x * blockDim.x * subBlockDim; // Coordinates of the top-left pixel of the current tile const unsigned tile_row = block_row + threadIdx.y * subBlockDim; const unsigned tile_col = block_col + threadIdx.x * subBlockDim; const unsigned repetitions = (subBlockDim + blockDim.z - 1) / blockDim.z; // Process the bottom horizontal border for (unsigned i = 0; i < repetitions; i++) { const unsigned r = tile_row + subBlockDim - 1; const unsigned c = tile_col + i * blockDim.z + threadIdx.z; if (threadIdx.y < blockDim.y - 1 && r < labels.rows - 1 && c < labels.cols && c < tile_col + subBlockDim) { int label = labels[r * labels.step / sizeof(int) + c]; if (label) { labels[r * labels.step / sizeof(int) + c] = Find(labels, label - 1) + 1; } } } // Process the right vertical border for (unsigned i = 0; i < repetitions; i++) { const unsigned c = tile_col + subBlockDim - 1; const unsigned r = tile_row + i * blockDim.z + threadIdx.z; if (threadIdx.x < blockDim.x - 1 && c < labels.cols - 1 && r < labels.rows && r < tile_row + subBlockDim) { int label = labels[r * labels.step / sizeof(int) + c]; if (label) { labels[r * labels.step / sizeof(int) + c] = Find(labels, label - 1) + 1; } } } } __global__ void PathCompression(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * blockDim.y + threadIdx.y; unsigned global_col = blockIdx.x * blockDim.x + threadIdx.x; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < labels.rows && global_col < labels.cols) { unsigned char val = img[global_row * img.step + global_col]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } } class STAVA : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: STAVA() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + TILE_SIZE - 1) / TILE_SIZE, (d_img_.rows + TILE_SIZE - 1) / TILE_SIZE, 1); block_size_ = dim3(TILE_SIZE, TILE_SIZE, 1); // Phase 1 // Label pixels locally to a tile LocalMerge << > > (d_img_, d_img_labels_); // Phase 1 output //cuda::GpuMat d_local_labels; //d_img_labels_.copyTo(d_local_labels); //PathCompression << > > (d_img_, d_local_labels); //Mat1i local_labels(img_.size()); //d_local_labels.download(local_labels); // Phase 2 // Merges together Union-Find trees from different tiles, in a recursive manner uint32_t max_img_dim = max(img_.rows, img_.cols); uint32_t sub_block_dim = TILE_SIZE; uint32_t block_pixels = sub_block_dim * TILE_GRID_SIZE; dim3 grid_size_merge; dim3 block_size_merge = dim3(TILE_GRID_SIZE, TILE_GRID_SIZE, THREAD_PER_TILE); while (sub_block_dim < max_img_dim) { grid_size_merge = dim3((d_img_.cols + block_pixels - 1) / block_pixels, (d_img_.rows + block_pixels - 1) / block_pixels, 1); GlobalMerge << > > (d_img_, d_img_labels_, sub_block_dim); BorderCompression << > > (d_img_labels_, sub_block_dim); sub_block_dim = block_pixels; block_pixels *= TILE_GRID_SIZE; // Phase 2 output //cuda::GpuMat d_global_labels; //d_img_labels_.copyTo(d_global_labels); //PathCompression << > > (d_img_, d_global_labels); //Mat1i global_labels(img_.size()); //d_global_labels.download(global_labels); } // Phase 3 PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void LocalScan() { grid_size_ = dim3((d_img_.cols + TILE_SIZE - 1) / TILE_SIZE, (d_img_.rows + TILE_SIZE - 1) / TILE_SIZE, 1); block_size_ = dim3(TILE_SIZE, TILE_SIZE, 1); LocalMerge << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } void GlobalScan() { uint32_t max_img_dim = max(img_.rows, img_.cols); uint32_t sub_block_dim = TILE_SIZE; uint32_t block_pixels = sub_block_dim * TILE_GRID_SIZE; dim3 grid_size_merge; dim3 block_size_merge = dim3(TILE_GRID_SIZE, TILE_GRID_SIZE, THREAD_PER_TILE); while (sub_block_dim < max_img_dim) { grid_size_merge = dim3((d_img_.cols + block_pixels - 1) / block_pixels, (d_img_.rows + block_pixels - 1) / block_pixels, 1); GlobalMerge << > > (d_img_, d_img_labels_, sub_block_dim); BorderCompression << > > (d_img_labels_, sub_block_dim); sub_block_dim = block_pixels; block_pixels *= TILE_GRID_SIZE; } // Phase 3 PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); LocalScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); GlobalScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(STAVA); ================================================ FILE: cuda/src/labeling_yonehara_2015.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 1 #define BLOCK_COLS 256 using namespace cv; namespace { // Returns the root index of the UFTree __device__ unsigned Find(const int* s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Returns the root index of the UFTree __device__ unsigned FindCompress(int* s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned id = n; unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; s_buf[id] = label; assert(label > 0); } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int* s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a + 1); done = (old == b + 1); b = old - 1; } else if (b < a) { int old = atomicMin(s_buf + a, b + 1); done = (old == a + 1); a = old - 1; } else { done = true; } } while (!done); } __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned local_index = local_row * BLOCK_COLS + local_col; unsigned global_row = blockIdx.y * BLOCK_ROWS + local_row; unsigned global_col = blockIdx.x * BLOCK_COLS + local_col; unsigned img_index = global_row * img.step + global_col; __shared__ int s_buf[BLOCK_ROWS * BLOCK_COLS]; __shared__ unsigned char s_img[BLOCK_ROWS * BLOCK_COLS]; bool in_limits = (global_row < img.rows&& global_col < img.cols); s_buf[local_index] = local_index + 1; s_img[local_index] = in_limits ? img[img_index] : 0xFF; __syncthreads(); unsigned char v = s_img[local_index]; if (in_limits && local_col > 0) { if (v && s_img[local_index - 1]) { s_buf[local_index] = s_buf[local_index - 1]; } } __syncthreads(); if (in_limits) { if (v) { unsigned f = FindCompress(s_buf, local_index); unsigned f_row = f / BLOCK_COLS; unsigned f_col = f % BLOCK_COLS; unsigned global_f = (blockIdx.y * BLOCK_ROWS + f_row) * (labels.step / labels.elem_size) + (blockIdx.x * BLOCK_COLS + f_col); labels.data[global_row * labels.step / sizeof(int) + global_col] = global_f + 1; } else { labels.data[global_row * labels.step / sizeof(int) + global_col] = 0; } } } __global__ void GlobalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned global_row = blockIdx.y * BLOCK_ROWS + local_row; unsigned global_col = blockIdx.x * BLOCK_COLS + local_col; unsigned img_index = global_row * img.step + global_col; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; bool in_limits = (global_row < img.rows&& global_col < img.cols); if (in_limits) { unsigned char v = img[img_index]; if (v) { if (global_col > 0 && local_col == 0 && img[img_index - 1]) { Union(labels.data, labels_index, labels_index - 1); } if (global_row > 0 && local_row == 0 && img[img_index - img.step]) { Union(labels.data, labels_index, labels_index - labels.step / sizeof(int)); } } else { if (global_row > 0 && img[img_index - img.step]) { if (global_col > 0 && (local_row == 0 || local_col == 0) && img[img_index - 1]) { Union(labels.data, labels_index - 1, labels_index - labels.step / sizeof(int)); } if ((global_col < img.cols - 1) && (local_row == 0 || local_col == BLOCK_COLS - 1) && img[img_index + 1]) { Union(labels.data, labels_index + 1, labels_index - labels.step / sizeof(int)); } } } } } __global__ void PathCompression(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned global_col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < labels.rows && global_col < labels.cols) { unsigned char val = img[global_row * img.step + global_col]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } } class LBUF : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: LBUF() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); // Phase 1 LocalMerge << > > (d_img_, d_img_labels_); // Immagine di debug della prima fase //cuda::GpuMat d_local_labels; //d_img_labels_.copyTo(d_local_labels); //PathCompression << > > (d_img_, d_local_labels); //// ZeroBackground << > > (d_img_, d_local_labels); //Mat1i local_labels(img_.size()); //d_local_labels.download(local_labels); // Phase 2 GlobalMerge << > > (d_img_, d_img_labels_); // Immagine di debug della seconda fase //cuda::GpuMat d_global_labels; //d_img_labels_.copyTo(d_global_labels); //PathCompression << > > (d_img_, d_global_labels); //// ZeroBackground << > > (d_img_, d_global_labels); //Mat1i global_labels(img_.size()); //d_global_labels.download(global_labels); // Phase 3 PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void LocalScan() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } void GlobalScan() { GlobalMerge << > > (d_img_, d_img_labels_); PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); LocalScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); GlobalScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(LBUF); ================================================ FILE: cuda/src/labeling_zavalishin_2016.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; // Algorithm itself has good performances, but memory allocation is a problem. namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } __device__ __forceinline__ void SetBit(unsigned char& bitmap, unsigned char pos) { bitmap |= (1 << pos); } // Init phase. // Labels start at value 1. __global__ void Init(const cuda::PtrStepSzb img, cuda::PtrStepSzb block_conn, cuda::PtrStepSzi block_labels) { unsigned row = blockIdx.y * blockDim.y + threadIdx.y; unsigned col = blockIdx.x * blockDim.x + threadIdx.x; unsigned img_index = 2 * row * img.step + 2 * col; unsigned conn_index = row * (block_conn.step / block_conn.elem_size) + col; unsigned labels_index = row * (block_labels.step / block_labels.elem_size) + col; if (row < block_conn.rows && col < block_conn.cols) { unsigned P0 = 0x777; unsigned P = 0; if (img[img_index]) { P |= P0; } if (2 * col + 1 < img.cols) { if (img[img_index + 1]) { P |= (P0 << 1); } if (2 * row + 1 < img.rows && img[img_index + img.step + 1]) { P |= (P0 << 5); } } if (2 * row + 1 < img.rows) { if (img[img_index + img.step]) { P |= (P0 << 4); } } if (col == 0) { P &= 0xEEEE; } if (2 * col + 1 >= img.cols) { P &= 0x3333; } else if (2 * col + 2 >= img.cols) { P &= 0x7777; } if (row == 0) { P &= 0xFFF0; } if (2 * row + 1 >= img.rows) { P &= 0xFF; } else if (2 * row + 2 >= img.rows) { P &= 0xFFF; } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors unsigned char conn_bitmask = 0; if (P > 0) { block_labels[labels_index] = labels_index + 1; if (HasBit(P, 0) && img[img_index - img.step - 1]) { SetBit(conn_bitmask, 0); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { SetBit(conn_bitmask, 1); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { SetBit(conn_bitmask, 2); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 8) && img[img_index + img.step - 1])) { SetBit(conn_bitmask, 3); } if ((HasBit(P, 7) && img[img_index + 2]) || (HasBit(P, 11) && img[img_index + img.step + 2])) { SetBit(conn_bitmask, 4); } if (HasBit(P, 12) && img[img_index + 2 * img.step - 1]) { SetBit(conn_bitmask, 5); } if ((HasBit(P, 13) && img[img_index + 2 * img.step]) || (HasBit(P, 14) && img[img_index + 2 * img.step + 1])) { SetBit(conn_bitmask, 6); } if (HasBit(P, 15) && img[img_index + 2 * img.step + 2]) { SetBit(conn_bitmask, 7); } } else { block_labels[labels_index] = 0; } block_conn[conn_index] = conn_bitmask; } } __global__ void ExpandConnections(const cuda::PtrStepSzb connections, cuda::PtrStepSzb expansion) { unsigned row = blockIdx.y * blockDim.y + threadIdx.y; unsigned col = blockIdx.x * blockDim.x + threadIdx.x; unsigned conn_index = row * (connections.step / connections.elem_size) + col; unsigned exp_index = 3 * row * (expansion.step / expansion.elem_size) + 3 * col; if (row < connections.rows && col < connections.cols) { expansion[exp_index + (expansion.step / expansion.elem_size) + 1] = 2; unsigned char neighbours = connections[conn_index]; if (HasBit(neighbours, 0)) { expansion[exp_index] = 1; } else { expansion[exp_index] = 0; } if (HasBit(neighbours, 1)) { expansion[exp_index + 1] = 1; } else { expansion[exp_index + 1] = 0; } if (HasBit(neighbours, 2)) { expansion[exp_index + 2] = 1; } else { expansion[exp_index + 2] = 0; } if (HasBit(neighbours, 3)) { expansion[exp_index + (expansion.step / expansion.elem_size)] = 1; } else { expansion[exp_index + (expansion.step / expansion.elem_size)] = 0; } if (HasBit(neighbours, 4)) { expansion[exp_index + (expansion.step / expansion.elem_size) + 2] = 1; } else { expansion[exp_index + (expansion.step / expansion.elem_size) + 2] = 0; } if (HasBit(neighbours, 5)) { expansion[exp_index + 2 * (expansion.step / expansion.elem_size)] = 1; } else { expansion[exp_index + 2 * (expansion.step / expansion.elem_size)] = 0; } if (HasBit(neighbours, 6)) { expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 1] = 1; } else { expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 1] = 0; } if (HasBit(neighbours, 7)) { expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 2] = 1; } else { expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 2] = 0; } } } __device__ unsigned int MinLabel(unsigned l1, unsigned l2) { if (l1 && l2) return min(l1, l2); else return l1; } __device__ unsigned int FindMinLabel(cuda::PtrStepSzi labels, unsigned char neighbours, unsigned label, unsigned labels_index) { unsigned int min = label; if (HasBit(neighbours, 0)) { min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size) - 1]); } if (HasBit(neighbours, 1)) { min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size)]); } if (HasBit(neighbours, 2)) { min = MinLabel(min, labels.data[labels_index - (labels.step / labels.elem_size) + 1]); } if (HasBit(neighbours, 3)) { min = MinLabel(min, labels.data[labels_index - 1]); } if (HasBit(neighbours, 4)) { min = MinLabel(min, labels.data[labels_index + 1]); } if (HasBit(neighbours, 5)) { min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size) - 1]); } if (HasBit(neighbours, 6)) { min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size)]); } if (HasBit(neighbours, 7)) { min = MinLabel(min, labels.data[labels_index + (labels.step / labels.elem_size) + 1]); } return min; } // Scan phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Scan(cuda::PtrStepSzi labels, cuda::PtrStepSzb connections, char* changes) { unsigned row = blockIdx.y * blockDim.y + threadIdx.y; unsigned col = blockIdx.x * blockDim.x + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned connections_index = row * (connections.step / connections.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned char neighbours = connections[connections_index]; unsigned label = labels[labels_index]; if (label) { unsigned min_label = FindMinLabel(labels, neighbours, label, labels_index); if (min_label < label) { labels[label - 1] = min(static_cast(labels[label - 1]), min_label); *changes = 1; } } } } // Analysis phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Analyze(cuda::PtrStepSzi labels) { unsigned row = blockIdx.y * blockDim.y + threadIdx.y; unsigned col = blockIdx.x * blockDim.x + threadIdx.x; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned label = labels[labels_index]; if (label) { // Performances are the same as the paper variant unsigned index = labels_index; while (label - 1 != index) { index = label - 1; label = labels[index]; } labels[labels_index] = label; } } } // Final Labeling phase // Assigns every pixel of 2x2 blocks the block label __global__ void FinalLabeling(cuda::PtrStepSzi block_labels, cuda::PtrStepSzi labels, const cuda::PtrStepSzb img) { unsigned row = blockIdx.y * blockDim.y + threadIdx.y; unsigned col = blockIdx.x * blockDim.x + threadIdx.x; unsigned blocks_index = row * (block_labels.step / block_labels.elem_size) + col; unsigned labels_index = 2 * row * (labels.step / labels.elem_size) + 2 * col; unsigned img_index = 2 * row * (img.step / img.elem_size) + 2 * col; if (row < block_labels.rows && col < block_labels.cols) { unsigned int label = block_labels[blocks_index]; if (img[img_index]) labels[labels_index] = label; else { labels[labels_index] = 0; } if (2 * col + 1 < labels.cols) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (2 * row + 1 < labels.rows) { if (img[img_index + img.step + 1]) labels[labels_index + (labels.step / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.step / labels.elem_size) + 1] = 0; } } } if (2 * row + 1 < labels.rows) { if (img[img_index + img.step]) labels[labels_index + (labels.step / labels.elem_size)] = label; else { labels[labels_index + (labels.step / labels.elem_size)] = 0; } } } } } class BE : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; char changes; char* d_changes; cuda::GpuMat d_connections_; cuda::GpuMat d_block_labels_; public: BE() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); // Extra structures that I would gladly do without d_connections_.create((d_img_.rows + 1) / 2, (d_img_.cols + 1) / 2, CV_8UC1); d_block_labels_.create((d_img_.rows + 1) / 2, (d_img_.cols + 1) / 2, CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); grid_size_ = dim3((d_connections_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_connections_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_connections_, d_block_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_block_labels_, d_connections_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_block_labels_); } //Mat1i block_labels; //d_block_labels_.download(block_labels); FinalLabeling << > > (d_block_labels_, d_img_labels_, d_img_); //d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); cudaFree(d_changes); d_connections_.release(); d_block_labels_.release(); } void PerformLabelingBlocksize(int x, int y, int z) override { d_img_labels_.create(d_img_.size(), CV_32SC1); // Extra structures that I would gladly do without d_connections_.create((d_img_.rows + 1) / 2, (d_img_.cols + 1) / 2, CV_8UC1); d_block_labels_.create((d_img_.rows + 1) / 2, (d_img_.cols + 1) / 2, CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); grid_size_ = dim3((d_connections_.cols + x - 1) / x, (d_connections_.rows + y - 1) / y, 1); block_size_ = dim3(x, y, 1); BLOCKSIZE_KERNEL(Init, grid_size_, block_size_, 0, d_img_, d_connections_, d_block_labels_) while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); BLOCKSIZE_KERNEL(Scan, grid_size_, block_size_, 0, d_block_labels_, d_connections_, d_changes) cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; BLOCKSIZE_KERNEL(Analyze, grid_size_, block_size_, 0, d_block_labels_) } BLOCKSIZE_KERNEL(FinalLabeling, grid_size_, block_size_, 0, d_block_labels_, d_img_labels_, d_img_) cudaFree(d_changes); d_connections_.release(); d_block_labels_.release(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); d_connections_.create((d_img_.rows + 1) / 2, (d_img_.cols + 1) / 2, CV_8UC1); d_block_labels_.create((d_img_.rows + 1) / 2, (d_img_.cols + 1) / 2, CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaMemset2D(d_connections_.data, d_connections_.step, 0, d_connections_.cols, d_connections_.rows); cudaMemset2D(d_block_labels_.data, d_block_labels_.step, 0, d_block_labels_.cols * 4, d_block_labels_.rows); cudaMemset(d_changes, 0, 1); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset2D(d_img_labels_.data, d_img_labels_.step, 0, d_img_labels_.cols * 4, d_img_labels_.rows); cudaMemset2D(d_connections_.data, d_connections_.step, 0, d_connections_.cols, d_connections_.rows); cudaMemset2D(d_block_labels_.data, d_block_labels_.step, 0, d_block_labels_.cols * 4, d_block_labels_.rows); cudaMemset(d_changes, 0, 1); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } double Dealloc() { perf_.start(); cudaFree(d_changes); d_connections_.release(); d_block_labels_.release(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((d_connections_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_connections_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); Init << > > (d_img_, d_connections_, d_block_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //assert(cudaDeviceSynchronize() == cudaSuccess); //Mat1i init_labels; //d_block_labels_.download(init_labels); while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_block_labels_, d_connections_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_block_labels_); } // Immagine di debug delle label dei blocchi //Mat1i block_labels; //d_block_labels_.download(block_labels); FinalLabeling << > > (d_block_labels_, d_img_labels_, d_img_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BE); REGISTER_KERNELS(BE, Init, Scan, Analyze, FinalLabeling) ================================================ FILE: cuda/src/labeling_zavalishin_2016_3D.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" #define BLOCK_X 8 #define BLOCK_Y 8 #define BLOCK_Z 4 using namespace cv; // Algorithm itself has good performances, but memory allocation is a problem. // I will try to reduce it. namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } // Only use it with unsigned numeric types template __device__ __forceinline__ void SetBit(T &bitmap, unsigned char pos) { bitmap |= (1 << pos); } // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { // Warning: do not call Find on a background pixel unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Init phase. // Labels start at value 1. __global__ void Init(const cuda::PtrStepSz3b img, cuda::PtrStepSz3i block_conn, cuda::PtrStepSz3i block_labels) { unsigned x = blockIdx.x * BLOCK_X + threadIdx.x; unsigned y = blockIdx.y * BLOCK_Y + threadIdx.y; unsigned z = blockIdx.z * BLOCK_Z + threadIdx.z; unsigned img_index = 2*z * (img.stepz / img.elem_size) + 2*y * (img.stepy / img.elem_size) + 2*x; unsigned conn_index = z * (block_conn.stepz / block_conn.elem_size) + y * (block_conn.stepy / block_conn.elem_size) + x; unsigned labels_index = z * (block_labels.stepz / block_labels.elem_size) + y * (block_labels.stepy / block_labels.elem_size) + x; if (x < block_conn.x && y < block_conn.y && z < block_conn.z) { #define P0 0x77707770777UL unsigned long long P = 0UL; if (img[img_index]) { P |= P0; } if (2 * x + 1 < img.x) { if (img[img_index + 1]) { P |= (P0 << 1); } if (2 * y + 1 < img.y && img[img_index + img.stepy / img.elem_size + 1]) { P |= (P0 << 5); } } if (2 * y + 1 < img.y) { if (img[img_index + img.stepy / img.elem_size]) { P |= (P0 << 4); } } if (2 * z + 1 < img.z) { if (img[img_index + img.stepz / img.elem_size]) { P |= P0 << 16; } if (2 * x + 1 < img.x) { if (img[img_index + img.stepz / img.elem_size + 1]) { P |= (P0 << 17); } if (2 * y + 1 < img.y && img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size + 1]) { P |= (P0 << 21); } } if (2 * y + 1 < img.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) { P |= (P0 << 20); } } } #undef P0 // checks on borders if (x == 0) { P &= 0xEEEEEEEEEEEEEEEE; } if (2 * x + 1 >= img.x) { P &= 0x3333333333333333; } else if (2 * x + 2 >= img.x) { P &= 0x7777777777777777; } if (y == 0) { P &= 0xFFF0FFF0FFF0FFF0; } if (2 * y + 1 >= img.y) { P &= 0x00FF00FF00FF00FF; } else if (2 * y + 2 >= img.y) { P &= 0x0FFF0FFF0FFF0FFF; } if (z == 0) { P &= 0xFFFFFFFFFFFF0000; } if (2 * z + 1 >= img.z) { P &= 0x00000000FFFFFFFF; } else if (2 * z + 2 >= img.z) { P &= 0x0000FFFFFFFFFFFF; } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors unsigned int conn_bitmask = 0; if (P > 0) { block_labels[labels_index] = labels_index + 1; // Lower plane unsigned char * plane_data = img.data + img_index - (img.stepz / img.elem_size); if (HasBit(P, 0) && plane_data[0 - img.stepy - 1]) { SetBit(conn_bitmask, 0); } if ((HasBit(P, 1) && plane_data[0 - img.stepy]) || (HasBit(P, 2) && plane_data[0 - img.stepy + 1])) { SetBit(conn_bitmask, 1); } if (HasBit(P, 3) && plane_data[0 - img.stepy + 2]) { SetBit(conn_bitmask, 2); } if ((HasBit(P, 4) && plane_data[- 1]) || (HasBit(P, 8) && plane_data[img.stepy - 1])) { SetBit(conn_bitmask, 3); } if ((HasBit(P, 5) && plane_data[0]) || (HasBit(P, 6) && plane_data[1]) || (HasBit(P, 9) && plane_data[img.stepy]) || (HasBit(P, 10) && plane_data[img.stepy + 1])) { SetBit(conn_bitmask, 4); } if ((HasBit(P, 7) && plane_data[2]) || (HasBit(P, 11) && plane_data[img.stepy + 2])) { SetBit(conn_bitmask, 5); } if (HasBit(P, 12) && plane_data[2 * img.stepy - 1]) { SetBit(conn_bitmask, 6); } if ((HasBit(P, 13) && plane_data[2 * img.stepy]) || (HasBit(P, 14) && plane_data[2 * img.stepy + 1])) { SetBit(conn_bitmask, 7); } if (HasBit(P, 15) && plane_data[2 * img.stepy + 2]) { SetBit(conn_bitmask, 8); } // Current planes plane_data += img.stepz / img.elem_size; if ((HasBit(P, 16) && plane_data[0 - img.stepy - 1]) || (HasBit(P, 32) && plane_data[img.stepz - img.stepy - 1])) { SetBit(conn_bitmask, 9); } if ((HasBit(P, 17) && plane_data[0 - img.stepy]) || (HasBit(P, 18) && plane_data[0 - img.stepy + 1]) || (HasBit(P, 33) && plane_data[img.stepz - img.stepy]) || (HasBit(P, 34) && plane_data[img.stepz - img.stepy + 1])) { SetBit(conn_bitmask, 10); } if ((HasBit(P, 19) && plane_data[0 - img.stepy + 2]) || (HasBit(P, 35) && plane_data[img.stepz - img.stepy + 2])) { SetBit(conn_bitmask, 11); } if ((HasBit(P, 20) && plane_data[-1]) || (HasBit(P, 24) && plane_data[img.stepy - 1]) || (HasBit(P, 36) && plane_data[img.stepz - 1]) || (HasBit(P, 40) && plane_data[img.stepz + img.stepy - 1])) { SetBit(conn_bitmask, 12); } if ((HasBit(P, 23) && plane_data[2]) || (HasBit(P, 27) && plane_data[img.stepy + 2]) || (HasBit(P, 39) && plane_data[img.stepz + 2]) || (HasBit(P, 43) && plane_data[img.stepz + img.stepy + 2])) { SetBit(conn_bitmask, 14); } if ((HasBit(P, 28) && plane_data[2 * img.stepy - 1]) || (HasBit(P, 44) && plane_data[img.stepz + 2 * img.stepy - 1])) { SetBit(conn_bitmask, 15); } if ((HasBit(P, 29) && plane_data[2 * img.stepy]) || (HasBit(P, 30) && plane_data[2 * img.stepy + 1]) || (HasBit(P, 45) && plane_data[img.stepz + 2 * img.stepy]) || (HasBit(P, 46) && plane_data[img.stepz + 2 * img.stepy + 1])) { SetBit(conn_bitmask, 16); } if ((HasBit(P, 31) && plane_data[2 * img.stepy + 2]) || (HasBit(P, 47) && plane_data[img.stepz + 2 * img.stepy + 2])) { SetBit(conn_bitmask, 17); } // Upper plane plane_data += 2 * (img.stepz / img.elem_size); if (HasBit(P, 48) && plane_data[0 - img.stepy - 1]) { SetBit(conn_bitmask, 18); } if ((HasBit(P, 49) && plane_data[0 - img.stepy]) || (HasBit(P, 50) && plane_data[0 - img.stepy + 1])) { SetBit(conn_bitmask, 19); } if (HasBit(P, 51) && plane_data[0 - img.stepy + 2]) { SetBit(conn_bitmask, 20); } if ((HasBit(P, 52) && plane_data[-1]) || (HasBit(P, 56) && plane_data[img.stepy - 1])) { SetBit(conn_bitmask, 21); } if ((HasBit(P, 53) && plane_data[0]) || (HasBit(P, 54) && plane_data[1]) || (HasBit(P, 57) && plane_data[img.stepy]) || (HasBit(P, 58) && plane_data[img.stepy + 1])) { SetBit(conn_bitmask, 22); } if ((HasBit(P, 55) && plane_data[2]) || (HasBit(P, 59) && plane_data[img.stepy + 2])) { SetBit(conn_bitmask, 23); } if (HasBit(P, 60) && plane_data[2 * img.stepy - 1]) { SetBit(conn_bitmask, 24); } if ((HasBit(P, 61) && plane_data[2 * img.stepy]) || (HasBit(P, 62) && plane_data[2 * img.stepy + 1])) { SetBit(conn_bitmask, 25); } if (HasBit(P, 63) && plane_data[2 * img.stepy + 2]) { SetBit(conn_bitmask, 26); } } else { block_labels[labels_index] = 0; } block_conn[conn_index] = conn_bitmask; } } //__global__ void ExpandConnections(const cuda::PtrStepSzb connections, cuda::PtrStepSzb expansion) { // unsigned row = blockIdx.y * BLOCK_ROWS + threadIdx.y; // unsigned col = blockIdx.x * BLOCK_COLS + threadIdx.x; // unsigned conn_index = row * (connections.step / connections.elem_size) + col; // unsigned exp_index = 3 * row * (expansion.step / expansion.elem_size) + 3 * col; // if (row < connections.rows && col < connections.cols) { // expansion[exp_index + (expansion.step / expansion.elem_size) + 1] = 2; // unsigned char neighbours = connections[conn_index]; // if (HasBit(neighbours, 0)) { // expansion[exp_index] = 1; // } // else { // expansion[exp_index] = 0; // } // if (HasBit(neighbours, 1)) { // expansion[exp_index + 1] = 1; // } // else { // expansion[exp_index + 1] = 0; // } // if (HasBit(neighbours, 2)) { // expansion[exp_index + 2] = 1; // } // else { // expansion[exp_index + 2] = 0; // } // if (HasBit(neighbours, 3)) { // expansion[exp_index + (expansion.step / expansion.elem_size)] = 1; // } // else { // expansion[exp_index + (expansion.step / expansion.elem_size)] = 0; // } // if (HasBit(neighbours, 4)) { // expansion[exp_index + (expansion.step / expansion.elem_size) + 2] = 1; // } // else { // expansion[exp_index + (expansion.step / expansion.elem_size) + 2] = 0; // } // if (HasBit(neighbours, 5)) { // expansion[exp_index + 2 * (expansion.step / expansion.elem_size)] = 1; // } // else { // expansion[exp_index + 2 * (expansion.step / expansion.elem_size)] = 0; // } // if (HasBit(neighbours, 6)) { // expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 1] = 1; // } // else { // expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 1] = 0; // } // if (HasBit(neighbours, 7)) { // expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 2] = 1; // } // else { // expansion[exp_index + 2 * (expansion.step / expansion.elem_size) + 2] = 0; // } // } //} __device__ unsigned int MinLabel(unsigned l1, unsigned l2) { if (l1 && l2) return min(l1, l2); else return l1; } __device__ unsigned int FindMinLabel(cuda::PtrStepSz3i labels, unsigned int neighbours, unsigned label, unsigned labels_index) { unsigned int min = label; for (char plane = -1; plane <= 1; plane++) { int * plane_data = labels.data + labels_index + plane * (labels.stepz / labels.elem_size); if (HasBit(neighbours, 0)) { min = MinLabel(min, plane_data[0 - (labels.stepy / labels.elem_size) - 1]); } if (HasBit(neighbours, 1)) { min = MinLabel(min, plane_data[0 - (labels.stepy / labels.elem_size)]); } if (HasBit(neighbours, 2)) { min = MinLabel(min, plane_data[0 - (labels.stepy / labels.elem_size) + 1]); } if (HasBit(neighbours, 3)) { min = MinLabel(min, plane_data[-1]); } if (plane && HasBit(neighbours, 4)) { min = MinLabel(min, plane_data[0]); } if (HasBit(neighbours, 5)) { min = MinLabel(min, plane_data[1]); } if (HasBit(neighbours, 6)) { min = MinLabel(min, plane_data[(labels.stepy / labels.elem_size) - 1]); } if (HasBit(neighbours, 7)) { min = MinLabel(min, plane_data[(labels.stepy / labels.elem_size)]); } if (HasBit(neighbours, 8)) { min = MinLabel(min, plane_data[(labels.stepy / labels.elem_size) + 1]); } neighbours >>= 9; } return min; } // Scan phase. // The pixel associated with current thread is given the minimum label of the neighbours. __global__ void Scan(cuda::PtrStepSz3i labels, cuda::PtrStepSz3i connections, char *changes) { unsigned x = blockIdx.x * BLOCK_X + threadIdx.x; unsigned y = blockIdx.y * BLOCK_Y + threadIdx.y; unsigned z = blockIdx.z * BLOCK_Z + threadIdx.z; unsigned conn_index = z * (connections.stepz / connections.elem_size) + y * (connections.stepy / connections.elem_size) + x; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { unsigned int neighbours = connections[conn_index]; unsigned label = labels[labels_index]; if (label) { unsigned min_label = FindMinLabel(labels, neighbours, label, labels_index); if (min_label < label) { labels[label - 1] = min(static_cast(labels[label - 1]), min_label); *changes = 1; } } } } __global__ void Analyze(cuda::PtrStepSz3i labels) { unsigned x = blockIdx.x * BLOCK_X + threadIdx.x; unsigned y = blockIdx.y * BLOCK_Y + threadIdx.y; unsigned z = blockIdx.z * BLOCK_Z + threadIdx.z; unsigned labels_index = z * (labels.stepz / labels.elem_size) + y * (labels.stepy / labels.elem_size) + x; if (x < labels.x && y < labels.y && z < labels.z) { unsigned int val = labels[labels_index]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } // Final Labeling phase // Assigns every pixel of 2x2x2 blocks the block label __global__ void FinalLabeling(cuda::PtrStepSz3i block_labels, cuda::PtrStepSz3i labels, const cuda::PtrStepSz3b img) { unsigned x = blockIdx.x * BLOCK_X + threadIdx.x; unsigned y = blockIdx.y * BLOCK_Y + threadIdx.y; unsigned z = blockIdx.z * BLOCK_Z + threadIdx.z; unsigned blocks_index = z * (block_labels.stepz / block_labels.elem_size) + y * (block_labels.stepy / block_labels.elem_size) + x; unsigned labels_index = 2 * z * (labels.stepz / labels.elem_size) + 2 * y * (labels.stepy / labels.elem_size) + 2 * x; unsigned img_index = 2 * z * (img.stepz / img.elem_size) + 2 * y * (img.stepy / img.elem_size) + 2 * x; if (x < block_labels.x && y < block_labels.y && z < block_labels.z) { unsigned int label = block_labels[blocks_index]; // Current plane if (img[img_index]) { labels[labels_index] = label; } else { labels[labels_index] = 0; } if (2 * x + 1 < labels.x) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (2 * y + 1 < labels.y) { if (img[img_index + img.stepy + 1]) labels[labels_index + (labels.stepy / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.stepy / labels.elem_size) + 1] = 0; } } } if (2 * y + 1 < labels.y) { if (img[img_index + img.stepy]) labels[labels_index + (labels.stepy / labels.elem_size)] = label; else { labels[labels_index + (labels.stepy / labels.elem_size)] = 0; } } // Upper plane if (2 * z + 1 < labels.z) { if (img[img_index + img.stepz / img.elem_size]) labels[labels_index + labels.stepz / labels.elem_size] = label; else { labels[labels_index + labels.stepz / labels.elem_size] = 0; } if (2 * x + 1 < labels.x) { if (img[img_index + img.stepz / img.elem_size + 1]) labels[labels_index + labels.stepz / labels.elem_size + 1] = label; else { labels[labels_index + labels.stepz / labels.elem_size + 1] = 0; } if (2 * y + 1 < labels.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size + 1]) labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size) + 1] = label; else { labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size) + 1] = 0; } } } if (2 * y + 1 < labels.y) { if (img[img_index + img.stepz / img.elem_size + img.stepy / img.elem_size]) labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)] = label; else { labels[labels_index + labels.stepz / labels.elem_size + (labels.stepy / labels.elem_size)] = 0; } } } } } } class BE_3D : public GpuLabeling3D { private: dim3 grid_size_; dim3 block_size_; char changes; char *d_changes; cuda::GpuMat3 d_connections_; cuda::GpuMat3 d_block_labels_; public: BE_3D() {} void PerformLabeling() { d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); // Extra structures that I would gladly do without d_connections_.create((d_img_.x + 1) / 2, (d_img_.y + 1) / 2, (d_img_.z + 1) / 2, CV_32SC1); d_block_labels_.create((d_img_.x + 1) / 2, (d_img_.y + 1) / 2, (d_img_.z + 1) / 2, CV_32SC1); grid_size_ = dim3((d_block_labels_.x + BLOCK_X - 1) / BLOCK_X, (d_block_labels_.y + BLOCK_Y - 1) / BLOCK_Y, (d_block_labels_.z + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); cudaMalloc(&d_changes, sizeof(char)); Init << > > (d_img_, d_connections_, d_block_labels_); //Mat init_labels; //d_block_labels_.download(init_labels); //::NormalizeLabels(init_labels); //Mat img_out; //ColorLabels(init_labels, img_out); //volwrite("C:\\Users\\Stefano\\Desktop\\debug\\init_labels", img_out); while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_block_labels_, d_connections_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_block_labels_); } //Mat block_labels; //d_block_labels_.download(block_labels); //::NormalizeLabels(block_labels); //ColorLabels(block_labels, img_out); //volwrite("C:\\Users\\Stefano\\Desktop\\debug\\block_labels", img_out); FinalLabeling << > > (d_block_labels_, d_img_labels_, d_img_); //d_img_labels_.download(img_labels_); cudaFree(d_changes); d_connections_.release(); d_block_labels_.release(); cudaDeviceSynchronize(); //d_img_labels_.download(img_labels_); //Mat errors; //bool correct = CheckLabeledVolume(img_, img_labels_, errors); //volwrite("C:\\Users\\Stefano\\Desktop\\debug\\BE_errors", errors); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.x, d_img_.y, d_img_.z, CV_32SC1); d_connections_.create((d_img_.x + 1) / 2, (d_img_.y + 1) / 2, (d_img_.z + 1) / 2, CV_32SC1); d_block_labels_.create((d_img_.x + 1) / 2, (d_img_.y + 1) / 2, (d_img_.z + 1) / 2, CV_32SC1); cudaMalloc(&d_changes, sizeof(char)); cudaMemset(d_img_labels_.data, 0, d_img_labels_.stepz * d_img_labels_.z); cudaMemset(d_connections_.data, 0, d_connections_.stepz * d_connections_.z); cudaMemset(d_block_labels_.data, 0, d_block_labels_.stepz * d_block_labels_.z); cudaMemset(d_changes, 0, 1); cudaDeviceSynchronize(); double t = perf_.stop(); perf_.start(); cudaMemset(d_img_labels_.data, 0, d_img_labels_.stepz * d_img_labels_.z); cudaMemset(d_connections_.data, 0, d_connections_.stepz * d_connections_.z); cudaMemset(d_block_labels_.data, 0, d_block_labels_.stepz * d_block_labels_.z); cudaMemset(d_changes, 0, 1); cudaDeviceSynchronize(); t -= perf_.stop(); return t; } double Dealloc() { perf_.start(); cudaFree(d_changes); d_connections_.release(); d_block_labels_.release(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((d_block_labels_.x + BLOCK_X - 1) / BLOCK_X, (d_block_labels_.y + BLOCK_Y - 1) / BLOCK_Y, (d_block_labels_.z + BLOCK_Z - 1) / BLOCK_Z); block_size_ = dim3(BLOCK_X, BLOCK_Y, BLOCK_Z); Init << > > (d_img_, d_connections_, d_block_labels_); // La Init esplode // Controlla che cosa contiene connections //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //assert(cudaDeviceSynchronize() == cudaSuccess); // Immagine di debug della inizializzazione //Mat1i init_labels; //d_block_labels_.download(init_labels); while (true) { changes = 0; cudaMemcpy(d_changes, &changes, sizeof(char), cudaMemcpyHostToDevice); Scan << > > (d_block_labels_, d_connections_, d_changes); cudaMemcpy(&changes, d_changes, sizeof(char), cudaMemcpyDeviceToHost); if (!changes) break; Analyze << > > (d_block_labels_); } // Immagine di debug delle label dei blocchi //Mat1i block_labels; //d_block_labels_.download(block_labels); FinalLabeling << > > (d_block_labels_, d_img_labels_, d_img_); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BE_3D); ================================================ FILE: cuda/src/next_to_trash/labeling_CUDA_BKE_InlineCompression.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // This old version of BKE_IC does not save abcd pixel values in the info byte #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } __device__ __forceinline__ void SetBit(unsigned char &bitmap, unsigned char pos) { bitmap |= (1 << pos); } // Returns the root index of the UFTree __device__ unsigned Find(const int *s_buf, unsigned n) { while (s_buf[n] != n) { n = s_buf[n]; } return n; } __device__ unsigned FindAndCompress(int *s_buf, unsigned n) { unsigned id = n; while (s_buf[n] != n) { n = s_buf[n]; s_buf[id] = n; } return n; } // Merges the UFTrees of a and b, linking one root to the other __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void InitLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels, unsigned char *last_pixel) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned P = 0; char alignas(int) buffer[4]; *(reinterpret_cast(buffer)) = 0; if (col + 1 < img.cols) { // This does not depend on endianness *(reinterpret_cast(buffer)) = *(reinterpret_cast(img.data + img_index)); if (row + 1 < img.rows) { *(reinterpret_cast(buffer + 2)) = *(reinterpret_cast(img.data + img_index + img.step)); } } else { buffer[0] = img.data[img_index]; if (row + 1 < img.rows) { buffer[2] = img.data[img_index + img.step]; } } if (buffer[0]) { P |= 0x777; } if (buffer[1]) { P |= (0x777 << 1); } if (buffer[2]) { P |= (0x777 << 4); } if (col == 0) { P &= 0xEEEE; } if (col + 1 >= img.cols) { P &= 0x3333; } else if (col + 2 >= img.cols) { P &= 0x7777; } if (row == 0) { P &= 0xFFF0; } if (row + 1 >= img.rows) { P &= 0xFF; } else if (row + 2 >= img.rows) { P &= 0xFFF; } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors int father_negative_offset = 0; // to_link is a bitmask that tells which squares are to be merged with the current one, in reduction phase. // First bit is North, Second bit is North-East and Third bit is West. unsigned char to_link = 0; // North-West square if (HasBit(P, 0) && img.data[img_index - img.step - 1]) { father_negative_offset = 2 * (labels.step / labels.elem_size) + 2; } // North square if ((HasBit(P, 1) && img.data[img_index - img.step]) || (HasBit(P, 2) && img.data[img_index + 1 - img.step])) { if (!father_negative_offset) { father_negative_offset = 2 * (labels.step / labels.elem_size); } else { SetBit(to_link, 0); } } // North-East square if (HasBit(P, 3) && img.data[img_index + 2 - img.step]) { if (!father_negative_offset) { father_negative_offset = 2 * (labels.step / labels.elem_size) - 2; } else { SetBit(to_link, 1); } } // West square if ((HasBit(P, 4) && img.data[img_index - 1]) || (HasBit(P, 8) && img.data[img_index + img.step - 1])) { if (!father_negative_offset) { father_negative_offset = +2; } else { SetBit(to_link, 2); } } // Just to see where to_link is stored SetBit(to_link, 4); labels.data[labels_index] = labels_index - father_negative_offset; if (col + 1 < labels.cols) { last_pixel = reinterpret_cast(labels.data + labels_index + 1); } else if (row + 1 < labels.rows) { last_pixel = reinterpret_cast(labels.data + labels_index + labels.step / labels.elem_size); } *last_pixel = to_link; } } __global__ void Merge(cuda::PtrStepSzi labels, unsigned char *last_pixel) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { if (col + 1 < labels.cols) { last_pixel = reinterpret_cast(labels.data + labels_index + 1); } else if (row + 1 < labels.rows) { last_pixel = reinterpret_cast(labels.data + labels_index + labels.step / labels.elem_size); } unsigned char to_link = *last_pixel; if (HasBit(to_link, 0)) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size)); } if (HasBit(to_link, 1)) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) + 2); } if (HasBit(to_link, 2)) { Union(labels.data, labels_index, labels_index - 2); } } } __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { FindAndCompress(labels.data, labels_index); } } __global__ void FinalLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned img_index = row * (img.step / img.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned int label = labels[labels_index] + 1; if (img.data[img_index]) labels[labels_index] = label; else { labels[labels_index] = 0; } if (col + 1 < labels.cols) { if (img.data[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (row + 1 < labels.rows) { if (img.data[img_index + img.step + 1]) labels[labels_index + (labels.step / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.step / labels.elem_size) + 1] = 0; } } } if (row + 1 < labels.rows) { if (img.data[img_index + img.step]) labels[labels_index + (labels.step / labels.elem_size)] = label; else { labels[labels_index + (labels.step / labels.elem_size)] = 0; } } } } } class BKE_InlineCompression : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; unsigned char *last_pixel_; bool last_pixel_allocated_; public: BKE_InlineCompression() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); last_pixel_allocated_ = false; if ((d_img_.rows == 1 || d_img_.cols == 1) && !((d_img_.rows + d_img_.cols) % 2)) { cudaMalloc(&last_pixel_, sizeof(unsigned char)); last_pixel_allocated_ = true; } else { // last_pixel_ = d_img_labels_.data + d_img_labels_.step + sizeof(unsigned int); last_pixel_ = d_img_labels_.data + ((d_img_labels_.rows - 2) * d_img_labels_.step) + (d_img_labels_.cols - 2) * d_img_labels_.elemSize(); } grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_, d_img_labels_, last_pixel_); //Mat1i init_blocks; //d_img_labels_.download(init_blocks); //cuda::GpuMat d_init_labels = d_img_labels_.clone(); //FinalLabeling << > > (d_img_, d_init_labels); //Mat1i init_labels; //d_init_labels.download(init_labels); //d_init_labels.release(); Compression << > > (d_img_labels_); //Mat1i compr_blocks; //d_img_labels_.download(compr_blocks); //cuda::GpuMat d_compr_labels = d_img_labels_.clone(); //FinalLabeling << > > (d_img_, d_compr_labels); //Mat1i compr_labels; //d_compr_labels.download(compr_labels); //d_compr_labels.release(); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); Merge << > > (d_img_labels_, last_pixel_); //Mat1i merge_blocks; //d_img_labels_.download(merge_blocks); //cuda::GpuMat d_merge_labels = d_img_labels_.clone(); //FinalLabeling << > > (d_img_, d_merge_labels); //Mat1i merge_labels; //d_merge_labels.download(merge_labels); //d_merge_labels.release(); Compression << > > (d_img_labels_); //Mat1i final_blocks; //d_img_labels_.download(final_blocks); FinalLabeling << > > (d_img_, d_img_labels_); //d_img_labels_.download(img_labels_); if (last_pixel_allocated_) { cudaFree(last_pixel_); } cudaDeviceSynchronize(); } private: void Alloc() { d_img_labels_.create(d_img_.size(), CV_32SC1); if ((d_img_.rows == 1 || d_img_.cols == 1) && !((d_img_.rows + d_img_.cols) % 2)) { cudaMalloc(&last_pixel_, sizeof(unsigned char)); last_pixel_allocated_ = true; } else { // last_pixel_ = d_img_labels_.data + d_img_labels_.step + sizeof(unsigned int); last_pixel_ = d_img_labels_.data + ((d_img_labels_.rows - 2) * d_img_labels_.step) + (d_img_labels_.cols - 2) * d_img_labels_.elemSize(); } } void Dealloc() { if (last_pixel_allocated_) { cudaFree(last_pixel_); } } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); InitLabeling << > > (d_img_, d_img_labels_, last_pixel_); Compression << > > (d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); Merge << > > (d_img_labels_, last_pixel_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { perf_.start(); Alloc(); perf_.stop(); double alloc_timing = perf_.last(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(BKE_InlineCompression); ================================================ FILE: cuda/src/next_to_trash/labeling_CUDA_BUF_2S.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" #include "cuda_runtime.h" #include "device_launch_parameters.h" #include #include #include #include #include #include #include #include #include // Questo algoritmo � una modifica del Block Union Find (BUF) che esegue le operazioni in due livelli (stage). // Inizialmente esegue le operazioni nel blocco usando la shared memory e poi merga le etichette sui bordi dei // blocchi. Varie prove hanno mostrato che sulla quadro va peggio della versione BUF. // Il minimo per entrambi � 4 #define BLOCK_ROWS 32 #define BLOCK_COLS 32 using namespace cv; // Algorithm itself has good performances, but memory allocation is a problem. // I will try to reduce it. namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } __device__ __forceinline__ void SetBit(unsigned char &bitmap, unsigned char pos) { bitmap |= (1 << pos); } // Risale alla radice dell'albero a partire da un suo nodo n __device__ unsigned Find(const int *s_buf, unsigned n) { // Attenzione: non invocare la find su un pixel di background while (s_buf[n] != n) { n = s_buf[n]; } return n; } __device__ unsigned FindAndCompress(int *s_buf, unsigned n) { unsigned id = n; while (s_buf[n] != n) { n = s_buf[n]; s_buf[id] = n; } return n; } // Unisce gli alberi contenenti i nodi a e b, collegandone le radici __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; __shared__ int buf[BLOCK_ROWS * BLOCK_COLS]; unsigned buf_index = threadIdx.y * BLOCK_COLS + threadIdx.x; if (row < labels.rows && col < labels.cols) { buf[buf_index] = buf_index; } __syncthreads(); if (row < labels.rows && col < labels.cols) { // 0|1 2|3 // --+---+-- // 4|A B| // 5|C D| // --+---+ unsigned char P = 0; if ((threadIdx.x > 0 || threadIdx.y > 0)) { if (img[img_index]) { P |= 0x37; // 00110111 } } if ((threadIdx.y > 0 || threadIdx.x < BLOCK_COLS - 1) && (col + 1 < img.cols)) { if (img[img_index + 1]) { P |= 0x0E; // 00001110 } } if ((threadIdx.x > 0) && (row + 1 < img.rows)) { if (img[img_index + img.step]) { P |= 0x30; // 00110000 } } if (threadIdx.x == 0) { P &= 0xCE; // 11001110 } if (col + 1 >= img.cols) { P &= 0xF3; // 11110011 } else if ((threadIdx.x + 1 == BLOCK_COLS) || (col + 2 >= img.cols)) { P &= 0xF7; // 11110111 } if (threadIdx.y == 0) { P &= 0xF0; // 11110000 } if (row + 1 >= img.rows) { P &= 0xDF; // 11011111 } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors if (P > 0) { if (HasBit(P, 0) && img[img_index - img.step - 1]) { Union(buf, buf_index, buf_index - BLOCK_COLS - 1); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { Union(buf, buf_index, buf_index - BLOCK_COLS); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { Union(buf, buf_index, buf_index + 1 - BLOCK_COLS); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 5) && img[img_index + img.step - 1])) { Union(buf, buf_index, buf_index - 1); } } } __syncthreads(); // Local compression if (row < labels.rows && col < labels.cols) { unsigned f = FindAndCompress(buf, buf_index); unsigned f_row = f / BLOCK_COLS; unsigned f_col = f % BLOCK_COLS; unsigned global_f = 2 * (blockIdx.y * BLOCK_ROWS + f_row) * (labels.step / labels.elem_size) + 2 * (blockIdx.x * BLOCK_COLS + f_col); labels.data[labels_index] = global_f; } } __global__ void GlobalMerge(cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned char P = 0; if (((threadIdx.x == 0 && col > 0) || (threadIdx.y == 0 && row > 0))) { if (img[img_index]) { P |= 0x37; // 00110111 } } if (((threadIdx.y == 0 && row > 0) || (threadIdx.x == BLOCK_COLS - 1 && col + 2 < img.cols)) && (col + 1 < img.cols)) { if (img[img_index + 1]) { P |= 0x0E; // 00001110 } } if ((threadIdx.x == 0 && col > 0) && (row + 1 < img.rows)) { if (img[img_index + img.step]) { P |= 0x30; // 00110000 } } if (col == 0) { P &= 0xCE; // 11001110 } if (col + 1 >= img.cols) { P &= 0xF3; // 11110011 } else if (col + 2 >= img.cols) { P &= 0xF7; // 11110111 } if (row == 0) { P &= 0xF0; // 11110000 } if (row + 1 >= img.rows) { P &= 0xDF; // 11011111 } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors if (P > 0) { if (HasBit(P, 0) && img[img_index - img.step - 1]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) - 2); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size)); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) + 2); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 5) && img[img_index + img.step - 1])) { Union(labels.data, labels_index, labels_index - 2); } } } } __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { //labels[labels_index] = Find(labels.data, labels_index); FindAndCompress(labels.data, labels_index); } } __global__ void FinalLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned img_index = row * (img.step / img.elem_size) + col; if (row < labels.rows && col < labels.cols) { int label = labels[labels_index] + 1; if (img[img_index]) labels[labels_index] = label; else { labels[labels_index] = 0; } if (col + 1 < labels.cols) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (row + 1 < labels.rows) { if (img[img_index + img.step + 1]) labels[labels_index + (labels.step / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.step / labels.elem_size) + 1] = 0; } } } if (row + 1 < labels.rows) { if (img[img_index + img.step]) labels[labels_index + (labels.step / labels.elem_size)] = label; else { labels[labels_index + (labels.step / labels.elem_size)] = 0; } } } } } class CUDA_BUF_2S : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: CUDA_BUF_2S() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i local_labels; //cuda::GpuMat d_local_merge; //d_img_labels_.copyTo(d_local_merge); //FinalLabeling << > > (d_img_, d_local_merge); //d_local_merge.download(local_labels); GlobalMerge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); //d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } private: void Alloc() { d_img_labels_.create(d_img_.size(), CV_32SC1); } void Dealloc() { } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); GlobalMerge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { perf_.start(); Alloc(); perf_.stop(); double alloc_timing = perf_.last(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(CUDA_BUF_2S); ================================================ FILE: cuda/src/next_to_trash/labeling_CUDA_KE_2S.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" #include "cuda_runtime.h" #include "device_launch_parameters.h" #include #include #include #include #include #include #include #include #include // Questo algoritmo � una modifica del Komura Equivalence (KE) che esegue le operazioni in due livelli (stage). // Inizialmente esegue le operazioni nel blocco usando la shared memory e poi merga le etichette sui bordi dei // blocchi. Varie prove hanno mostrato che sulla quadro va peggio della versione BUF. // Il minimo per entrambi � 4 #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; // Algorithm itself has good performances, but memory allocation is a problem. // I will try to reduce it. namespace { // Only use it with unsigned numeric types template __device__ __forceinline__ unsigned char HasBit(T bitmap, unsigned char pos) { return (bitmap >> pos) & 1; } __device__ __forceinline__ void SetBit(unsigned char &bitmap, unsigned char pos) { bitmap |= (1 << pos); } // Risale alla radice dell'albero a partire da un suo nodo n __device__ unsigned Find(const int *s_buf, unsigned n) { // Attenzione: non invocare la find su un pixel di background while (s_buf[n] != n) { n = s_buf[n]; } return n; } // Unisce gli alberi contenenti i nodi a e b, collegandone le radici __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a); done = (old == b); b = old; } else if (b < a) { int old = atomicMin(s_buf + a, b); done = (old == a); a = old; } else { done = true; } } while (!done); } __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; __shared__ int buf[BLOCK_ROWS * BLOCK_COLS]; unsigned buf_index = threadIdx.y * BLOCK_COLS + threadIdx.x; if (row < labels.rows && col < labels.cols) { buf[buf_index] = buf_index; } __syncthreads(); if (row < labels.rows && col < labels.cols) { // 0|1 2|3 // --+---+-- // 4|A B| // 5|C D| // --+---+ unsigned char P = 0; if ((threadIdx.x > 0 || threadIdx.y > 0)) { if (img[img_index]) { P |= 0x37; // 00110111 } } if ((threadIdx.y > 0 || threadIdx.x < BLOCK_COLS - 1) && (col + 1 < img.cols)) { if (img[img_index + 1]) { P |= 0x0E; // 00001110 } } if ((threadIdx.x > 0) && (row + 1 < img.rows)) { if (img[img_index + img.step]) { P |= 0x30; // 00110000 } } if (threadIdx.x == 0) { P &= 0xCE; // 11001110 } if (col + 1 >= img.cols) { P &= 0xF3; // 11110011 } else if ((threadIdx.x + 1 == BLOCK_COLS) || (col + 2 >= img.cols)) { P &= 0xF7; // 11110111 } if (threadIdx.y == 0) { P &= 0xF0; // 11110000 } if (row + 1 >= img.rows) { P &= 0xDF; // 11011111 } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors if (P > 0) { if (HasBit(P, 0) && img[img_index - img.step - 1]) { Union(buf, buf_index, buf_index - BLOCK_COLS - 1); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { Union(buf, buf_index, buf_index - BLOCK_COLS); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { Union(buf, buf_index, buf_index + 1 - BLOCK_COLS); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 5) && img[img_index + img.step - 1])) { Union(buf, buf_index, buf_index - 1); } } } __syncthreads(); // Local compression if (row < labels.rows && col < labels.cols) { unsigned f = Find(buf, buf_index); unsigned f_row = f / BLOCK_COLS; unsigned f_col = f % BLOCK_COLS; unsigned global_f = 2 * (blockIdx.y * BLOCK_ROWS + f_row) * (labels.step / labels.elem_size) + 2 * (blockIdx.x * BLOCK_COLS + f_col); labels.data[labels_index] = global_f; } } __global__ void GlobalMerge(cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned img_index = row * img.step + col; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { unsigned char P = 0; if (((threadIdx.x == 0 && col > 0) || (threadIdx.y == 0 && row > 0))) { if (img[img_index]) { P |= 0x37; // 00110111 } } if (((threadIdx.y == 0 && row > 0) || (threadIdx.x == BLOCK_COLS - 1 && col + 2 < img.cols)) && (col + 1 < img.cols)) { if (img[img_index + 1]) { P |= 0x0E; // 00001110 } } if ((threadIdx.x == 0 && col > 0) && (row + 1 < img.rows)) { if (img[img_index + img.step]) { P |= 0x30; // 00110000 } } if (col == 0) { P &= 0xCE; // 11001110 } if (col + 1 >= img.cols) { P &= 0xF3; // 11110011 } else if (col + 2 >= img.cols) { P &= 0xF7; // 11110111 } if (row == 0) { P &= 0xF0; // 11110000 } if (row + 1 >= img.rows) { P &= 0xDF; // 11011111 } // P is now ready to be used to find neighbour blocks (or it should be) // P value avoids range errors if (P > 0) { if (HasBit(P, 0) && img[img_index - img.step - 1]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) - 2); } if ((HasBit(P, 1) && img[img_index - img.step]) || (HasBit(P, 2) && img[img_index + 1 - img.step])) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size)); } if (HasBit(P, 3) && img[img_index + 2 - img.step]) { Union(labels.data, labels_index, labels_index - 2 * (labels.step / labels.elem_size) + 2); } if ((HasBit(P, 4) && img[img_index - 1]) || (HasBit(P, 5) && img[img_index + img.step - 1])) { Union(labels.data, labels_index, labels_index - 2); } } } } __global__ void Compression(cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; if (row < labels.rows && col < labels.cols) { labels[labels_index] = Find(labels.data, labels_index); } } __global__ void FinalLabeling(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned row = (blockIdx.y * BLOCK_ROWS + threadIdx.y) * 2; unsigned col = (blockIdx.x * BLOCK_COLS + threadIdx.x) * 2; unsigned labels_index = row * (labels.step / labels.elem_size) + col; unsigned img_index = row * (img.step / img.elem_size) + col; if (row < labels.rows && col < labels.cols) { int label = labels[labels_index] + 1; if (img[img_index]) labels[labels_index] = label; else { labels[labels_index] = 0; } if (col + 1 < labels.cols) { if (img[img_index + 1]) labels[labels_index + 1] = label; else { labels[labels_index + 1] = 0; } if (row + 1 < labels.rows) { if (img[img_index + img.step + 1]) labels[labels_index + (labels.step / labels.elem_size) + 1] = label; else { labels[labels_index + (labels.step / labels.elem_size) + 1] = 0; } } } if (row + 1 < labels.rows) { if (img[img_index + img.step]) labels[labels_index + (labels.step / labels.elem_size)] = label; else { labels[labels_index + (labels.step / labels.elem_size)] = 0; } } } } } class CUDA_BKE_2S : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; unsigned char *last_pixel_; bool last_pixel_allocated_; public: CUDA_BKE_2S() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); last_pixel_allocated_ = false; if ((d_img_.rows == 1 || d_img_.cols == 1) && !((d_img_.rows + d_img_.cols) % 2)) { cudaMalloc(&last_pixel_, sizeof(unsigned char)); last_pixel_allocated_ = true; } else { // last_pixel_ = d_img_labels_.data + d_img_labels_.step + sizeof(unsigned int); last_pixel_ = d_img_labels_.data + ((d_img_labels_.rows - 2) * d_img_labels_.step) + (d_img_labels_.cols - 2) * d_img_labels_.elemSize(); } grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i local_labels; //cuda::GpuMat d_local_merge; //d_img_labels_.copyTo(d_local_merge); //FinalLabeling << > > (d_img_, d_local_merge); //d_local_merge.download(local_labels); GlobalMerge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); //d_img_labels_.download(img_labels_); if (last_pixel_allocated_) { cudaFree(last_pixel_); } cudaDeviceSynchronize(); } private: void Alloc() { d_img_labels_.create(d_img_.size(), CV_32SC1); } void Dealloc() { } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void AllScans() { grid_size_ = dim3((((d_img_.cols + 1) / 2) + BLOCK_COLS - 1) / BLOCK_COLS, (((d_img_.rows + 1) / 2) + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); //cuda::GpuMat d_expanded_connections; //d_expanded_connections.create(d_connections_.rows * 3, d_connections_.cols * 3, CV_8UC1); //ExpandConnections << > > (d_connections_, d_expanded_connections); //Mat1b expanded_connections; //d_expanded_connections.download(expanded_connections); //d_expanded_connections.release(); //Mat1i init_labels; //d_block_labels_.download(init_labels); GlobalMerge << > > (d_img_, d_img_labels_); //Mat1i block_info_final; //d_img_labels_.download(block_info_final); Compression << > > (d_img_labels_); FinalLabeling << > > (d_img_, d_img_labels_); // d_img_labels_.download(img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { perf_.start(); Alloc(); perf_.stop(); double alloc_timing = perf_.last(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); double dealloc_timing = perf_.last(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(CUDA_BKE_2S); ================================================ FILE: cuda/src/next_to_trash/labeling_CUDA_UF_InlineCompression.cu ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "labeling_algorithms.h" #include "register.h" // Questo algoritmo � una modifica dell' Union Find (BUF) che esegue usa la FindAndCompress al posto della // find usata dall'UF. La FindAndCompress aggiorna la label del pixel di partenza ad ogni iterazione della // procedura di ricerca della label root. Ovvert se l'albero di equivalenza � cos� costruito: // A // / // B // / // C // allora all prima iterazione aggiorno la label di C sostituendola con B e all'iterazione successiva con A. // In questo modo se un altro thread legge il mio valore a met� trova gi� B ed evita un passaggio. Funziona meglio // dell'UF. // Il minimo per entrambi � 4 #define BLOCK_ROWS 16 #define BLOCK_COLS 16 using namespace cv; namespace { // Risale alla radice dell'albero a partire da un suo nodo n __device__ unsigned Find(const int *s_buf, unsigned n) { // Attenzione: non invocare la find su un pixel di background unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; assert(label > 0); } return n; } // Risale alla radice dell'albero a partire da un suo nodo n __device__ unsigned FindCompress(int *s_buf, unsigned n) { // Attenzione: non invocare la find su un pixel di background unsigned id = n; unsigned label = s_buf[n]; assert(label > 0); while (label - 1 != n) { n = label - 1; label = s_buf[n]; s_buf[id] = label; assert(label > 0); } return n; } // Unisce gli alberi contenenti i nodi a e b, collegandone le radici __device__ void Union(int *s_buf, unsigned a, unsigned b) { bool done; do { a = Find(s_buf, a); b = Find(s_buf, b); if (a < b) { int old = atomicMin(s_buf + b, a + 1); done = (old == b + 1); b = old - 1; } else if (b < a) { int old = atomicMin(s_buf + a, b + 1); done = (old == a + 1); a = old - 1; } else { done = true; } } while (!done); } //Effettuo il controllo sui 4 vicini della maschera //Prova a sincronizzare dopo ogni vicino __global__ void LocalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned local_index = local_row * BLOCK_COLS + local_col; unsigned global_row = blockIdx.y * BLOCK_ROWS + local_row; unsigned global_col = blockIdx.x * BLOCK_COLS + local_col; unsigned img_index = global_row * img.step + global_col; __shared__ int s_buf[BLOCK_ROWS * BLOCK_COLS]; __shared__ unsigned char s_img[BLOCK_ROWS * BLOCK_COLS]; bool in_limits = (global_row < img.rows && global_col < img.cols); s_buf[local_index] = local_index + 1; s_img[local_index] = in_limits ? img[img_index] : 0xFF; __syncthreads(); unsigned char v = s_img[local_index]; if (in_limits) { if (v) { if (local_col > 0 && s_img[local_index - 1]) { Union(s_buf, local_index, local_index - 1); } if (local_row > 0 && s_img[local_index - BLOCK_COLS]) { Union(s_buf, local_index, local_index - BLOCK_COLS); } } else { if (local_row > 0 && s_img[local_index - BLOCK_COLS]) { if (local_col > 0 && s_img[local_index - 1]) { Union(s_buf, local_index - 1, local_index - BLOCK_COLS); } if (local_col < BLOCK_COLS - 1 && s_img[local_index + 1]) { Union(s_buf, local_index + 1, local_index - BLOCK_COLS); } } } } __syncthreads(); if (in_limits) { if (v) { unsigned f = FindCompress(s_buf, local_index); unsigned f_row = f / BLOCK_COLS; unsigned f_col = f % BLOCK_COLS; unsigned global_f = (blockIdx.y * BLOCK_ROWS + f_row) * (labels.step / labels.elem_size) + (blockIdx.x * BLOCK_COLS + f_col); labels.data[global_row * labels.step / sizeof(int) + global_col] = global_f + 1; // C'� distinzione tra background e foreground } else { labels.data[global_row * labels.step / sizeof(int) + global_col] = 0; } } } __global__ void GlobalMerge(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned local_row = threadIdx.y; unsigned local_col = threadIdx.x; unsigned global_row = blockIdx.y * BLOCK_ROWS + local_row; unsigned global_col = blockIdx.x * BLOCK_COLS + local_col; unsigned img_index = global_row * img.step + global_col; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; bool in_limits = (global_row < img.rows && global_col < img.cols); if (in_limits) { unsigned char v = img[img_index]; if (v) { if (global_col > 0 && local_col == 0 && img[img_index - 1]) { Union(labels.data, labels_index, labels_index - 1); } if (global_row > 0 && local_row == 0 && img[img_index - img.step]) { Union(labels.data, labels_index, labels_index - labels.step / sizeof(int)); } } else { if (global_row > 0 && img[img_index - img.step]) { if (global_col > 0 && (local_row == 0 || local_col == 0) && img[img_index - 1]) { Union(labels.data, labels_index - 1, labels_index - labels.step / sizeof(int)); } if ((global_col < img.cols - 1) && (local_row == 0 || local_col == BLOCK_COLS - 1) && img[img_index + 1]) { Union(labels.data, labels_index + 1, labels_index - labels.step / sizeof(int)); } } } } } __global__ void PathCompression(const cuda::PtrStepSzb img, cuda::PtrStepSzi labels) { unsigned global_row = blockIdx.y * BLOCK_ROWS + threadIdx.y; unsigned global_col = blockIdx.x * BLOCK_COLS + threadIdx.x; unsigned labels_index = global_row * (labels.step / labels.elem_size) + global_col; if (global_row < labels.rows && global_col < labels.cols) { unsigned char val = img[global_row * img.step + global_col]; if (val) { labels[labels_index] = Find(labels.data, labels_index) + 1; } } } } class CUDA_UF_InlineCompression : public GpuLabeling2D { private: dim3 grid_size_; dim3 block_size_; public: CUDA_UF_InlineCompression() {} void PerformLabeling() { d_img_labels_.create(d_img_.size(), CV_32SC1); grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); // Phase 1 // Etichetta i pixel localmente al blocco LocalMerge << > > (d_img_, d_img_labels_); // Immagine di debug della prima fase //cuda::GpuMat d_local_labels; //d_img_labels_.copyTo(d_local_labels); //PathCompression << > > (d_img_, d_local_labels); //// ZeroBackground << > > (d_img_, d_local_labels); //Mat1i local_labels(img_.size()); //d_local_labels.download(local_labels); // Phase 2 // Collega tra loro gli alberi union-find dei diversi blocchi GlobalMerge << > > (d_img_, d_img_labels_); // Immagine di debug della seconda fase //cuda::GpuMat d_global_labels; //d_img_labels_.copyTo(d_global_labels); //PathCompression << > > (d_img_, d_global_labels); //// ZeroBackground << > > (d_img_, d_global_labels); //Mat1i global_labels(img_.size()); //d_global_labels.download(global_labels); // Phase 3 // Collassa gli alberi union-find sulle radici PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } private: double Alloc() { perf_.start(); d_img_labels_.create(d_img_.size(), CV_32SC1); perf_.stop(); return perf_.last(); } double Dealloc() { perf_.start(); perf_.stop(); return perf_.last(); } double MemoryTransferHostToDevice() { perf_.start(); d_img_.upload(img_); perf_.stop(); return perf_.last(); } void MemoryTransferDeviceToHost() { d_img_labels_.download(img_labels_); } void LocalScan() { grid_size_ = dim3((d_img_.cols + BLOCK_COLS - 1) / BLOCK_COLS, (d_img_.rows + BLOCK_ROWS - 1) / BLOCK_ROWS, 1); block_size_ = dim3(BLOCK_COLS, BLOCK_ROWS, 1); LocalMerge << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } void GlobalScan() { GlobalMerge << > > (d_img_, d_img_labels_); PathCompression << > > (d_img_, d_img_labels_); cudaDeviceSynchronize(); } public: void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); LocalScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); GlobalScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double dealloc_timing = Dealloc(); perf_.store(Step(StepType::ALLOC_DEALLOC), alloc_timing + dealloc_timing); } }; REGISTER_LABELING(CUDA_UF_InlineCompression); ================================================ FILE: doc/EPDT/README.md ================================================ ## [RLPR - Reproducible Label in Pattern Recognition](https://github.com/RLPR)

This README is intended to describe how to configure YACCLAB v3.1 to reproduce the experimental results reportod in the paper A Heuristic-Based Decision Tree for Connected Components Labeling of 3D Volumes presented @ ICPR2020.

Results that can be reproduced are the ones reported in TABLE II, TABLE III, and Fig. 6 of the paper. Experimental results reported in TABLE II and Fig. 6 can be affected by the environment employed for testing the algorithms. In particular, cache size and RAM speed can change absolute results while preserving relative performance. Operative System and compiler are likely to heavily influence the outcome. Numbers reported in TABLE III, instead, should be totally independent from the chosen environment. After installing the YACCLAB benchmark (installation guide is reported in the main README.md of this repo), the following additional instructions must be taken into account in order to reproduce the experiments in the aforementioned paper:

When configuring the project through CMake the flags YACCLAB_ENABLE_3D, YACCLAB_ENABLE_EPDT_19C, YACCLAB_ENABLE_EPDT_22C, YACCLAB_ENABLE_EPDT_26C, and YACCLAB_FORCE_CONFIG_GENERATION must be enabled in order to set-up the benchmark for 3D algorithms and to include EPDT implementations. The CMake file should automatically find the OpenCV installation path, otherwise, it must be manually specified through the OpenCV_DIR CMake parameter. YACCLAB_DOWNLOAD_DATASET_3D flag must be enabled if the user wants CMake to automatically download the YACCLAB 3D dataset (required to test the algorithms). CMake will automatically generate the C++ project for the selected compler.

The config.yaml file must be set as follows (excerpt) to reproduce the experimental results reported in TABLE II.
Hint: disable `CPU 2D 8-way connectivity` to avoid useless tests.

```yaml [...] CPU 3D 26-way connectivity: execute: true perform: correctness: false average: true average_with_steps: false density: false granularity: false memory: false algorithms: - EPDT_3D_19c_RemSP - EPDT_3D_19c_TTA - EPDT_3D_19c_UF - EPDT_3D_19c_UFPC - EPDT_3D_22c_RemSP - EPDT_3D_22c_TTA - EPDT_3D_22c_UF - EPDT_3D_22c_UFPC - EPDT_3D_26c_RemSP - EPDT_3D_26c_TTA - EPDT_3D_26c_UF - EPDT_3D_26c_UFPC - LEB_3D_TTA - RBTS_3D_TTA [...] ```

The config.yaml file must be set as follows (excerpt) to reproduce the experimental results reported in TABLE III.
Hint: disable `CPU 2D 8-way connectivity` to avoid useless tests.

```yaml [...] CPU 3D 26-way connectivity: execute: true perform: correctness: false average: false average_with_steps: false density: false granularity: false memory: true algorithms: - LEB_3D_TTA - EPDT_3D_19c_RemSP - EPDT_3D_22c_RemSP - EPDT_3D_26c_RemSP [...] memory_datasets: ["oasis"] [...] ```

The config.yaml file must be set as follows (excerpt) to reproduce the experimental results reported in Fig. 6.
Hint: disable `CPU 2D 8-way connectivity` to avoid useless tests.

```yaml [...] CPU 3D 26-way connectivity: execute: true perform: correctness: false average: false average_with_steps: true density: false granularity: false memory: false algorithms: - EPDT_3D_19c_RemSP - EPDT_3D_22c_RemSP - EPDT_3D_26c_RemSP - LEB_3D_TTA - RBTS_3D_TTA [...] ``` ================================================ FILE: doc/README.txt ================================================ "config_base.yaml": It is the standard configuration file of YACCLAB automatically filled by CMake. If you want to change YACCLAB test settings, please modify the configuration file placed in the installation directory. "config_travis.yaml": It is a light standard configuration file used by Travis CI buildbot. ================================================ FILE: doc/config_2d.yaml ================================================ CPU 2D 8-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------ perform: correctness: true average: true average_with_steps: false density: false granularity: true memory: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: false tests_number: average: 10 average_with_steps: 10 density: 10 granularity: 10 # List of 2D CPU CCL algorithms to test # ------------------------------------- algorithms: # - SAUF_RemSP # - SAUF_TTA - SAUF_UFPC # - SAUF_UF # - BBDT_RemSP # - BBDT_TTA - BBDT_UFPC # - BBDT_UF # - CCIT_RemSP # - CCIT_TTA # - CCIT_UFPC # - CCIT_UF # - CTB_RemSP # - CTB_TTA # - CTB_UFPC # - CTB_UF # - PRED_RemSP # - PRED_TTA - PRED_UFPC # - PRED_UF # - DRAG_RemSP # - DRAG_TTA - DRAG_UFPC # - DRAG_UF # - PREDpp_RemSP # - PREDpp_TTA # - PREDpp_UFPC # - PREDpp_UF # - Spaghetti_RemSP # - Spaghetti_TTA - Spaghetti_UFPC # - Spaghetti_UF # - Tagliatelle_RemSP # - Tagliatelle_TTA # - Tagliatelle_UFPC # - Tagliatelle_UF # - LSL_STD_TTA # - LSL_STD_UF # - LSL_STDZ_TTA # - LSL_STDZ_UF # - LSL_RLE_TTA # - LSL_RLE_UF # - LSL_RLEZ_TTA # - LSL_RLEZ_UF # - BRTS_RemSP # - BRTS_TTA # - BRTS_UFPC # - BRTS_UF # - BMRS_RemSP # - BMRS_TTA # - BMRS_UFPC # - BMRS_UF # - RBTS_RemSP # - RBTS_TTA # - RBTS_UFPC # - RBTS_UF # - DiStefano # - CT # - SBLA # - labeling_NULL # Algorithms which require to specify a labels solver are: SAUF, BBDT, CCIT, LSL, CTB, PRED, DRAG and Spaghetti # Possible labels solvers are: UF, UFPC, RemSP, TTA # LSL requires also a version specifier: STD, STDZ, RLE, RLEZ; only UF and TTA solvers can be used with LSL # Algorithms which don't require to specify a labels solver are: DiStefano, CT, SBLA, NULL # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["check", "3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Memory Tests" shall be run memory_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} ================================================ FILE: doc/config_3d.yaml ================================================ CPU 3D 26-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------ perform: correctness: true average: true average_with_steps: false density: false granularity: true memory: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: false tests_number: average: 10 average_with_steps: 10 density: 10 granularity: 10 # List of 3D CPU CCL algorithms to test # ------------------------------------- algorithms: # - naive_3D_UF - naive_3D_UFPC # - naive_3D_TTA # - naive_3D_RemSP # - LEB_3D_UF # - LEB_3D_UFPC - LEB_3D_TTA # - LEB_3D_RemSP # - RBTS_3D_UF # - RBTS_3D_UFPC - RBTS_3D_TTA # - RBTS_3D_RemSP # - SAUF_3D_UF - SAUF_3D_UFPC # - SAUF_3D_TTA # - SAUF_3D_RemSP # - SAUFpp_3D_UF - SAUFpp_3D_UFPC # - SAUFpp_3D_TTA # - SAUFpp_3D_RemSP # - PRED_3D_UF - PRED_3D_UFPC # - PRED_3D_TTA # - PRED_3D_RemSP # - PREDpp_3D_UF - PREDpp_3D_UFPC # - PREDpp_3D_TTA # - PREDpp_3D_RemSP ${YACCLAB_CONFIG_EPDT_ALGORITHMS} # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["hilbert", "mitochondria", "oasis"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["hilbert", "mitochondria", "oasis"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: ["hilbert", "mitochondria", "oasis"] # List of datasets on which "Memory Tests" shall be run memory_datasets: ["hilbert", "mitochondria", "oasis"] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} ================================================ FILE: doc/config_base.yaml ================================================ %YAML:1.2 --- ########################################## # THIS IS THE YACCLAB CONFIGURATION FILE # ########################################## # -------------------- # # Benchmark Tests # # -------------------- # ${YACCLAB_CONFIG_2D}${YACCLAB_CONFIG_CUDA_2D}${YACCLAB_CONFIG_3D}${YACCLAB_CONFIG_CUDA_3D} # -------------------- # # Additional utilities # # -------------------- # # Directory for input/output paths paths: {input: "${YACCLAB_INPUT_DATASET_PATH}", output: "${YACCLAB_OUTPUT_RESULTS_PATH}"} # Save the returned number of components in output files write_n_labels: false # Save labeled image (TODO: remove this option from tests and add a specific tools for doing that in YACCLAB) color_labels: {average: false, density: false} #TODO os: "${YACCLAB_OS}" ########################################## # This is the YACCLAB configuration file # ########################################## ================================================ FILE: doc/config_ci_cpu.yaml ================================================ %YAML:1.2 --- ########################################## # This is the YACCLAB configuration file # ########################################## CPU 2D 8-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------ # Kind of tests to execute perform: correctness: true average: true average_with_steps: false density: false granularity: false memory: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: true # Number of tests repetitions tests_number: average: 1 average_with_steps: 1 density: 1 granularity: 1 # List of CCL algorithms to test # ------------------------------- algorithms: - SAUF_RemSP # - SAUF_TTA # - SAUF_UFPC # - SAUF_UF # - BBDT_RemSP # - BBDT_TTA # - BBDT_UFPC # - BBDT_UF # - CCIT_RemSP # - CCIT_TTA # - CCIT_UFPC # - CCIT_UF # - CTB_RemSP # - CTB_TTA # - CTB_UFPC # - CTB_UF # - PRED_RemSP # - PRED_TTA # - PRED_UFPC # - PRED_UF # - LSL_STD_TTA # - LSL_STD_UF # - LSL_STDZ_TTA # - LSL_STDZ_UF # - LSL_RLE_TTA # - LSL_RLE_UF # - LSL_RLEZ_TTA # - LSL_RLEZ_UF # - DiStefano # - CT # - SBLA # - labeling_NULL # Algorithms which require to specify a labels solver are: SAUF, BBDT, CCIT, LSL, CTB, PRED, and DRAG # Possible labels solvers are: UF, UFPC, RemSP, TTA # LSL requires also a version specifier: STD, STDZ, RLE, RLEZ; only UF and TTA solvers can be used with LSL # Algorithms which don't require to specify a labels solver are: DiStefano, CT, SBLA, NULL # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["check", "fingerprints"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["fingerprints", "hamlet", "medical"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: [] # List of datasets on which "Memory Tests" shall be run memory_datasets: [] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} CPU 3D 26-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------ perform: correctness: true average: true average_with_steps: false density: false granularity: false memory: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: true tests_number: average: 1 average_with_steps: 1 density: 1 granularity: 1 # List of 3D CPU CCL algorithms to test # ------------------------------------- algorithms: # - naive_3D_UF # - naive_3D_UFPC # - naive_3D_TTA # - naive_3D_RemSP # - LEB_3D_UF # - LEB_3D_UFPC - LEB_3D_TTA # - LEB_3D_RemSP # - RBTS_3D_UF # - RBTS_3D_UFPC # - RBTS_3D_TTA # - RBTS_3D_RemSP # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["hilbert", "mitochondria"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["hilbert", "mitochondria"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: ["hilbert", "mitochondria", "oasis"] # List of datasets on which "Memory Tests" shall be run memory_datasets: ["hilbert", "mitochondria", "oasis"] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} # ------------------------------------------------------------------------------------- # Additional utilities # ------------------------------------------------------------------------------------- # Directory for input/output paths paths: {input: "${YACCLAB_INPUT_DATASET_PATH}", output: "${YACCLAB_OUTPUT_RESULTS_PATH}"} # Save the returned number of components in output files write_n_labels: false # Save labeled image (TODO: remove this option from tests and add a specific tools for doing that in YACCLAB) color_labels: {average: false, density: false} #TODO os: "${YACCLAB_OS}" ########################################## # This is the YACCLAB configuration file # ########################################## ================================================ FILE: doc/config_ci_cpu2d.yaml ================================================ %YAML:1.2 --- ########################################## # This is the YACCLAB configuration file # ########################################## CPU 2D 8-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------ # Kind of tests to execute perform: correctness: true average: true average_with_steps: false density: false granularity: false memory: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: true # Number of tests repetitions tests_number: average: 1 average_with_steps: 1 density: 1 granularity: 1 # List of CCL algorithms to test # ------------------------------- algorithms: - SAUF_RemSP # - SAUF_TTA # - SAUF_UFPC # - SAUF_UF # - BBDT_RemSP # - BBDT_TTA # - BBDT_UFPC # - BBDT_UF # - CCIT_RemSP # - CCIT_TTA # - CCIT_UFPC # - CCIT_UF # - CTB_RemSP # - CTB_TTA # - CTB_UFPC # - CTB_UF # - PRED_RemSP # - PRED_TTA # - PRED_UFPC # - PRED_UF # - LSL_STD_TTA # - LSL_STD_UF # - LSL_STDZ_TTA # - LSL_STDZ_UF # - LSL_RLE_TTA # - LSL_RLE_UF # - LSL_RLEZ_TTA # - LSL_RLEZ_UF # - DiStefano # - CT # - SBLA # - labeling_NULL # Algorithms which require to specify a labels solver are: SAUF, BBDT, CCIT, LSL, CTB, PRED, and DRAG # Possible labels solvers are: UF, UFPC, RemSP, TTA # LSL requires also a version specifier: STD, STDZ, RLE, RLEZ; only UF and TTA solvers can be used with LSL # Algorithms which don't require to specify a labels solver are: DiStefano, CT, SBLA, NULL # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["check", "fingerprints"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["fingerprints", "hamlet", "medical"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: [] # List of datasets on which "Memory Tests" shall be run memory_datasets: [] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} # ------------------------------------------------------------------------------------- # Additional utilities # ------------------------------------------------------------------------------------- # Directory for input/output paths paths: {input: "${YACCLAB_INPUT_DATASET_PATH}", output: "${YACCLAB_OUTPUT_RESULTS_PATH}"} # Save the returned number of components in output files write_n_labels: false # Save labeled image (TODO: remove this option from tests and add a specific tools for doing that in YACCLAB) color_labels: {average: false, density: false} #TODO os: "${YACCLAB_OS}" ########################################## # This is the YACCLAB configuration file # ########################################## ================================================ FILE: doc/config_cuda_2d.yaml ================================================ GPU 2D 8-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------- perform: correctness: true average: true average_with_steps: false density: false granularity: true memory: false blocksize: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: false eight_connectivity_blocksize: false tests_number: average: 10 average_with_steps: 10 density: 10 granularity: 10 blocksize: 10 # List of 2D GPU CCL algorithms to test # ------------------------------------- algorithms: - UF - OLE #- BRB - STAVA - RASMUSSON #- ACCL - DLS - M8DLS - LBUF - BE - DLP - KE - HA8 - C_SAUF - C_BBDT - C_DRAG - BUF - BKE # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["check", "3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Memory Tests" shall be run memory_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Blocksize Tests" shall be run blocksize_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] blocksize: x: [2, 64, 2] y: [2, 64, 2] z: [1, 1, 1] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} ================================================ FILE: doc/config_cuda_3d.yaml ================================================ GPU 3D 26-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------ perform: correctness: true average: true average_with_steps: false density: false granularity: true memory: false blocksize: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: false eight_connectivity_blocksize: false tests_number: average: 10 average_with_steps: 10 density: 10 granularity: 10 blocksize: 10 # List of 3D CPU CCL algorithms to test # ------------------------------------- algorithms: - UF_3D - BE_3D - BUF_3D - BKE_3D # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["hilbert", "oasis", "mitochondria"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["hilbert", "oasis", "mitochondria"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: ["hilbert", "oasis", "mitochondria"] # List of datasets on which "Memory Tests" shall be run memory_datasets: ["hilbert", "oasis", "mitochondria"] # List of datasets on which "Blocksize Tests" shall be run blocksize_datasets: ["hilbert", "oasis", "mitochondria"] blocksize: x: [2, 64, 2] y: [2, 64, 2] z: [2, 64, 2] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} ================================================ FILE: doc/config_epdt_19c.yaml ================================================ # - EPDT_3D_19c_UF # - EPDT_3D_19c_UFPC # - EPDT_3D_19c_TTA - EPDT_3D_19c_RemSP ================================================ FILE: doc/config_epdt_22c.yaml ================================================ # - EPDT_3D_22c_UF # - EPDT_3D_22c_UFPC # - EPDT_3D_22c_TTA - EPDT_3D_22c_RemSP ================================================ FILE: doc/config_epdt_26c.yaml ================================================ # - EPDT_3D_26c_UF # - EPDT_3D_26c_UFPC # - EPDT_3D_26c_TTA - EPDT_3D_26c_RemSP ================================================ FILE: doc/config_jenkins.yaml ================================================ %YAML:1.2 --- ########################################## # THIS IS THE YACCLAB CONFIGURATION FILE # ########################################## # -------------------- # # Benchmark Tests # # -------------------- # CPU 2D 8-way connectivity: execute: false # Tests to perform and their number of repetitions # ------------------------------------------------ perform: correctness: true average: true average_with_steps: false density: false granularity: true memory: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: false tests_number: average: 10 average_with_steps: 10 density: 10 granularity: 10 # List of 2D CPU CCL algorithms to test # ------------------------------------- algorithms: # - SAUF_RemSP # - SAUF_TTA - SAUF_UFPC # - SAUF_UF # - BBDT_RemSP # - BBDT_TTA - BBDT_UFPC # - BBDT_UF # - CCIT_RemSP # - CCIT_TTA # - CCIT_UFPC # - CCIT_UF # - CTB_RemSP # - CTB_TTA # - CTB_UFPC # - CTB_UF # - PRED_RemSP # - PRED_TTA - PRED_UFPC # - PRED_UF # - DRAG_RemSP # - DRAG_TTA - DRAG_UFPC # - DRAG_UF # - Spaghetti_RemSP # - Spaghetti_TTA - Spaghetti_UFPC # - Spaghetti_UF # - LSL_STD_TTA # - LSL_STD_UF # - LSL_STDZ_TTA # - LSL_STDZ_UF # - LSL_RLE_TTA # - LSL_RLE_UF # - LSL_RLEZ_TTA # - LSL_RLEZ_UF # - DiStefano # - CT # - SBLA # - labeling_NULL # Algorithms which require to specify a labels solver are: SAUF, BBDT, CCIT, LSL, CTB, PRED, DRAG and Spaghetti # Possible labels solvers are: UF, UFPC, RemSP, TTA # LSL requires also a version specifier: STD, STDZ, RLE, RLEZ; only UF and TTA solvers can be used with LSL # Algorithms which don't require to specify a labels solver are: DiStefano, CT, SBLA, NULL # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["check", "3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # List of datasets on which "Memory Tests" shall be run memory_datasets: ["3dpes", "fingerprints", "hamlet", "medical", "mirflickr", "tobacco800", "xdocs"] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} GPU 2D 8-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------- perform: correctness: true average: true average_with_steps: false density: false granularity: false memory: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: true eight_connectivity_memory: false tests_number: average: 1 average_with_steps: 10 density: 10 granularity: 10 # List of 2D GPU CCL algorithms to test # ------------------------------------- algorithms: - BUF - BKE - BE - UF - OLE - LBUF - KE - DLP # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["check", "fingerprints"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["fingerprints", "hamlet", "medical"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: [] # List of datasets on which "Memory Tests" shall be run memory_datasets: [] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} CPU 3D 26-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------ perform: correctness: true average: true average_with_steps: false density: false granularity: false memory: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: false eight_connectivity_memory: false tests_number: average: 1 average_with_steps: 10 density: 10 granularity: 10 # List of 3D CPU CCL algorithms to test # ------------------------------------- algorithms: # - naive_3D_UF - naive_3D_UFPC # - naive_3D_TTA # - naive_3D_RemSP # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["hilbert", "mitochondria"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["hilbert", "mitochondria"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: ["hilbert", "mitochondria"] # List of datasets on which "Memory Tests" shall be run memory_datasets: ["hilbert", "mitochondria"] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} GPU 3D 26-way connectivity: execute: true # Tests to perform and their number of repetitions # ------------------------------------------------ perform: correctness: true average: true average_with_steps: false density: false granularity: false memory: false correctness_tests: eight_connectivity_standard: true eight_connectivity_steps: false eight_connectivity_memory: false tests_number: average: 1 average_with_steps: 10 density: 10 granularity: 10 # List of 3D CPU CCL algorithms to test # ------------------------------------- algorithms: - BUF_3D - BKE_3D - BE_3D - UF_3D # Datasets to use for each test # ----------------------------- # Note that perform correctness tests on labeling_NULL algorithm does not make sense check_datasets: ["hilbert", "mitochondria"] # List of datasets on which "Average Runtime Tests" shall be run average_datasets: ["hilbert", "mitochondria"] # List of datasets on which "Average Runtime Tests With Steps" shall be run average_datasets_with_steps: ["hilbert", "mitochondria"] # List of datasets on which "Memory Tests" shall be run memory_datasets: ["hilbert", "mitochondria"] # Save the results of each run test save_middle_tests: {average: false, average_with_steps: false, density: false, granularity: false} # -------------------- # # Additional utilities # # -------------------- # # Directory for input/output paths paths: {input: "${YACCLAB_INPUT_DATASET_PATH}", output: "${YACCLAB_OUTPUT_RESULTS_PATH}"} # Save the returned number of components in output files write_n_labels: false # Save labeled image (TODO: remove this option from tests and add a specific tools for doing that in YACCLAB) color_labels: {average: false, density: false} #TODO os: "${YACCLAB_OS}" ########################################## # This is the YACCLAB configuration file # ########################################## ================================================ FILE: include/CMakeLists.txt ================================================ target_sources(YACCLAB PRIVATE check_labeling.h config_data.h file_manager.h labeling_algorithms.h labeling_bolelli_2018.h labeling_bolelli_2018_drag.inc.h labeling_bolelli_2019.h labeling_bolelli_2019_forest.inc.h labeling_bolelli_2019_forest_fl.inc.h labeling_bolelli_2019_forest_ll.inc.h labeling_bolelli_2019_forest_sl.inc.h labeling_distefano_1999.h labeling_fchang_2003.h labeling_grana_2010.h labeling_grana_2010_tree.inc.h labeling_grana_2016.h labeling_grana_2016_forest.inc.h labeling_grana_2016_forest_0.inc.h labeling_he_2014.h labeling_he_2008.h labeling_he_2014_graph.inc.h labeling_lacassagne_2016.h labeling_lacassagne_2016_code.inc.h labeling_null.h labeling_wu_2009.h labeling_wu_2009_tree.inc.h labeling_wychang_2015.h labeling_wychang_2015_tree.inc.h labeling_wychang_2015_tree_0.inc.h labeling_zhao_2010.h labels_solver.h memory_tester.h performance_evaluator.h progress_bar.h register.h stream_demultiplexer.h system_info.h yacclab_tests.h utilities.h volume_util.h yacclab_tensor.h labeling_sauf_4c.h labeling_sauf_background.h labeling_lee_2021_brts.h labeling_lee_2021_brts_no_zeroinit.h labeling_lee_2021_bmrs.h labeling_lee_2021_bmrs_no_zeroinit.h bit_scan_forward.h labeling_PREDpp_2021.h labeling_PREDpp_2021_fl_forest.inc.h labeling_PREDpp_2021_cl_forest.inc.h labeling_tagliatelle_2021.h labeling_tagliatelle_2021_cl_forest.inc.h labeling_tagliatelle_2021_fl_forest.inc.h labeling_tagliatelle_2021_ll_forest.inc.h labeling_tagliatelle_2021_sl_forest.inc.h ) if(OpenMP_CXX_FOUND) target_sources(YACCLAB PRIVATE labeling_HT_CCL_Diaz2019_v1_2_0.h ) endif() if(YACCLAB_ENABLE_3D) target_sources(YACCLAB PRIVATE labeling3D_naive.h labeling3D_he_2011.h labeling3D_SAUF_2021.h labeling3D_SAUF_2021_tree.inc.h labeling3D_SAUFpp_2021.h labeling3D_SAUFpp_2021_tree.inc.h labeling3D_PRED_2021.h labeling3D_PRED_2021_cl_forest.inc.h labeling3D_PRED_2021_fl_forest.inc.h labeling3D_PRED_2021_ll_forest.inc.h labeling3D_PRED_2021_sl_forest.inc.h labeling3D_PREDpp_2021.h labeling3D_PREDpp_2021_cl_forest.inc.h labeling3D_PREDpp_2021_fl_forest.inc.h labeling3D_PREDpp_2021_ll_forest.inc.h labeling3D_PREDpp_2021_sl_forest.inc.h ) if(YACCLAB_ENABLE_EPDT_19C) target_sources(YACCLAB PRIVATE labeling3D_EPDT_19c.h labeling3D_EPDT_19c_action_def.inc.h labeling3D_EPDT_19c_action_def_memory.inc.h labeling3D_EPDT_19c_tree.inc.h labeling3D_EPDT_2829_action_undef.inc.h ) endif() if(YACCLAB_ENABLE_EPDT_22C) target_sources(YACCLAB PRIVATE labeling3D_EPDT_22c.h labeling3D_EPDT_22c_action_def.inc.h labeling3D_EPDT_22c_action_def_memory.inc.h labeling3D_EPDT_22c_tree.inc.h labeling3D_EPDT_2829_action_undef.inc.h ) endif() if(YACCLAB_ENABLE_EPDT_26C) target_sources(YACCLAB PRIVATE labeling3D_EPDT_26c.h labeling3D_EPDT_26c_action_def.inc.h labeling3D_EPDT_26c_action_def_memory.inc.h labeling3D_EPDT_26c_tree.inc.h labeling3D_EPDT_2829_action_undef.inc.h ) endif() endif() ================================================ FILE: include/bit_scan_forward.h ================================================ // Copyright (c) 2021, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_BIT_SCAN_FORWARD_H_ #define YACCLAB_BIT_SCAN_FORWARD_H_ #if __cplusplus > 201703L #include #endif #if defined _MSC_VER #include #define YacclabBitScanForward64 _BitScanForward64 #elif defined MY_PLATFORM_MACRO // Define YacclabBitScanForward64 using the proper compiler intrinsic for your platform. // Don't forget to open a pull request! :) #elif defined __GNUC__ && (__GNUC__ > 3 || (__GNUC__ == 3 && (__GNUC_MINOR__ > 4 || (__GNUC_MINOR__ == 4 && __GNUC_PATCHLEVEL__ > 0)))) #include inline unsigned char YacclabBitScanForward64(unsigned long* Index, uint64_t Mask) { if (!Mask) return 0; *Index = static_cast(__builtin_ctzll(Mask)); return 1; } #elif defined __clang__ && (__clang_major__ >= 5) #include inline unsigned char YacclabBitScanForward64(unsigned long* Index, uint64_t Mask) { if (!Mask) return 0; *Index = static_cast(__builtin_ctzll(Mask)); return 1; } #elif defined __cpp_lib_bitops #include #include inline unsigned char YacclabBitScanForward64(unsigned long* Index, uint64_t Mask) { if (!Mask) return 0; *Index = static_cast(std::countr_zero(Mask)); return 1; } #else #include #include inline unsigned char YacclabBitScanForward64(unsigned long* Index, uint64_t Mask) { throw std::runtime_error("YacclabBitScanForward64 undefined." " Define it for your platform in \"bit_scan_forward.h\"," " or enable C++20 for the generic version."); } #endif #endif // !YACCLAB_BIT_SCAN_FORWARD_H_ ================================================ FILE: include/check_labeling.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_CHECK_LABELING_H_ #define YACCLAB_CHECK_LABELING_H_ #include #include enum class Connectivity2D { CONN_4 = 4, CONN_8 = 8 }; enum class Connectivity3D { CONN_6 = 6, CONN_18 = 18, CONN_26 = 26 }; class LabelingCheckSingleton2D { public: std::map, std::string> map_; static LabelingCheckSingleton2D& GetInstance(); static std::string GetCheckAlg(Connectivity2D conn, bool label_background); LabelingCheckSingleton2D(LabelingCheckSingleton2D const&) = delete; void operator=(LabelingCheckSingleton2D const&) = delete; private: LabelingCheckSingleton2D() {} ~LabelingCheckSingleton2D() = default; }; class LabelingCheckSingleton3D { public: std::map, std::string> map_; static LabelingCheckSingleton3D& GetInstance(); static std::string GetCheckAlg(Connectivity3D conn, bool label_background); LabelingCheckSingleton3D(LabelingCheckSingleton3D const&) = delete; void operator=(LabelingCheckSingleton3D const&) = delete; private: LabelingCheckSingleton3D() {} ~LabelingCheckSingleton3D() = default; }; #endif //YACCLAB_CHECK_LABELING_H_ ================================================ FILE: include/config_data.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_CONFIG_DATA_H_ #define YACCLAB_CONFIG_DATA_H_ #include #include #include #include #include "file_manager.h" #include "system_info.h" #include "utilities.h" bool ReadBool(const cv::FileNode& node_list); struct ModeConfig { std::string mode; bool perform_blocksize; // Whether to perform block size grid search or not bool perform_correctness; // Whether to perform correctness tests or not bool perform_average; // Whether to perform average tests or not bool perform_density; // Whether to perform density tests or not bool perform_granularity; // Whether to perform granularity tests or not bool perform_memory; // Whether to perform memory tests or not bool perform_average_ws; // Whether to perform average tests with steps or not bool perform_check_8connectivity_std; // Whether to perform 8-connectivity test on PerformLabeling() functions bool perform_check_8connectivity_ws; // Whether to perform 8-connectivity test on PerformLabelingWithSteps() functions bool perform_check_8connectivity_mem; // Whether to perform 8-connectivity test on PerformLabelingMem() functions bool perform_check_8connectivity_bs; // Whether to perform 8-connectivity test on PerformLabelingBlocksize() functions bool average_save_middle_tests; // If true, results of each average test run will be stored bool density_save_middle_tests; // If true, results of each density test run will be stored bool granularity_save_middle_tests; // If true, results of each granularity test run will be stored bool average_ws_save_middle_tests; // If true, results of each average test with steps run will be stored unsigned average_tests_number; // Reps of average tests (only the minimum will be considered) unsigned average_ws_tests_number; // Reps of average tests with steps (only the minimum will be considered) unsigned density_tests_number; // Reps of density tests (only the minimum will be considered) unsigned granularity_tests_number; // Reps of density tests (only the minimum will be considered) unsigned blocksize_tests_number; // Reps of blocksize tests (only the minimum will be considered) std::vector check_datasets; // List of datasets on which check tests will be performed std::vector memory_datasets; // List of datasets on which memory tests will be perform std::vector density_datasets; // List of datasets on which density tests will be performed std::vector granularity_datasets; // List of datasets on which granularity tests will be performed std::vector average_datasets; // Lists of dataset on which average tests will be performed std::vector average_ws_datasets; // Lists of dataset on which average tests with steps will be performed std::vector blocksize_datasets; // Lists of dataset on which blocksize tests will be performed std::vector ccl_algorithms; // Lists of algorithms specified by the user in the config.yaml std::vector ccl_existing_algorithms; // Lists of 'ccl_algorithms' actually existing std::vector ccl_mem_algorithms; // List of algorithms which actually support memory tests std::vector ccl_average_algorithms; // List of algorithms which actually support average tests std::vector ccl_average_ws_algorithms; // List of algorithms which actually support average with steps tests std::vector ccl_blocksize_algorithms; // List of algorithms which actually support block size grid search std::vector user_blocksize_x; // Parameters for blocksize grid search in x dimension, as user specified std::vector user_blocksize_y; // Parameters for blocksize grid search in y dimension, as user specified std::vector user_blocksize_z; // Parameters for blocksize grid search in z dimension, as user specified std::array blocksize_x; // Actual parameters for blocksize grid search in x dimension std::array blocksize_y; // Actual parameters for blocksize grid search in y dimension std::array blocksize_z; // Actual parameters for blocksize grid search in z dimension ::filesystem::path mode_output_path; ModeConfig(std::string _mode, const cv::FileNode& fn); }; struct GlobalConfig { std::string input_txt; // File of images list std::string gnuplot_script_extension; // Gnuplot scripts extension std::string system_script_extension; // System-based scripts extension std::string colors_folder; // Folder which will store colored images std::string middle_folder; // Folder which will store middle results std::string latex_file; // Latex file which will store textual average results std::string latex_memory_file; // Latex file which will store textual memory results std::string latex_charts; // Latex file which will store report latex code for charts std::string memory_file; // File which will store report textual memory results std::string average_folder; // Folder which will store average test results std::string average_ws_folder; // Folder which will store average test with steps results std::string density_folder; // Folder which will store density results std::string granularity_folder; // Folder which will store granularity results std::string memory_folder; // Folder which will store memory results ::filesystem::path glob_output_path; // Path on which results are stored ::filesystem::path input_path; // Path on which input datasets are stored std::string yacclab_os; // Name of the current OS // Verranno eliminati o almeno cambiati bool average_color_labels; // If true, labeled image from average tests will be colored and stored bool density_color_labels; // If true, labeled image from density tests will be colored and stored bool write_n_labels; // If true, the number of components generated by the algorithms will be stored in the output file // da decidere dove e in che forma infilare ::filesystem::path latex_path; // Path on which latex report will be stored GlobalConfig(const cv::FileStorage& fs); }; struct ConfigData { std::vector mode_config_vector; GlobalConfig global_config; ConfigData(const cv::FileStorage& fs); }; #endif // !YACCLAB_CONFIG_DATA_H_ ================================================ FILE: include/file_manager.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_FILE_MANAGER_H_ #define YACCLAB_FILE_MANAGER_H_ #include #include // Class name lowercase because it will be replaced by the c++ filesystem class when it will be completely supported and portable namespace filesystem { class path { public: path() {} path(const std::string& p) : path() { this->path_ = p; NormalizePath(); } path& operator/=(const path& p) { if (p.empty()) { return *this; } if (this == &p) // self-append { throw std::invalid_argument("'path' self append not defined"); /*path rhs(p); if (!detail::is_directory_separator(rhs.path_[0])) m_append_separator_if_needed(); m_pathname += rhs.m_pathname;*/ } else { /*if (!detail::is_directory_separator(*p.m_pathname.begin())) m_append_separator_if_needed(); m_pathname += p.m_pathname;*/ if (p.path_[0] != separator_) { this->path_ += (separator_ + p.path_); } else { this->path_ += p.path_; } } return *this; } path& operator=(const std::string& s) { this->path_ = s; NormalizePath(); return *this; } path& operator=(const path& p) { this->path_ = p.path_; return *this; } std::string string() const { return this->path_; } path parent_path() const { std::size_t found = this->path_.find_last_of(separator_); if (found != std::string::npos) { // Separator found std::string s(this->path_); s = s.substr(0, found); return path(s); } else { return path(""); } } path stem() const { std::size_t found = this->path_.find_last_of(separator_); if (found != std::string::npos) { // Separator found std::string s(this->path_); s = s.substr(found + 1); found = s.find_last_of('.'); if (found != std::string::npos) { s = s.substr(0, found); } return path(s); } else { return path(""); } } private: bool empty() const { return path_.empty(); } void NormalizePath(); std::string path_; static const char separator_; }; inline path operator/(const path& lhs, const path& rhs) { return path(lhs) /= rhs; } bool exists(const path& p); bool exists(const path& p, bool& is_dir); bool exists(const path& p, std::error_code& ec); bool exists(const path& p, std::error_code& ec, bool& is_dir); bool create_directories(const path& p); bool create_directories(const path& p, std::error_code& ec); void copy(const path& from, const path& to); void copy(const path& from, const path& to, std::error_code& ec); }; #endif // !YACCLAB_FILE_MANAGER_H_ ================================================ FILE: include/labeling3D_EPDT_19c.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany #ifndef YACCLAB_LABELING3D_EPDT_19c_H_ #define YACCLAB_LABELING3D_EPDT_19c_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" #include "labeling3D_EPDT_19c_action_def.inc.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_LA r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img_slice11_row11[c + 2] > 0 #define CONDITION_NB c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_OA s > 0 && img_slice11_row00[c] > 0 #define CONDITION_OB c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_PA c < w - 2 && s > 0 && img_slice11_row00[c + 2] > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_RA r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img_slice11_row01[c + 2] > 0 #define CONDITION_TB c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_UA r > 0 && img_slice00_row11[c] > 0 #define CONDITION_UB c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_VA c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 #define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_XA img_slice00_row00[c] > 0 #define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 template class EPDT_3D_19c : public Labeling3D { public: EPDT_3D_19c() {} // void FirstSlice(unsigned int d, unsigned int w, unsigned int h) { // // First slice // //Conditions for the first slice: TODO generate also first slice forest ////Conditions: //#define CONDITION_KH false //#define CONDITION_LG false //#define CONDITION_LH false //#define CONDITION_MG false //#define CONDITION_NF false //#define CONDITION_NH false //#define CONDITION_OE false //#define CONDITION_OF false //#define CONDITION_OG false //#define CONDITION_OH false //#define CONDITION_PE false //#define CONDITION_PG false //#define CONDITION_QF false //#define CONDITION_RE false //#define CONDITION_RF false //#define CONDITION_SE false //#define CONDITION_TD c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 //#define CONDITION_TH c > 0 && r > 0 && s < d - 1 && img_slice01_row11[c - 1] > 0 //#define CONDITION_UC r > 0 && img_slice00_row11[c] > 0 //#define CONDITION_UD c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 //#define CONDITION_UG r > 0 && s < d - 1 && img_slice01_row11[c] > 0 //#define CONDITION_UH c < w - 1 && r > 0 && s < d - 1 && img_slice01_row11[c + 1] > 0 //#define CONDITION_VC c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 //#define CONDITION_VG c < w - 2 && r > 0 && s < d - 1 && img_slice01_row11[c + 2] > 0 //#define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 //#define CONDITION_WD c > 0 && r < h - 1 && img_slice00_row01[c - 1] > 0 //#define CONDITION_WF c > 0 && s < d - 1 && img_slice01_row00[c - 1] > 0 //#define CONDITION_WH c > 0 && r < h - 1 && s < d - 1 && img_slice01_row01[c - 1] > 0 //#define CONDITION_XA img_slice00_row00[c] > 0 //#define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 //#define CONDITION_XC r < h - 1 && img_slice00_row01[c] > 0 //#define CONDITION_XD c < w - 1 && r < h - 1 && img_slice00_row01[c + 1] > 0 //#define CONDITION_XE s < d - 1 && img_slice01_row00[c] > 0 //#define CONDITION_XF c < w - 1 && s < d - 1 && img_slice01_row00[c + 1] > 0 //#define CONDITION_XG r < h - 1 && s < d - 1 && img_slice01_row01[c] > 0 //#define CONDITION_XH c < w - 1 && r < h - 1 && s < d - 1 && img_slice01_row01[c + 1] > 0 // for (unsigned int s = 0; s < 2; s += 2) { // for (unsigned int r = 0; r < h; r += 2) { // // const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // // T, W lower slice (Xe-Xh) // //const unsigned char* const img_slice01_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -2); // const unsigned char* const img_slice01_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -1); // const unsigned char* const img_slice01_row00 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 0); // const unsigned char* const img_slice01_row01 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 1); // // // T, W upper slice (Xa-Xd) // //const unsigned char* const img_slice00_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -2); // const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // const unsigned char* const img_slice00_row01 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * 1); // // // K, N, Q lower slice // //const unsigned char* const img_slice11_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // const unsigned char* const img_slice11_row02 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //const unsigned char* const img_slice11_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // // //// K, N, Q upper slice // //const unsigned char* const img_slice12_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // //const unsigned char* const img_slice12_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // //const unsigned char* const img_slice12_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // //const unsigned char* const img_slice12_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // //const unsigned char* const img_slice12_row02 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //const unsigned char* const img_slice12_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // // // Row pointers for the output image (current slice) // // // T, W lower slice (Xe-Xh) // //unsigned* const img_labels_slice01_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -2); // //unsigned* const img_labels_slice01_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -1); // //unsigned* const img_labels_slice01_row00 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 0); // //unsigned* const img_labels_slice01_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 1); // // unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // // T, W upper slice (Xa-Xd) // unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[1] * -2); // //unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[1] * -1); // //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[1] * 1); // // // K, N, Q lower slice // //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // //unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // //unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // //unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //unsigned* const img_labels_slice11_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // // //// K, N, Q upper slice // unsigned* const img_labels_slice12_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // //unsigned* const img_labels_slice12_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // unsigned* const img_labels_slice12_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // //unsigned* const img_labels_slice12_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // unsigned* const img_labels_slice12_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //unsigned* const img_labels_slice12_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // for (unsigned int c = 0; c < w; c += 2) { //#include "labeling3D_BBDT++3D_justequalsubtrees_tree.inc.h" // // } // } // } // Rows cycle end // //#undef CONDITION_KH //#undef CONDITION_LG //#undef CONDITION_LH //#undef CONDITION_MG //#undef CONDITION_NF //#undef CONDITION_NH //#undef CONDITION_OE //#undef CONDITION_OF //#undef CONDITION_OG //#undef CONDITION_OH //#undef CONDITION_PE //#undef CONDITION_PG //#undef CONDITION_QF //#undef CONDITION_RE //#undef CONDITION_RF //#undef CONDITION_SE //#undef CONDITION_TD //#undef CONDITION_TH //#undef CONDITION_UC //#undef CONDITION_UD //#undef CONDITION_UG //#undef CONDITION_UH //#undef CONDITION_VC //#undef CONDITION_VG //#undef CONDITION_WB //#undef CONDITION_WD //#undef CONDITION_WF //#undef CONDITION_WH //#undef CONDITION_XA //#undef CONDITION_XB //#undef CONDITION_XC //#undef CONDITION_XD //#undef CONDITION_XE //#undef CONDITION_XF //#undef CONDITION_XG //#undef CONDITION_XH // // } void PerformLabeling() { img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask 3D // +-+-+-+ // |a|b|c| // +-+-+-+ // |d|e|f| // +-+-+-+ // |g|h|i| // +-+-+-+ // // +-+-+-+ // |j|k|l| // +-+-+-+ // |m|x| // +-+-+ // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; // First slice //FirstSlice(d, w, h); for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // T, W slice //const unsigned char* const img_slice00_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -2); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // img_slice00_row00 defined above //const unsigned char* const img_slice00_row01 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * 1); // K, N, Q slice //const unsigned char* const img_slice11_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); //const unsigned char* const img_slice11_row02 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); //const unsigned char* const img_slice11_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // T, W slice //unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // img_labels_slice00_row00 defined above //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * 1); // K, N, Q slice //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); //unsigned* const img_labels_slice11_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 3); // V -- old -- V //// Row pointers for the output image (current slice) //unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); //unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * 1); //// Row pointers for the output image (previous slice) //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); //unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); //unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_EPDT_19c_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::Flatten(); //unsigned* const img_labels_slice12_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); //char * img_labels_row = reinterpret_cast(img_labels_.data); //unsigned char * img_row = reinterpret_cast(img_.data); //const unsigned char* const img_row = img_.ptr(0); //unsigned* const img_labels_row = img_labels_.ptr(0); // const unsigned char* const img_row = img_.ptr(); // int* const img_labels_row = img_labels_.ptr(); /* int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned *)(((char *)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; */ // for (unsigned s = 0; s < d; s += 1) { // for (unsigned r = 0; r < h; r += 2) { // for (unsigned c = 0; c < w; c += 2) { // //int iLabel = *reinterpret_cast(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)); // int iLabel = img_labels_row[c + r * w + s * h * w]; // if (iLabel > 0) { // iLabel = LabelsSolver::GetLabel(iLabel); // // if (img_row[c + r * w + s * h * w] > 0) // img_labels_row[c + r * w + s * h * w] = iLabel; // else // img_labels_row[c + r * w + s * h * w] = 0; // // if (c < w - 1) { // if (img_row[(c + 1) + r * w + s * h * w] > 0) // img_labels_row[(c + 1) + r * w + s * h * w] = iLabel; // else // img_labels_row[(c + 1) + r * w + s * h * w] = 0; // } // // if (r < h - 1) { // if (img_row[c + (r + 1) * w + s * h * w] > 0) // img_labels_row[c + (r + 1) * w + s * h * w] = iLabel; // else // img_labels_row[c + (r + 1) * w + s * h * w] = 0; // } // // if (c < w - 1 && r < h - 1) { // if (img_row[(c + 1) + (r + 1) * w + s * h * w] > 0) // img_labels_row[(c + 1) + (r + 1) * w + s * h * w] = iLabel; // else // img_labels_row[(c + 1) + (r + 1) * w + s * h * w] = 0; // } // // // std::cout << "\nimg step p0: " << img_.step.p[0] << "img step p1: " << img_.step.p[1] << "img step p2: " << img_.step.p[2]; // // std::cout << "\nd: " << d << " h: " << h << " w: " << w; ///* // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r) + (img_.step.p[2] * c)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = iLabel; // else // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = 0; // // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r) + (img_.step.p[2] * c + 1)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = iLabel; // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = iLabel; // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c + 1)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = iLabel; //*/ // // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r) + (img_.step.p[2] * c)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = iLabel; // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r) + (img_.step.p[2] * c + 1)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = iLabel; // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = iLabel; // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c + 1)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = iLabel; // } // else { // //*(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = 0; // if (c < w - 1) // img_labels_row[(c + 1) + r * w + s * h * w] = 0; // if (r < h - 1) // img_labels_row[c + (r + 1) * w + s * h * w] = 0; // if (c < w - 1 && r < h - 1) // img_labels_row[(c + 1) + (r + 1) * w + s * h * w] = 0; // /* // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = 0; // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = 0; // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = 0; // */ // // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = 0; // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = 0; // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = 0; // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = 0; // } // } // } // } // NEW VERSION BELOW, OLD ABOVE int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); unsigned* const img_labels_row = img_labels_.ptr(s, r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { { #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB #include "labeling3D_EPDT_2829_action_undef.inc.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img(s - 1, r - 1, c - 1) > 0 #define CONDITION_LA r > 0 && s > 0 && img(s - 1, r - 1, c) > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img(s - 1, r - 1, c + 1) > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img(s - 1, r - 1, c + 2) > 0 #define CONDITION_NB c > 0 && s > 0 && img(s - 1, r, c - 1) > 0 #define CONDITION_OA s > 0 && img(s - 1, r, c) > 0 #define CONDITION_OB c < w - 1 && s > 0 && img(s - 1, r, c + 1) > 0 #define CONDITION_PA c < w - 2 && s > 0 && img(s - 1, r, c + 2) > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img(s - 1, r + 1, c - 1) > 0 #define CONDITION_RA r < h - 1 && s > 0 && img(s - 1, r + 1, c) > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 1) > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 2) > 0 #define CONDITION_TB c > 0 && r > 0 && img(s, r - 1, c - 1) > 0 #define CONDITION_UA r > 0 && img(s, r - 1, c) > 0 #define CONDITION_UB c < w - 1 && r > 0 && img(s, r - 1, c + 1) > 0 #define CONDITION_VA c < w - 2 && r > 0 && img(s, r - 1, c + 2) > 0 #define CONDITION_WB c > 0 && img(s, r, c - 1) > 0 #define CONDITION_XA img(s, r, c) > 0 #define CONDITION_XB c < w - 1 && img(s, r, c + 1) > 0 #include "labeling3D_EPDT_19c_action_def_mem.inc.h" } LabelsSolver::MemAlloc(UPPER_BOUND_26_CONNECTIVITY); // Equivalence solver MemVol img(img_); MemVol img_labels(img_.size.p); LabelsSolver::MemSetup(); // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_EPDT_19c_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::MemFlatten(); // NEW VERSION BELOW, OLD IN labeling3D_EPDT_19c.h int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; if (img(s, r, c + 1) > 0) img_labels(s, r, c + 1) = iLabel; else img_labels(s, r, c + 1) = 0; } else { img_labels(s, r, c) = 0; img_labels(s, r, c + 1) = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { // Useless controls iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; } else { img_labels(s, r, c) = 0; } } } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (unsigned long)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (unsigned long)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (unsigned long)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); // Memory deallocation of the labels solver { #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB #include "labeling3D_EPDT_2829_action_undef.inc.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_LA r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img_slice11_row11[c + 2] > 0 #define CONDITION_NB c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_OA s > 0 && img_slice11_row00[c] > 0 #define CONDITION_OB c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_PA c < w - 2 && s > 0 && img_slice11_row00[c + 2] > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_RA r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img_slice11_row01[c + 2] > 0 #define CONDITION_TB c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_UA r > 0 && img_slice00_row11[c] > 0 #define CONDITION_UB c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_VA c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 #define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_XA img_slice00_row00[c] > 0 #define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 //Actions: #include "labeling3D_EPDT_19c_action_def.inc.h" } } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // T, W slice const unsigned char* const img_slice00_row11 = (unsigned char*)(((char*)img_slice00_row00) + img_.step.p[1] * -1); // K, N, Q slice const unsigned char* const img_slice11_row11 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // T, W slice unsigned* const img_labels_slice00_row11 = (unsigned*)(((char*)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // K, N, Q slice unsigned* const img_labels_slice11_row11 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_EPDT_19c_tree.inc.h" } } // Rows cycle end } // Planes cycle end } void SecondScan() { // Second scan LabelsSolver::Flatten(); unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; // const unsigned char* const img_row = img_.ptr(); // int* const img_labels_row = img_labels_.ptr(); // NEW VERSION BELOW, OLD COMMENTED IN PerformLabeling int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); unsigned* const img_labels_row = img_labels_.ptr(s, r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } } }; #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB #include "labeling3D_EPDT_2829_action_undef.inc.h" #endif // YACCLAB_LABELING3D_EPDT_19c_H_ ================================================ FILE: include/labeling3D_EPDT_19c_211b.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany #ifndef YACCLAB_LABELING3D_BBDT_19c_H_ #define YACCLAB_LABELING3D_BBDT_19c_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" #include "labeling3D_BBDT_19c_action_def.inc.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_LA r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img_slice11_row11[c + 2] > 0 #define CONDITION_NB c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_OA s > 0 && img_slice11_row00[c] > 0 #define CONDITION_OB c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_PA c < w - 2 && s > 0 && img_slice11_row00[c + 2] > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_RA r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img_slice11_row01[c + 2] > 0 #define CONDITION_TB c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_UA r > 0 && img_slice00_row11[c] > 0 #define CONDITION_UB c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_VA c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 #define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_XA img_slice00_row00[c] > 0 #define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 template class BBDT_3D_19c : public Labeling3D public: BBDT_3D_19c() {} // void FirstSlice(unsigned int d, unsigned int w, unsigned int h) { // // First slice // //Conditions for the first slice: TODO generate also first slice forest ////Conditions: //#define CONDITION_KH false //#define CONDITION_LG false //#define CONDITION_LH false //#define CONDITION_MG false //#define CONDITION_NF false //#define CONDITION_NH false //#define CONDITION_OE false //#define CONDITION_OF false //#define CONDITION_OG false //#define CONDITION_OH false //#define CONDITION_PE false //#define CONDITION_PG false //#define CONDITION_QF false //#define CONDITION_RE false //#define CONDITION_RF false //#define CONDITION_SE false //#define CONDITION_TD c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 //#define CONDITION_TH c > 0 && r > 0 && s < d - 1 && img_slice01_row11[c - 1] > 0 //#define CONDITION_UC r > 0 && img_slice00_row11[c] > 0 //#define CONDITION_UD c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 //#define CONDITION_UG r > 0 && s < d - 1 && img_slice01_row11[c] > 0 //#define CONDITION_UH c < w - 1 && r > 0 && s < d - 1 && img_slice01_row11[c + 1] > 0 //#define CONDITION_VC c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 //#define CONDITION_VG c < w - 2 && r > 0 && s < d - 1 && img_slice01_row11[c + 2] > 0 //#define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 //#define CONDITION_WD c > 0 && r < h - 1 && img_slice00_row01[c - 1] > 0 //#define CONDITION_WF c > 0 && s < d - 1 && img_slice01_row00[c - 1] > 0 //#define CONDITION_WH c > 0 && r < h - 1 && s < d - 1 && img_slice01_row01[c - 1] > 0 //#define CONDITION_XA img_slice00_row00[c] > 0 //#define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 //#define CONDITION_XC r < h - 1 && img_slice00_row01[c] > 0 //#define CONDITION_XD c < w - 1 && r < h - 1 && img_slice00_row01[c + 1] > 0 //#define CONDITION_XE s < d - 1 && img_slice01_row00[c] > 0 //#define CONDITION_XF c < w - 1 && s < d - 1 && img_slice01_row00[c + 1] > 0 //#define CONDITION_XG r < h - 1 && s < d - 1 && img_slice01_row01[c] > 0 //#define CONDITION_XH c < w - 1 && r < h - 1 && s < d - 1 && img_slice01_row01[c + 1] > 0 // for (unsigned int s = 0; s < 2; s += 2) { // for (unsigned int r = 0; r < h; r += 2) { // // const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // // T, W lower slice (Xe-Xh) // //const unsigned char* const img_slice01_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -2); // const unsigned char* const img_slice01_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -1); // const unsigned char* const img_slice01_row00 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 0); // const unsigned char* const img_slice01_row01 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 1); // // // T, W upper slice (Xa-Xd) // //const unsigned char* const img_slice00_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -2); // const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // const unsigned char* const img_slice00_row01 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * 1); // // // K, N, Q lower slice // //const unsigned char* const img_slice11_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // const unsigned char* const img_slice11_row02 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //const unsigned char* const img_slice11_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // // //// K, N, Q upper slice // //const unsigned char* const img_slice12_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // //const unsigned char* const img_slice12_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // //const unsigned char* const img_slice12_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // //const unsigned char* const img_slice12_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // //const unsigned char* const img_slice12_row02 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //const unsigned char* const img_slice12_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // // // Row pointers for the output image (current slice) // // // T, W lower slice (Xe-Xh) // //unsigned* const img_labels_slice01_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -2); // //unsigned* const img_labels_slice01_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -1); // //unsigned* const img_labels_slice01_row00 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 0); // //unsigned* const img_labels_slice01_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 1); // // unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // // T, W upper slice (Xa-Xd) // unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[1] * -2); // //unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[1] * -1); // //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[1] * 1); // // // K, N, Q lower slice // //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // //unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // //unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // //unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //unsigned* const img_labels_slice11_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // // //// K, N, Q upper slice // unsigned* const img_labels_slice12_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // //unsigned* const img_labels_slice12_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // unsigned* const img_labels_slice12_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // //unsigned* const img_labels_slice12_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // unsigned* const img_labels_slice12_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //unsigned* const img_labels_slice12_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // for (unsigned int c = 0; c < w; c += 2) { //#include "labeling3D_BBDT++3D_justequalsubtrees_tree.inc.h" // // } // } // } // Rows cycle end // //#undef CONDITION_KH //#undef CONDITION_LG //#undef CONDITION_LH //#undef CONDITION_MG //#undef CONDITION_NF //#undef CONDITION_NH //#undef CONDITION_OE //#undef CONDITION_OF //#undef CONDITION_OG //#undef CONDITION_OH //#undef CONDITION_PE //#undef CONDITION_PG //#undef CONDITION_QF //#undef CONDITION_RE //#undef CONDITION_RF //#undef CONDITION_SE //#undef CONDITION_TD //#undef CONDITION_TH //#undef CONDITION_UC //#undef CONDITION_UD //#undef CONDITION_UG //#undef CONDITION_UH //#undef CONDITION_VC //#undef CONDITION_VG //#undef CONDITION_WB //#undef CONDITION_WD //#undef CONDITION_WF //#undef CONDITION_WH //#undef CONDITION_XA //#undef CONDITION_XB //#undef CONDITION_XC //#undef CONDITION_XD //#undef CONDITION_XE //#undef CONDITION_XF //#undef CONDITION_XG //#undef CONDITION_XH // // } void PerformLabeling() { img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask 3D // +-+-+-+ // |a|b|c| // +-+-+-+ // |d|e|f| // +-+-+-+ // |g|h|i| // +-+-+-+ // // +-+-+-+ // |j|k|l| // +-+-+-+ // |m|x| // +-+-+ // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; // First slice //FirstSlice(d, w, h); for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // T, W slice //const unsigned char* const img_slice00_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -2); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // img_slice00_row00 defined above //const unsigned char* const img_slice00_row01 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * 1); // K, N, Q slice //const unsigned char* const img_slice11_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); //const unsigned char* const img_slice11_row02 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); //const unsigned char* const img_slice11_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // T, W slice //unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // img_labels_slice00_row00 defined above //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * 1); // K, N, Q slice //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); //unsigned* const img_labels_slice11_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 3); // V -- old -- V //// Row pointers for the output image (current slice) //unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); //unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * 1); //// Row pointers for the output image (previous slice) //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); //unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); //unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_BBDT_19c_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::Flatten(); //unsigned* const img_labels_slice12_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); //char * img_labels_row = reinterpret_cast(img_labels_.data); //unsigned char * img_row = reinterpret_cast(img_.data); //const unsigned char* const img_row = img_.ptr(0); //unsigned* const img_labels_row = img_labels_.ptr(0); // const unsigned char* const img_row = img_.ptr(); // int* const img_labels_row = img_labels_.ptr(); /* int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned *)(((char *)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; */ // for (unsigned s = 0; s < d; s += 1) { // for (unsigned r = 0; r < h; r += 2) { // for (unsigned c = 0; c < w; c += 2) { // //int iLabel = *reinterpret_cast(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)); // int iLabel = img_labels_row[c + r * w + s * h * w]; // if (iLabel > 0) { // iLabel = LabelsSolver::GetLabel(iLabel); // // if (img_row[c + r * w + s * h * w] > 0) // img_labels_row[c + r * w + s * h * w] = iLabel; // else // img_labels_row[c + r * w + s * h * w] = 0; // // if (c < w - 1) { // if (img_row[(c + 1) + r * w + s * h * w] > 0) // img_labels_row[(c + 1) + r * w + s * h * w] = iLabel; // else // img_labels_row[(c + 1) + r * w + s * h * w] = 0; // } // // if (r < h - 1) { // if (img_row[c + (r + 1) * w + s * h * w] > 0) // img_labels_row[c + (r + 1) * w + s * h * w] = iLabel; // else // img_labels_row[c + (r + 1) * w + s * h * w] = 0; // } // // if (c < w - 1 && r < h - 1) { // if (img_row[(c + 1) + (r + 1) * w + s * h * w] > 0) // img_labels_row[(c + 1) + (r + 1) * w + s * h * w] = iLabel; // else // img_labels_row[(c + 1) + (r + 1) * w + s * h * w] = 0; // } // // // std::cout << "\nimg step p0: " << img_.step.p[0] << "img step p1: " << img_.step.p[1] << "img step p2: " << img_.step.p[2]; // // std::cout << "\nd: " << d << " h: " << h << " w: " << w; ///* // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r) + (img_.step.p[2] * c)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = iLabel; // else // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = 0; // // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r) + (img_.step.p[2] * c + 1)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = iLabel; // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = iLabel; // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c + 1)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = iLabel; //*/ // // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r) + (img_.step.p[2] * c)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = iLabel; // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r) + (img_.step.p[2] * c + 1)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = iLabel; // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = iLabel; // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c + 1)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = iLabel; // } // else { // //*(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = 0; // if (c < w - 1) // img_labels_row[(c + 1) + r * w + s * h * w] = 0; // if (r < h - 1) // img_labels_row[c + (r + 1) * w + s * h * w] = 0; // if (c < w - 1 && r < h - 1) // img_labels_row[(c + 1) + (r + 1) * w + s * h * w] = 0; // /* // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = 0; // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = 0; // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = 0; // */ // // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = 0; // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = 0; // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = 0; // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = 0; // } // } // } // } // NEW VERSION BELOW, OLD ABOVE int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); unsigned* const img_labels_row = img_labels_.ptr(s, r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { { #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB #include "labeling3D_BBDT_2829_action_undef.inc.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img(s - 1, r - 1, c - 1) > 0 #define CONDITION_LA r > 0 && s > 0 && img(s - 1, r - 1, c) > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img(s - 1, r - 1, c + 1) > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img(s - 1, r - 1, c + 2) > 0 #define CONDITION_NB c > 0 && s > 0 && img(s - 1, r, c - 1) > 0 #define CONDITION_OA s > 0 && img(s - 1, r, c) > 0 #define CONDITION_OB c < w - 1 && s > 0 && img(s - 1, r, c + 1) > 0 #define CONDITION_PA c < w - 2 && s > 0 && img(s - 1, r, c + 2) > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img(s - 1, r + 1, c - 1) > 0 #define CONDITION_RA r < h - 1 && s > 0 && img(s - 1, r + 1, c) > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 1) > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 2) > 0 #define CONDITION_TB c > 0 && r > 0 && img(s, r - 1, c - 1) > 0 #define CONDITION_UA r > 0 && img(s, r - 1, c) > 0 #define CONDITION_UB c < w - 1 && r > 0 && img(s, r - 1, c + 1) > 0 #define CONDITION_VA c < w - 2 && r > 0 && img(s, r - 1, c + 2) > 0 #define CONDITION_WB c > 0 && img(s, r, c - 1) > 0 #define CONDITION_XA img(s, r, c) > 0 #define CONDITION_XB c < w - 1 && img(s, r, c + 1) > 0 #include "labeling3D_BBDT_19c_action_def_mem.inc.h" } LabelsSolver::MemAlloc(UPPER_BOUND_26_CONNECTIVITY); // Equivalence solver MemVol img(img_); MemVol img_labels(img_.size.p); LabelsSolver::MemSetup(); // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_BBDT_19c_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::MemFlatten(); // NEW VERSION BELOW, OLD IN labeling3D_BBDT_19c.h int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; if (img(s, r, c + 1) > 0) img_labels(s, r, c + 1) = iLabel; else img_labels(s, r, c + 1) = 0; } else { img_labels(s, r, c) = 0; img_labels(s, r, c + 1) = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { // Useless controls iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; } else { img_labels(s, r, c) = 0; } } } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (unsigned long)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (unsigned long)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (unsigned long)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); // Memory deallocation of the labels solver { #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB #include "labeling3D_BBDT_2829_action_undef.inc.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_LA r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img_slice11_row11[c + 2] > 0 #define CONDITION_NB c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_OA s > 0 && img_slice11_row00[c] > 0 #define CONDITION_OB c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_PA c < w - 2 && s > 0 && img_slice11_row00[c + 2] > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_RA r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img_slice11_row01[c + 2] > 0 #define CONDITION_TB c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_UA r > 0 && img_slice00_row11[c] > 0 #define CONDITION_UB c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_VA c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 #define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_XA img_slice00_row00[c] > 0 #define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 //Actions: #include "labeling3D_BBDT_19c_action_def.inc.h" } } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // T, W slice const unsigned char* const img_slice00_row11 = (unsigned char*)(((char*)img_slice00_row00) + img_.step.p[1] * -1); // K, N, Q slice const unsigned char* const img_slice11_row11 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // T, W slice unsigned* const img_labels_slice00_row11 = (unsigned*)(((char*)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // K, N, Q slice unsigned* const img_labels_slice11_row11 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_BBDT_19c_tree.inc.h" } } // Rows cycle end } // Planes cycle end } void SecondScan() { // Second scan LabelsSolver::Flatten(); unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; // const unsigned char* const img_row = img_.ptr(); // int* const img_labels_row = img_labels_.ptr(); // NEW VERSION BELOW, OLD COMMENTED IN PerformLabeling int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); unsigned* const img_labels_row = img_labels_.ptr(s, r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } } }; #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB #include "labeling3D_BBDT_2829_action_undef.inc.h" #endif // YACCLAB_LABELING3D_BBDT_19c_H_ ================================================ FILE: include/labeling3D_EPDT_19c_action_def.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany // Action 0: nothing #define ACTION_0 img_labels_slice00_row00[c] = 0;continue; // Action 1: x<-newlabel #define ACTION_1 img_labels_slice00_row00[c] = LabelsSolver::NewLabel();continue; // Action 2: x<-K #define ACTION_2 img_labels_slice00_row00[c] = img_labels_slice11_row11[c - 2];continue; // Action 3: x<-L #define ACTION_3 img_labels_slice00_row00[c] = img_labels_slice11_row11[c];continue; // Action 4: x<-M #define ACTION_4 img_labels_slice00_row00[c] = img_labels_slice11_row11[c + 2];continue; // Action 5: x<-N #define ACTION_5 img_labels_slice00_row00[c] = img_labels_slice11_row00[c - 2];continue; // Action 6: x<-O #define ACTION_6 img_labels_slice00_row00[c] = img_labels_slice11_row00[c];continue; // Action 7: x<-P #define ACTION_7 img_labels_slice00_row00[c] = img_labels_slice11_row00[c + 2];continue; // Action 8: x<-Q #define ACTION_8 img_labels_slice00_row00[c] = img_labels_slice11_row01[c - 2];continue; // Action 9: x<-R #define ACTION_9 img_labels_slice00_row00[c] = img_labels_slice11_row01[c];continue; // Action 10: x<-S #define ACTION_10 img_labels_slice00_row00[c] = img_labels_slice11_row01[c + 2];continue; // Action 11: x<-T #define ACTION_11 img_labels_slice00_row00[c] = img_labels_slice00_row11[c - 2];continue; // Action 12: x<-U #define ACTION_12 img_labels_slice00_row00[c] = img_labels_slice00_row11[c];continue; // Action 13: x<-V #define ACTION_13 img_labels_slice00_row00[c] = img_labels_slice00_row11[c + 2];continue; // Action 14: x<-W #define ACTION_14 img_labels_slice00_row00[c] = img_labels_slice00_row00[c - 2];continue; // Action 15: x<-K+L #define ACTION_15 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]);continue; // Action 16: x<-K+M #define ACTION_16 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]);continue; // Action 17: x<-K+N #define ACTION_17 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]);continue; // Action 18: x<-K+O #define ACTION_18 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]);continue; // Action 19: x<-K+P #define ACTION_19 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]);continue; // Action 20: x<-K+Q #define ACTION_20 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]);continue; // Action 21: x<-K+R #define ACTION_21 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]);continue; // Action 22: x<-K+S #define ACTION_22 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]);continue; // Action 23: x<-K+T #define ACTION_23 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c - 2]);continue; // Action 24: x<-K+U #define ACTION_24 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c - 2]);continue; // Action 25: x<-K+V #define ACTION_25 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c - 2]);continue; // Action 26: x<-K+W #define ACTION_26 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c - 2]);continue; // Action 27: x<-L+M #define ACTION_27 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]);continue; // Action 28: x<-L+N #define ACTION_28 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]);continue; // Action 29: x<-L+O #define ACTION_29 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]);continue; // Action 30: x<-L+P #define ACTION_30 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]);continue; // Action 31: x<-L+Q #define ACTION_31 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]);continue; // Action 32: x<-L+R #define ACTION_32 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]);continue; // Action 33: x<-L+S #define ACTION_33 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]);continue; // Action 34: x<-L+T #define ACTION_34 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c]);continue; // Action 35: x<-L+U #define ACTION_35 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c]);continue; // Action 36: x<-L+V #define ACTION_36 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c]);continue; // Action 37: x<-L+W #define ACTION_37 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c]);continue; // Action 38: x<-M+N #define ACTION_38 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]);continue; // Action 39: x<-M+O #define ACTION_39 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]);continue; // Action 40: x<-M+P #define ACTION_40 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]);continue; // Action 41: x<-M+Q #define ACTION_41 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]);continue; // Action 42: x<-M+R #define ACTION_42 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]);continue; // Action 43: x<-M+S #define ACTION_43 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]);continue; // Action 44: x<-M+T #define ACTION_44 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c + 2]);continue; // Action 45: x<-M+U #define ACTION_45 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c + 2]);continue; // Action 46: x<-M+V #define ACTION_46 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c + 2]);continue; // Action 47: x<-M+W #define ACTION_47 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c + 2]);continue; // Action 48: x<-N+O #define ACTION_48 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]);continue; // Action 49: x<-N+P #define ACTION_49 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]);continue; // Action 50: x<-N+Q #define ACTION_50 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]);continue; // Action 51: x<-N+R #define ACTION_51 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]);continue; // Action 52: x<-N+S #define ACTION_52 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]);continue; // Action 53: x<-N+T #define ACTION_53 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]);continue; // Action 54: x<-N+U #define ACTION_54 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]);continue; // Action 55: x<-N+V #define ACTION_55 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]);continue; // Action 56: x<-N+W #define ACTION_56 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]);continue; // Action 57: x<-O+P #define ACTION_57 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]);continue; // Action 58: x<-O+Q #define ACTION_58 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]);continue; // Action 59: x<-O+R #define ACTION_59 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]);continue; // Action 60: x<-O+S #define ACTION_60 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]);continue; // Action 61: x<-O+T #define ACTION_61 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]);continue; // Action 62: x<-O+U #define ACTION_62 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]);continue; // Action 63: x<-O+V #define ACTION_63 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]);continue; // Action 64: x<-O+W #define ACTION_64 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]);continue; // Action 65: x<-P+Q #define ACTION_65 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]);continue; // Action 66: x<-P+R #define ACTION_66 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]);continue; // Action 67: x<-P+S #define ACTION_67 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]);continue; // Action 68: x<-P+T #define ACTION_68 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]);continue; // Action 69: x<-P+U #define ACTION_69 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]);continue; // Action 70: x<-P+V #define ACTION_70 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]);continue; // Action 71: x<-P+W #define ACTION_71 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]);continue; // Action 72: x<-Q+R #define ACTION_72 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]);continue; // Action 73: x<-Q+S #define ACTION_73 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]);continue; // Action 74: x<-Q+T #define ACTION_74 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]);continue; // Action 75: x<-Q+U #define ACTION_75 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]);continue; // Action 76: x<-Q+V #define ACTION_76 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]);continue; // Action 77: x<-Q+W #define ACTION_77 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]);continue; // Action 78: x<-R+S #define ACTION_78 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]);continue; // Action 79: x<-R+T #define ACTION_79 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]);continue; // Action 80: x<-R+U #define ACTION_80 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]);continue; // Action 81: x<-R+V #define ACTION_81 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]);continue; // Action 82: x<-R+W #define ACTION_82 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]);continue; // Action 83: x<-S+T #define ACTION_83 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]);continue; // Action 84: x<-S+U #define ACTION_84 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]);continue; // Action 85: x<-S+V #define ACTION_85 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]);continue; // Action 86: x<-S+W #define ACTION_86 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]);continue; // Action 87: x<-T+U #define ACTION_87 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]);continue; // Action 88: x<-T+V #define ACTION_88 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]);continue; // Action 89: x<-T+W #define ACTION_89 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]);continue; // Action 90: x<-U+V #define ACTION_90 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]);continue; // Action 91: x<-U+W #define ACTION_91 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]);continue; // Action 92: x<-V+W #define ACTION_92 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]);continue; // Action 93: x<-K+L+N #define ACTION_93 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 94: x<-K+L+O #define ACTION_94 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 95: x<-K+L+P #define ACTION_95 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 96: x<-K+L+Q #define ACTION_96 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 97: x<-K+L+R #define ACTION_97 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 98: x<-K+L+S #define ACTION_98 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 99: x<-K+L+T #define ACTION_99 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 100: x<-K+L+U #define ACTION_100 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 101: x<-K+L+V #define ACTION_101 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 102: x<-K+L+W #define ACTION_102 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 103: x<-K+M+N #define ACTION_103 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 104: x<-K+M+O #define ACTION_104 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 105: x<-K+M+P #define ACTION_105 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 106: x<-K+M+Q #define ACTION_106 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 107: x<-K+M+R #define ACTION_107 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 108: x<-K+M+S #define ACTION_108 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 109: x<-K+M+T #define ACTION_109 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 110: x<-K+M+U #define ACTION_110 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 111: x<-K+M+V #define ACTION_111 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 112: x<-K+M+W #define ACTION_112 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 113: x<-K+N+O #define ACTION_113 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 114: x<-K+N+P #define ACTION_114 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 115: x<-K+N+R #define ACTION_115 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 116: x<-K+N+S #define ACTION_116 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 117: x<-K+N+T #define ACTION_117 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 118: x<-K+N+U #define ACTION_118 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 119: x<-K+N+V #define ACTION_119 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 120: x<-K+N+W #define ACTION_120 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 121: x<-K+O+P #define ACTION_121 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 122: x<-K+O+Q #define ACTION_122 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 123: x<-K+O+R #define ACTION_123 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 124: x<-K+O+S #define ACTION_124 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 125: x<-K+O+T #define ACTION_125 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 126: x<-K+O+U #define ACTION_126 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 127: x<-K+O+V #define ACTION_127 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 128: x<-K+O+W #define ACTION_128 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 129: x<-K+P+Q #define ACTION_129 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 130: x<-K+P+R #define ACTION_130 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 131: x<-K+P+S #define ACTION_131 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 132: x<-K+P+T #define ACTION_132 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 133: x<-K+P+U #define ACTION_133 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 134: x<-K+P+V #define ACTION_134 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 135: x<-K+P+W #define ACTION_135 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 136: x<-K+Q+R #define ACTION_136 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 137: x<-K+Q+S #define ACTION_137 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 138: x<-K+Q+T #define ACTION_138 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 139: x<-K+Q+U #define ACTION_139 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 140: x<-K+Q+V #define ACTION_140 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 141: x<-K+Q+W #define ACTION_141 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 142: x<-K+R+S #define ACTION_142 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]);continue; // Action 143: x<-K+R+T #define ACTION_143 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]);continue; // Action 144: x<-K+R+U #define ACTION_144 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]);continue; // Action 145: x<-K+R+V #define ACTION_145 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]);continue; // Action 146: x<-K+R+W #define ACTION_146 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]);continue; // Action 147: x<-K+S+T #define ACTION_147 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 148: x<-K+S+U #define ACTION_148 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 149: x<-K+S+V #define ACTION_149 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 150: x<-K+S+W #define ACTION_150 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 151: x<-K+T+U #define ACTION_151 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 152: x<-K+T+V #define ACTION_152 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 153: x<-K+T+W #define ACTION_153 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 154: x<-K+U+V #define ACTION_154 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 155: x<-K+U+W #define ACTION_155 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 156: x<-K+V+W #define ACTION_156 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 157: x<-L+M+N #define ACTION_157 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 158: x<-L+M+O #define ACTION_158 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 159: x<-L+M+P #define ACTION_159 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 160: x<-L+M+Q #define ACTION_160 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 161: x<-L+M+R #define ACTION_161 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 162: x<-L+M+S #define ACTION_162 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 163: x<-L+M+T #define ACTION_163 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 164: x<-L+M+U #define ACTION_164 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 165: x<-L+M+V #define ACTION_165 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 166: x<-L+M+W #define ACTION_166 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 167: x<-L+N+O #define ACTION_167 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 168: x<-L+N+P #define ACTION_168 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 169: x<-L+N+Q #define ACTION_169 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 170: x<-L+N+R #define ACTION_170 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 171: x<-L+N+S #define ACTION_171 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 172: x<-L+N+T #define ACTION_172 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 173: x<-L+N+U #define ACTION_173 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 174: x<-L+N+V #define ACTION_174 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 175: x<-L+N+W #define ACTION_175 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 176: x<-L+O+P #define ACTION_176 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 177: x<-L+O+Q #define ACTION_177 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 178: x<-L+O+S #define ACTION_178 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 179: x<-L+O+T #define ACTION_179 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 180: x<-L+O+U #define ACTION_180 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 181: x<-L+O+V #define ACTION_181 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 182: x<-L+O+W #define ACTION_182 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 183: x<-L+P+Q #define ACTION_183 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 184: x<-L+P+R #define ACTION_184 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 185: x<-L+P+S #define ACTION_185 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 186: x<-L+P+T #define ACTION_186 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 187: x<-L+P+U #define ACTION_187 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 188: x<-L+P+V #define ACTION_188 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 189: x<-L+P+W #define ACTION_189 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 190: x<-L+Q+R #define ACTION_190 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 191: x<-L+Q+S #define ACTION_191 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 192: x<-L+Q+T #define ACTION_192 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 193: x<-L+Q+U #define ACTION_193 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 194: x<-L+Q+V #define ACTION_194 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 195: x<-L+Q+W #define ACTION_195 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 196: x<-L+R+S #define ACTION_196 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]);continue; // Action 197: x<-L+R+T #define ACTION_197 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]);continue; // Action 198: x<-L+R+U #define ACTION_198 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]);continue; // Action 199: x<-L+R+V #define ACTION_199 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]);continue; // Action 200: x<-L+R+W #define ACTION_200 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]);continue; // Action 201: x<-L+S+T #define ACTION_201 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c]);continue; // Action 202: x<-L+S+U #define ACTION_202 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c]);continue; // Action 203: x<-L+S+V #define ACTION_203 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c]);continue; // Action 204: x<-L+S+W #define ACTION_204 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c]);continue; // Action 205: x<-L+T+U #define ACTION_205 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c]);continue; // Action 206: x<-L+T+V #define ACTION_206 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c]);continue; // Action 207: x<-L+T+W #define ACTION_207 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c]);continue; // Action 208: x<-L+U+V #define ACTION_208 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c]);continue; // Action 209: x<-L+U+W #define ACTION_209 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c]);continue; // Action 210: x<-L+V+W #define ACTION_210 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 211: x<-M+N+O #define ACTION_211 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 212: x<-M+N+P #define ACTION_212 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 213: x<-M+N+Q #define ACTION_213 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 214: x<-M+N+R #define ACTION_214 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 215: x<-M+N+S #define ACTION_215 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 216: x<-M+N+T #define ACTION_216 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 217: x<-M+N+U #define ACTION_217 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 218: x<-M+N+V #define ACTION_218 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 219: x<-M+N+W #define ACTION_219 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 220: x<-M+O+P #define ACTION_220 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 221: x<-M+O+Q #define ACTION_221 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 222: x<-M+O+R #define ACTION_222 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 223: x<-M+O+S #define ACTION_223 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 224: x<-M+O+T #define ACTION_224 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 225: x<-M+O+U #define ACTION_225 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 226: x<-M+O+V #define ACTION_226 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 227: x<-M+O+W #define ACTION_227 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 228: x<-M+P+Q #define ACTION_228 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 229: x<-M+P+R #define ACTION_229 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 230: x<-M+P+T #define ACTION_230 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 231: x<-M+P+U #define ACTION_231 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 232: x<-M+P+V #define ACTION_232 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 233: x<-M+P+W #define ACTION_233 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 234: x<-M+Q+R #define ACTION_234 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 235: x<-M+Q+S #define ACTION_235 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 236: x<-M+Q+T #define ACTION_236 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 237: x<-M+Q+U #define ACTION_237 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 238: x<-M+Q+V #define ACTION_238 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 239: x<-M+Q+W #define ACTION_239 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 240: x<-M+R+S #define ACTION_240 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]);continue; // Action 241: x<-M+R+T #define ACTION_241 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]);continue; // Action 242: x<-M+R+U #define ACTION_242 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]);continue; // Action 243: x<-M+R+V #define ACTION_243 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]);continue; // Action 244: x<-M+R+W #define ACTION_244 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]);continue; // Action 245: x<-M+S+T #define ACTION_245 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 246: x<-M+S+U #define ACTION_246 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 247: x<-M+S+V #define ACTION_247 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 248: x<-M+S+W #define ACTION_248 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 249: x<-M+T+U #define ACTION_249 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 250: x<-M+T+V #define ACTION_250 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 251: x<-M+T+W #define ACTION_251 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 252: x<-M+U+V #define ACTION_252 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c + 2]);continue; // Action 253: x<-M+U+W #define ACTION_253 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c + 2]);continue; // Action 254: x<-M+V+W #define ACTION_254 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 255: x<-N+O+Q #define ACTION_255 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 256: x<-N+O+R #define ACTION_256 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 257: x<-N+O+S #define ACTION_257 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 258: x<-N+O+T #define ACTION_258 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 259: x<-N+O+U #define ACTION_259 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 260: x<-N+O+V #define ACTION_260 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 261: x<-N+O+W #define ACTION_261 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 262: x<-N+P+Q #define ACTION_262 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 263: x<-N+P+R #define ACTION_263 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 264: x<-N+P+S #define ACTION_264 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 265: x<-N+P+T #define ACTION_265 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 266: x<-N+P+U #define ACTION_266 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 267: x<-N+P+V #define ACTION_267 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 268: x<-N+P+W #define ACTION_268 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 269: x<-N+Q+R #define ACTION_269 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 270: x<-N+Q+S #define ACTION_270 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 271: x<-N+Q+T #define ACTION_271 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 272: x<-N+Q+U #define ACTION_272 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 273: x<-N+Q+V #define ACTION_273 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 274: x<-N+Q+W #define ACTION_274 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 275: x<-N+R+S #define ACTION_275 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]);continue; // Action 276: x<-N+R+T #define ACTION_276 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]);continue; // Action 277: x<-N+R+U #define ACTION_277 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]);continue; // Action 278: x<-N+R+V #define ACTION_278 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]);continue; // Action 279: x<-N+R+W #define ACTION_279 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]);continue; // Action 280: x<-N+S+T #define ACTION_280 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 281: x<-N+S+U #define ACTION_281 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 282: x<-N+S+V #define ACTION_282 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 283: x<-N+S+W #define ACTION_283 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 284: x<-N+T+U #define ACTION_284 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 285: x<-N+T+V #define ACTION_285 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 286: x<-N+T+W #define ACTION_286 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 287: x<-N+U+V #define ACTION_287 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]);continue; // Action 288: x<-N+U+W #define ACTION_288 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]);continue; // Action 289: x<-N+V+W #define ACTION_289 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 290: x<-O+P+Q #define ACTION_290 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 291: x<-O+P+R #define ACTION_291 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 292: x<-O+P+S #define ACTION_292 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 293: x<-O+P+T #define ACTION_293 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 294: x<-O+P+U #define ACTION_294 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 295: x<-O+P+V #define ACTION_295 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 296: x<-O+P+W #define ACTION_296 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 297: x<-O+Q+R #define ACTION_297 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 298: x<-O+Q+S #define ACTION_298 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 299: x<-O+Q+T #define ACTION_299 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 300: x<-O+Q+U #define ACTION_300 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 301: x<-O+Q+V #define ACTION_301 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 302: x<-O+Q+W #define ACTION_302 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 303: x<-O+R+S #define ACTION_303 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]);continue; // Action 304: x<-O+R+T #define ACTION_304 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]);continue; // Action 305: x<-O+R+U #define ACTION_305 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]);continue; // Action 306: x<-O+R+V #define ACTION_306 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]);continue; // Action 307: x<-O+R+W #define ACTION_307 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]);continue; // Action 308: x<-O+S+T #define ACTION_308 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]);continue; // Action 309: x<-O+S+U #define ACTION_309 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]);continue; // Action 310: x<-O+S+V #define ACTION_310 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]);continue; // Action 311: x<-O+S+W #define ACTION_311 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]);continue; // Action 312: x<-O+T+U #define ACTION_312 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]);continue; // Action 313: x<-O+T+V #define ACTION_313 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]);continue; // Action 314: x<-O+T+W #define ACTION_314 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]);continue; // Action 315: x<-O+U+V #define ACTION_315 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]);continue; // Action 316: x<-O+U+W #define ACTION_316 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]);continue; // Action 317: x<-O+V+W #define ACTION_317 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]);continue; // Action 318: x<-P+Q+R #define ACTION_318 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 319: x<-P+Q+S #define ACTION_319 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 320: x<-P+Q+T #define ACTION_320 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 321: x<-P+Q+U #define ACTION_321 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 322: x<-P+Q+V #define ACTION_322 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 323: x<-P+Q+W #define ACTION_323 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 324: x<-P+R+S #define ACTION_324 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]);continue; // Action 325: x<-P+R+T #define ACTION_325 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]);continue; // Action 326: x<-P+R+U #define ACTION_326 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]);continue; // Action 327: x<-P+R+V #define ACTION_327 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]);continue; // Action 328: x<-P+R+W #define ACTION_328 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]);continue; // Action 329: x<-P+S+T #define ACTION_329 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 330: x<-P+S+U #define ACTION_330 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 331: x<-P+S+V #define ACTION_331 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 332: x<-P+S+W #define ACTION_332 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 333: x<-P+T+U #define ACTION_333 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 334: x<-P+T+V #define ACTION_334 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 335: x<-P+T+W #define ACTION_335 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 336: x<-P+U+V #define ACTION_336 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]);continue; // Action 337: x<-P+U+W #define ACTION_337 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]);continue; // Action 338: x<-P+V+W #define ACTION_338 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 339: x<-Q+R+T #define ACTION_339 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]);continue; // Action 340: x<-Q+R+U #define ACTION_340 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]);continue; // Action 341: x<-Q+R+V #define ACTION_341 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]);continue; // Action 342: x<-Q+R+W #define ACTION_342 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]);continue; // Action 343: x<-Q+S+T #define ACTION_343 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]);continue; // Action 344: x<-Q+S+U #define ACTION_344 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]);continue; // Action 345: x<-Q+S+V #define ACTION_345 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]);continue; // Action 346: x<-Q+S+W #define ACTION_346 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]);continue; // Action 347: x<-Q+T+U #define ACTION_347 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]);continue; // Action 348: x<-Q+T+V #define ACTION_348 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]);continue; // Action 349: x<-Q+T+W #define ACTION_349 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]);continue; // Action 350: x<-Q+U+V #define ACTION_350 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]);continue; // Action 351: x<-Q+U+W #define ACTION_351 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]);continue; // Action 352: x<-Q+V+W #define ACTION_352 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]);continue; // Action 353: x<-R+S+T #define ACTION_353 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]);continue; // Action 354: x<-R+S+U #define ACTION_354 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]);continue; // Action 355: x<-R+S+V #define ACTION_355 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]);continue; // Action 356: x<-R+S+W #define ACTION_356 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]);continue; // Action 357: x<-R+T+U #define ACTION_357 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]);continue; // Action 358: x<-R+T+V #define ACTION_358 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]);continue; // Action 359: x<-R+T+W #define ACTION_359 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]);continue; // Action 360: x<-R+U+V #define ACTION_360 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]);continue; // Action 361: x<-R+U+W #define ACTION_361 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]);continue; // Action 362: x<-R+V+W #define ACTION_362 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]);continue; // Action 363: x<-S+T+U #define ACTION_363 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]);continue; // Action 364: x<-S+T+V #define ACTION_364 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]);continue; // Action 365: x<-S+T+W #define ACTION_365 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]);continue; // Action 366: x<-S+U+V #define ACTION_366 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]);continue; // Action 367: x<-S+U+W #define ACTION_367 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]);continue; // Action 368: x<-S+V+W #define ACTION_368 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]);continue; // Action 369: x<-T+U+W #define ACTION_369 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]);continue; // Action 370: x<-T+V+W #define ACTION_370 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]);continue; // Action 371: x<-U+V+W #define ACTION_371 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]);continue; // Action 372: x<-K+L+N+O #define ACTION_372 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 373: x<-K+L+N+P #define ACTION_373 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 374: x<-K+L+N+R #define ACTION_374 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 375: x<-K+L+N+S #define ACTION_375 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 376: x<-K+L+N+T #define ACTION_376 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 377: x<-K+L+N+U #define ACTION_377 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 378: x<-K+L+N+V #define ACTION_378 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 379: x<-K+L+N+W #define ACTION_379 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 380: x<-K+L+O+P #define ACTION_380 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 381: x<-K+L+O+Q #define ACTION_381 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 382: x<-K+L+O+S #define ACTION_382 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 383: x<-K+L+O+T #define ACTION_383 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 384: x<-K+L+O+U #define ACTION_384 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 385: x<-K+L+O+V #define ACTION_385 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 386: x<-K+L+O+W #define ACTION_386 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 387: x<-K+L+P+Q #define ACTION_387 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 388: x<-K+L+P+R #define ACTION_388 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 389: x<-K+L+P+T #define ACTION_389 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 390: x<-K+L+P+U #define ACTION_390 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 391: x<-K+L+P+V #define ACTION_391 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 392: x<-K+L+P+W #define ACTION_392 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 393: x<-K+L+Q+R #define ACTION_393 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 394: x<-K+L+Q+S #define ACTION_394 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 395: x<-K+L+Q+T #define ACTION_395 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 396: x<-K+L+Q+U #define ACTION_396 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 397: x<-K+L+Q+V #define ACTION_397 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 398: x<-K+L+Q+W #define ACTION_398 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 399: x<-K+L+R+S #define ACTION_399 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 400: x<-K+L+R+T #define ACTION_400 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 401: x<-K+L+R+U #define ACTION_401 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 402: x<-K+L+R+V #define ACTION_402 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 403: x<-K+L+R+W #define ACTION_403 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 404: x<-K+L+S+T #define ACTION_404 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 405: x<-K+L+S+U #define ACTION_405 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 406: x<-K+L+S+V #define ACTION_406 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 407: x<-K+L+S+W #define ACTION_407 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 408: x<-K+L+T+U #define ACTION_408 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 409: x<-K+L+T+V #define ACTION_409 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 410: x<-K+L+T+W #define ACTION_410 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 411: x<-K+L+U+V #define ACTION_411 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 412: x<-K+L+U+W #define ACTION_412 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 413: x<-K+L+V+W #define ACTION_413 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 414: x<-K+M+N+O #define ACTION_414 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 415: x<-K+M+N+P #define ACTION_415 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 416: x<-K+M+N+R #define ACTION_416 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 417: x<-K+M+N+S #define ACTION_417 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 418: x<-K+M+N+T #define ACTION_418 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 419: x<-K+M+N+U #define ACTION_419 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 420: x<-K+M+N+V #define ACTION_420 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 421: x<-K+M+N+W #define ACTION_421 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 422: x<-K+M+O+P #define ACTION_422 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 423: x<-K+M+O+Q #define ACTION_423 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 424: x<-K+M+O+S #define ACTION_424 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 425: x<-K+M+O+T #define ACTION_425 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 426: x<-K+M+O+U #define ACTION_426 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 427: x<-K+M+O+V #define ACTION_427 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 428: x<-K+M+O+W #define ACTION_428 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 429: x<-K+M+P+Q #define ACTION_429 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 430: x<-K+M+P+R #define ACTION_430 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 431: x<-K+M+P+T #define ACTION_431 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 432: x<-K+M+P+U #define ACTION_432 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 433: x<-K+M+P+V #define ACTION_433 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 434: x<-K+M+P+W #define ACTION_434 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 435: x<-K+M+Q+R #define ACTION_435 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 436: x<-K+M+Q+S #define ACTION_436 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 437: x<-K+M+Q+T #define ACTION_437 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 438: x<-K+M+Q+U #define ACTION_438 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 439: x<-K+M+Q+V #define ACTION_439 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 440: x<-K+M+Q+W #define ACTION_440 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 441: x<-K+M+R+S #define ACTION_441 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 442: x<-K+M+R+T #define ACTION_442 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 443: x<-K+M+R+U #define ACTION_443 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 444: x<-K+M+R+V #define ACTION_444 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 445: x<-K+M+R+W #define ACTION_445 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 446: x<-K+M+S+T #define ACTION_446 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 447: x<-K+M+S+U #define ACTION_447 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 448: x<-K+M+S+V #define ACTION_448 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 449: x<-K+M+S+W #define ACTION_449 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 450: x<-K+M+T+U #define ACTION_450 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 451: x<-K+M+T+V #define ACTION_451 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 452: x<-K+M+T+W #define ACTION_452 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 453: x<-K+M+U+V #define ACTION_453 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 454: x<-K+M+U+W #define ACTION_454 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 455: x<-K+M+V+W #define ACTION_455 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 456: x<-K+N+O+R #define ACTION_456 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 457: x<-K+N+O+S #define ACTION_457 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 458: x<-K+N+O+T #define ACTION_458 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 459: x<-K+N+O+U #define ACTION_459 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 460: x<-K+N+O+V #define ACTION_460 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 461: x<-K+N+O+W #define ACTION_461 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 462: x<-K+N+P+R #define ACTION_462 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 463: x<-K+N+P+S #define ACTION_463 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 464: x<-K+N+P+T #define ACTION_464 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 465: x<-K+N+P+U #define ACTION_465 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 466: x<-K+N+P+V #define ACTION_466 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 467: x<-K+N+P+W #define ACTION_467 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 468: x<-K+N+R+T #define ACTION_468 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 469: x<-K+N+R+U #define ACTION_469 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 470: x<-K+N+R+V #define ACTION_470 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 471: x<-K+N+R+W #define ACTION_471 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 472: x<-K+N+S+T #define ACTION_472 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 473: x<-K+N+S+U #define ACTION_473 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 474: x<-K+N+S+V #define ACTION_474 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 475: x<-K+N+S+W #define ACTION_475 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 476: x<-K+N+T+U #define ACTION_476 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 477: x<-K+N+T+V #define ACTION_477 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 478: x<-K+N+T+W #define ACTION_478 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 479: x<-K+N+U+V #define ACTION_479 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 480: x<-K+N+U+W #define ACTION_480 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 481: x<-K+N+V+W #define ACTION_481 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 482: x<-K+O+P+S #define ACTION_482 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 483: x<-K+O+P+T #define ACTION_483 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 484: x<-K+O+P+U #define ACTION_484 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 485: x<-K+O+P+V #define ACTION_485 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 486: x<-K+O+P+W #define ACTION_486 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 487: x<-K+O+Q+R #define ACTION_487 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 488: x<-K+O+Q+S #define ACTION_488 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 489: x<-K+O+Q+T #define ACTION_489 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 490: x<-K+O+Q+U #define ACTION_490 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 491: x<-K+O+Q+V #define ACTION_491 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 492: x<-K+O+Q+W #define ACTION_492 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 493: x<-K+O+R+S #define ACTION_493 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 494: x<-K+O+R+T #define ACTION_494 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 495: x<-K+O+R+U #define ACTION_495 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 496: x<-K+O+R+V #define ACTION_496 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 497: x<-K+O+R+W #define ACTION_497 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 498: x<-K+O+S+T #define ACTION_498 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 499: x<-K+O+S+U #define ACTION_499 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 500: x<-K+O+S+V #define ACTION_500 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 501: x<-K+O+S+W #define ACTION_501 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 502: x<-K+O+T+U #define ACTION_502 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 503: x<-K+O+T+V #define ACTION_503 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 504: x<-K+O+T+W #define ACTION_504 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 505: x<-K+O+U+V #define ACTION_505 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 506: x<-K+O+U+W #define ACTION_506 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 507: x<-K+O+V+W #define ACTION_507 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 508: x<-K+P+Q+R #define ACTION_508 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 509: x<-K+P+Q+S #define ACTION_509 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 510: x<-K+P+Q+T #define ACTION_510 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 511: x<-K+P+Q+U #define ACTION_511 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 512: x<-K+P+Q+V #define ACTION_512 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 513: x<-K+P+Q+W #define ACTION_513 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 514: x<-K+P+R+S #define ACTION_514 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 515: x<-K+P+R+T #define ACTION_515 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 516: x<-K+P+R+U #define ACTION_516 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 517: x<-K+P+R+V #define ACTION_517 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 518: x<-K+P+R+W #define ACTION_518 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 519: x<-K+P+S+T #define ACTION_519 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 520: x<-K+P+S+U #define ACTION_520 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 521: x<-K+P+S+V #define ACTION_521 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 522: x<-K+P+S+W #define ACTION_522 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 523: x<-K+P+T+U #define ACTION_523 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 524: x<-K+P+T+V #define ACTION_524 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 525: x<-K+P+T+W #define ACTION_525 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 526: x<-K+P+U+V #define ACTION_526 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 527: x<-K+P+U+W #define ACTION_527 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 528: x<-K+P+V+W #define ACTION_528 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 529: x<-K+Q+R+T #define ACTION_529 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 530: x<-K+Q+R+U #define ACTION_530 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 531: x<-K+Q+R+V #define ACTION_531 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 532: x<-K+Q+R+W #define ACTION_532 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 533: x<-K+Q+S+T #define ACTION_533 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 534: x<-K+Q+S+U #define ACTION_534 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 535: x<-K+Q+S+V #define ACTION_535 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 536: x<-K+Q+S+W #define ACTION_536 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 537: x<-K+Q+T+U #define ACTION_537 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 538: x<-K+Q+T+V #define ACTION_538 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 539: x<-K+Q+T+W #define ACTION_539 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 540: x<-K+Q+U+V #define ACTION_540 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 541: x<-K+Q+U+W #define ACTION_541 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 542: x<-K+Q+V+W #define ACTION_542 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 543: x<-K+R+S+T #define ACTION_543 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 544: x<-K+R+S+U #define ACTION_544 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 545: x<-K+R+S+V #define ACTION_545 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 546: x<-K+R+S+W #define ACTION_546 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 547: x<-K+R+T+U #define ACTION_547 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 548: x<-K+R+T+V #define ACTION_548 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 549: x<-K+R+T+W #define ACTION_549 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 550: x<-K+R+U+V #define ACTION_550 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 551: x<-K+R+U+W #define ACTION_551 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 552: x<-K+R+V+W #define ACTION_552 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 553: x<-K+S+T+U #define ACTION_553 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 554: x<-K+S+T+V #define ACTION_554 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 555: x<-K+S+T+W #define ACTION_555 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 556: x<-K+S+U+V #define ACTION_556 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 557: x<-K+S+U+W #define ACTION_557 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 558: x<-K+S+V+W #define ACTION_558 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 559: x<-K+T+U+W #define ACTION_559 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 560: x<-K+T+V+W #define ACTION_560 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 561: x<-K+U+V+W #define ACTION_561 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 562: x<-L+M+N+O #define ACTION_562 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 563: x<-L+M+N+P #define ACTION_563 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 564: x<-L+M+N+R #define ACTION_564 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 565: x<-L+M+N+S #define ACTION_565 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 566: x<-L+M+N+T #define ACTION_566 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 567: x<-L+M+N+U #define ACTION_567 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 568: x<-L+M+N+V #define ACTION_568 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 569: x<-L+M+N+W #define ACTION_569 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 570: x<-L+M+O+P #define ACTION_570 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 571: x<-L+M+O+Q #define ACTION_571 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 572: x<-L+M+O+S #define ACTION_572 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 573: x<-L+M+O+T #define ACTION_573 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 574: x<-L+M+O+U #define ACTION_574 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 575: x<-L+M+O+V #define ACTION_575 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 576: x<-L+M+O+W #define ACTION_576 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 577: x<-L+M+P+Q #define ACTION_577 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 578: x<-L+M+P+R #define ACTION_578 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 579: x<-L+M+P+T #define ACTION_579 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 580: x<-L+M+P+U #define ACTION_580 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 581: x<-L+M+P+V #define ACTION_581 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 582: x<-L+M+P+W #define ACTION_582 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 583: x<-L+M+Q+R #define ACTION_583 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 584: x<-L+M+Q+S #define ACTION_584 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 585: x<-L+M+Q+T #define ACTION_585 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 586: x<-L+M+Q+U #define ACTION_586 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 587: x<-L+M+Q+V #define ACTION_587 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 588: x<-L+M+Q+W #define ACTION_588 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 589: x<-L+M+R+S #define ACTION_589 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 590: x<-L+M+R+T #define ACTION_590 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 591: x<-L+M+R+U #define ACTION_591 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 592: x<-L+M+R+V #define ACTION_592 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 593: x<-L+M+R+W #define ACTION_593 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 594: x<-L+M+S+T #define ACTION_594 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 595: x<-L+M+S+U #define ACTION_595 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 596: x<-L+M+S+V #define ACTION_596 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 597: x<-L+M+S+W #define ACTION_597 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 598: x<-L+M+T+U #define ACTION_598 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 599: x<-L+M+T+V #define ACTION_599 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 600: x<-L+M+T+W #define ACTION_600 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 601: x<-L+M+U+V #define ACTION_601 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 602: x<-L+M+U+W #define ACTION_602 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 603: x<-L+M+V+W #define ACTION_603 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 604: x<-L+N+O+Q #define ACTION_604 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 605: x<-L+N+O+T #define ACTION_605 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 606: x<-L+N+O+U #define ACTION_606 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 607: x<-L+N+O+V #define ACTION_607 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 608: x<-L+N+O+W #define ACTION_608 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 609: x<-L+N+P+Q #define ACTION_609 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 610: x<-L+N+P+R #define ACTION_610 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 611: x<-L+N+P+S #define ACTION_611 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 612: x<-L+N+P+T #define ACTION_612 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 613: x<-L+N+P+U #define ACTION_613 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 614: x<-L+N+P+V #define ACTION_614 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 615: x<-L+N+P+W #define ACTION_615 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 616: x<-L+N+Q+R #define ACTION_616 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 617: x<-L+N+Q+S #define ACTION_617 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 618: x<-L+N+Q+T #define ACTION_618 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 619: x<-L+N+Q+U #define ACTION_619 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 620: x<-L+N+Q+V #define ACTION_620 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 621: x<-L+N+Q+W #define ACTION_621 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 622: x<-L+N+R+S #define ACTION_622 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 623: x<-L+N+R+T #define ACTION_623 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 624: x<-L+N+R+U #define ACTION_624 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 625: x<-L+N+R+V #define ACTION_625 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 626: x<-L+N+R+W #define ACTION_626 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 627: x<-L+N+S+T #define ACTION_627 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 628: x<-L+N+S+U #define ACTION_628 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 629: x<-L+N+S+V #define ACTION_629 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 630: x<-L+N+S+W #define ACTION_630 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 631: x<-L+N+T+U #define ACTION_631 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 632: x<-L+N+T+V #define ACTION_632 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 633: x<-L+N+T+W #define ACTION_633 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 634: x<-L+N+U+V #define ACTION_634 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 635: x<-L+N+U+W #define ACTION_635 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 636: x<-L+N+V+W #define ACTION_636 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 637: x<-L+O+P+S #define ACTION_637 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 638: x<-L+O+P+T #define ACTION_638 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 639: x<-L+O+P+U #define ACTION_639 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 640: x<-L+O+P+V #define ACTION_640 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 641: x<-L+O+P+W #define ACTION_641 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 642: x<-L+O+Q+T #define ACTION_642 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 643: x<-L+O+Q+U #define ACTION_643 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 644: x<-L+O+Q+V #define ACTION_644 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 645: x<-L+O+Q+W #define ACTION_645 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 646: x<-L+O+S+T #define ACTION_646 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 647: x<-L+O+S+U #define ACTION_647 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 648: x<-L+O+S+V #define ACTION_648 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 649: x<-L+O+S+W #define ACTION_649 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 650: x<-L+O+T+U #define ACTION_650 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 651: x<-L+O+T+V #define ACTION_651 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 652: x<-L+O+T+W #define ACTION_652 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 653: x<-L+O+U+V #define ACTION_653 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 654: x<-L+O+U+W #define ACTION_654 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 655: x<-L+O+V+W #define ACTION_655 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 656: x<-L+P+Q+R #define ACTION_656 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 657: x<-L+P+Q+S #define ACTION_657 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 658: x<-L+P+Q+T #define ACTION_658 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 659: x<-L+P+Q+U #define ACTION_659 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 660: x<-L+P+Q+V #define ACTION_660 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 661: x<-L+P+Q+W #define ACTION_661 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 662: x<-L+P+R+S #define ACTION_662 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 663: x<-L+P+R+T #define ACTION_663 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 664: x<-L+P+R+U #define ACTION_664 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 665: x<-L+P+R+V #define ACTION_665 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 666: x<-L+P+R+W #define ACTION_666 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 667: x<-L+P+S+T #define ACTION_667 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 668: x<-L+P+S+U #define ACTION_668 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 669: x<-L+P+S+V #define ACTION_669 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 670: x<-L+P+S+W #define ACTION_670 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 671: x<-L+P+T+U #define ACTION_671 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 672: x<-L+P+T+V #define ACTION_672 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 673: x<-L+P+T+W #define ACTION_673 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 674: x<-L+P+U+V #define ACTION_674 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 675: x<-L+P+U+W #define ACTION_675 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 676: x<-L+P+V+W #define ACTION_676 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 677: x<-L+Q+R+T #define ACTION_677 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 678: x<-L+Q+R+U #define ACTION_678 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 679: x<-L+Q+R+V #define ACTION_679 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 680: x<-L+Q+R+W #define ACTION_680 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 681: x<-L+Q+S+T #define ACTION_681 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 682: x<-L+Q+S+U #define ACTION_682 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 683: x<-L+Q+S+V #define ACTION_683 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 684: x<-L+Q+S+W #define ACTION_684 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 685: x<-L+Q+T+U #define ACTION_685 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 686: x<-L+Q+T+V #define ACTION_686 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 687: x<-L+Q+T+W #define ACTION_687 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 688: x<-L+Q+U+V #define ACTION_688 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 689: x<-L+Q+U+W #define ACTION_689 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 690: x<-L+Q+V+W #define ACTION_690 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 691: x<-L+R+S+T #define ACTION_691 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 692: x<-L+R+S+U #define ACTION_692 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 693: x<-L+R+S+V #define ACTION_693 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 694: x<-L+R+S+W #define ACTION_694 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 695: x<-L+R+T+U #define ACTION_695 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 696: x<-L+R+T+V #define ACTION_696 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 697: x<-L+R+T+W #define ACTION_697 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 698: x<-L+R+U+V #define ACTION_698 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 699: x<-L+R+U+W #define ACTION_699 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 700: x<-L+R+V+W #define ACTION_700 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 701: x<-L+S+T+U #define ACTION_701 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 702: x<-L+S+T+V #define ACTION_702 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 703: x<-L+S+T+W #define ACTION_703 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 704: x<-L+S+U+V #define ACTION_704 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 705: x<-L+S+U+W #define ACTION_705 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 706: x<-L+S+V+W #define ACTION_706 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 707: x<-L+T+U+W #define ACTION_707 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c]));continue; // Action 708: x<-L+T+V+W #define ACTION_708 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c]));continue; // Action 709: x<-L+U+V+W #define ACTION_709 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c]));continue; // Action 710: x<-M+N+O+Q #define ACTION_710 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 711: x<-M+N+O+T #define ACTION_711 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 712: x<-M+N+O+U #define ACTION_712 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 713: x<-M+N+O+V #define ACTION_713 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 714: x<-M+N+O+W #define ACTION_714 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 715: x<-M+N+P+Q #define ACTION_715 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 716: x<-M+N+P+R #define ACTION_716 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 717: x<-M+N+P+T #define ACTION_717 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 718: x<-M+N+P+U #define ACTION_718 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 719: x<-M+N+P+V #define ACTION_719 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 720: x<-M+N+P+W #define ACTION_720 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 721: x<-M+N+Q+R #define ACTION_721 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 722: x<-M+N+Q+S #define ACTION_722 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 723: x<-M+N+Q+T #define ACTION_723 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 724: x<-M+N+Q+U #define ACTION_724 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 725: x<-M+N+Q+V #define ACTION_725 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 726: x<-M+N+Q+W #define ACTION_726 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 727: x<-M+N+R+S #define ACTION_727 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 728: x<-M+N+R+T #define ACTION_728 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 729: x<-M+N+R+U #define ACTION_729 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 730: x<-M+N+R+V #define ACTION_730 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 731: x<-M+N+R+W #define ACTION_731 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 732: x<-M+N+S+T #define ACTION_732 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 733: x<-M+N+S+U #define ACTION_733 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 734: x<-M+N+S+V #define ACTION_734 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 735: x<-M+N+S+W #define ACTION_735 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 736: x<-M+N+T+U #define ACTION_736 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 737: x<-M+N+T+V #define ACTION_737 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 738: x<-M+N+T+W #define ACTION_738 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 739: x<-M+N+U+V #define ACTION_739 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 740: x<-M+N+U+W #define ACTION_740 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 741: x<-M+N+V+W #define ACTION_741 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 742: x<-M+O+P+Q #define ACTION_742 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 743: x<-M+O+P+R #define ACTION_743 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 744: x<-M+O+P+T #define ACTION_744 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 745: x<-M+O+P+U #define ACTION_745 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 746: x<-M+O+P+V #define ACTION_746 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 747: x<-M+O+P+W #define ACTION_747 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 748: x<-M+O+Q+R #define ACTION_748 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 749: x<-M+O+Q+S #define ACTION_749 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 750: x<-M+O+Q+T #define ACTION_750 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 751: x<-M+O+Q+U #define ACTION_751 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 752: x<-M+O+Q+V #define ACTION_752 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 753: x<-M+O+Q+W #define ACTION_753 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 754: x<-M+O+R+S #define ACTION_754 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 755: x<-M+O+R+T #define ACTION_755 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 756: x<-M+O+R+U #define ACTION_756 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 757: x<-M+O+R+V #define ACTION_757 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 758: x<-M+O+R+W #define ACTION_758 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 759: x<-M+O+S+T #define ACTION_759 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 760: x<-M+O+S+U #define ACTION_760 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 761: x<-M+O+S+V #define ACTION_761 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 762: x<-M+O+S+W #define ACTION_762 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 763: x<-M+O+T+U #define ACTION_763 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 764: x<-M+O+T+V #define ACTION_764 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 765: x<-M+O+T+W #define ACTION_765 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 766: x<-M+O+U+V #define ACTION_766 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 767: x<-M+O+U+W #define ACTION_767 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 768: x<-M+O+V+W #define ACTION_768 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 769: x<-M+P+Q+T #define ACTION_769 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 770: x<-M+P+Q+U #define ACTION_770 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 771: x<-M+P+Q+V #define ACTION_771 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 772: x<-M+P+Q+W #define ACTION_772 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 773: x<-M+P+R+T #define ACTION_773 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 774: x<-M+P+R+U #define ACTION_774 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 775: x<-M+P+R+V #define ACTION_775 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 776: x<-M+P+R+W #define ACTION_776 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 777: x<-M+P+T+U #define ACTION_777 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 778: x<-M+P+T+V #define ACTION_778 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 779: x<-M+P+T+W #define ACTION_779 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 780: x<-M+P+U+V #define ACTION_780 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 781: x<-M+P+U+W #define ACTION_781 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 782: x<-M+P+V+W #define ACTION_782 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 783: x<-M+Q+R+T #define ACTION_783 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 784: x<-M+Q+R+U #define ACTION_784 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 785: x<-M+Q+R+V #define ACTION_785 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 786: x<-M+Q+R+W #define ACTION_786 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 787: x<-M+Q+S+T #define ACTION_787 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 788: x<-M+Q+S+U #define ACTION_788 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 789: x<-M+Q+S+V #define ACTION_789 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 790: x<-M+Q+S+W #define ACTION_790 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 791: x<-M+Q+T+U #define ACTION_791 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 792: x<-M+Q+T+V #define ACTION_792 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 793: x<-M+Q+T+W #define ACTION_793 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 794: x<-M+Q+U+V #define ACTION_794 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 795: x<-M+Q+U+W #define ACTION_795 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 796: x<-M+Q+V+W #define ACTION_796 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 797: x<-M+R+S+T #define ACTION_797 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 798: x<-M+R+S+U #define ACTION_798 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 799: x<-M+R+S+V #define ACTION_799 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 800: x<-M+R+S+W #define ACTION_800 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 801: x<-M+R+T+U #define ACTION_801 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 802: x<-M+R+T+V #define ACTION_802 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 803: x<-M+R+T+W #define ACTION_803 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 804: x<-M+R+U+V #define ACTION_804 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 805: x<-M+R+U+W #define ACTION_805 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 806: x<-M+R+V+W #define ACTION_806 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 807: x<-M+S+T+U #define ACTION_807 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 808: x<-M+S+T+V #define ACTION_808 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 809: x<-M+S+T+W #define ACTION_809 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 810: x<-M+S+U+V #define ACTION_810 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 811: x<-M+S+U+W #define ACTION_811 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 812: x<-M+S+V+W #define ACTION_812 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 813: x<-M+T+U+W #define ACTION_813 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 814: x<-M+T+V+W #define ACTION_814 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 815: x<-M+U+V+W #define ACTION_815 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c + 2]));continue; // Action 816: x<-N+O+Q+R #define ACTION_816 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 817: x<-N+O+Q+S #define ACTION_817 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 818: x<-N+O+Q+T #define ACTION_818 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 819: x<-N+O+Q+U #define ACTION_819 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 820: x<-N+O+Q+V #define ACTION_820 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 821: x<-N+O+Q+W #define ACTION_821 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 822: x<-N+O+R+S #define ACTION_822 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 823: x<-N+O+R+T #define ACTION_823 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 824: x<-N+O+R+U #define ACTION_824 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 825: x<-N+O+R+V #define ACTION_825 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 826: x<-N+O+R+W #define ACTION_826 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 827: x<-N+O+S+T #define ACTION_827 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 828: x<-N+O+S+U #define ACTION_828 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 829: x<-N+O+S+V #define ACTION_829 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 830: x<-N+O+S+W #define ACTION_830 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 831: x<-N+O+T+U #define ACTION_831 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 832: x<-N+O+T+V #define ACTION_832 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 833: x<-N+O+T+W #define ACTION_833 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 834: x<-N+O+U+V #define ACTION_834 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 835: x<-N+O+U+W #define ACTION_835 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 836: x<-N+O+V+W #define ACTION_836 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 837: x<-N+P+Q+R #define ACTION_837 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 838: x<-N+P+Q+S #define ACTION_838 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 839: x<-N+P+Q+T #define ACTION_839 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 840: x<-N+P+Q+U #define ACTION_840 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 841: x<-N+P+Q+V #define ACTION_841 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 842: x<-N+P+Q+W #define ACTION_842 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 843: x<-N+P+R+S #define ACTION_843 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 844: x<-N+P+R+T #define ACTION_844 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 845: x<-N+P+R+U #define ACTION_845 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 846: x<-N+P+R+V #define ACTION_846 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 847: x<-N+P+R+W #define ACTION_847 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 848: x<-N+P+S+T #define ACTION_848 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 849: x<-N+P+S+U #define ACTION_849 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 850: x<-N+P+S+V #define ACTION_850 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 851: x<-N+P+S+W #define ACTION_851 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 852: x<-N+P+T+U #define ACTION_852 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 853: x<-N+P+T+V #define ACTION_853 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 854: x<-N+P+T+W #define ACTION_854 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 855: x<-N+P+U+V #define ACTION_855 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 856: x<-N+P+U+W #define ACTION_856 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 857: x<-N+P+V+W #define ACTION_857 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 858: x<-N+Q+R+T #define ACTION_858 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 859: x<-N+Q+R+U #define ACTION_859 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 860: x<-N+Q+R+V #define ACTION_860 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 861: x<-N+Q+R+W #define ACTION_861 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 862: x<-N+Q+S+T #define ACTION_862 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 863: x<-N+Q+S+U #define ACTION_863 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 864: x<-N+Q+S+V #define ACTION_864 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 865: x<-N+Q+S+W #define ACTION_865 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 866: x<-N+Q+T+U #define ACTION_866 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 867: x<-N+Q+T+V #define ACTION_867 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 868: x<-N+Q+T+W #define ACTION_868 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 869: x<-N+Q+U+V #define ACTION_869 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 870: x<-N+Q+U+W #define ACTION_870 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 871: x<-N+Q+V+W #define ACTION_871 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 872: x<-N+R+S+T #define ACTION_872 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 873: x<-N+R+S+U #define ACTION_873 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 874: x<-N+R+S+V #define ACTION_874 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 875: x<-N+R+S+W #define ACTION_875 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 876: x<-N+R+T+U #define ACTION_876 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 877: x<-N+R+T+V #define ACTION_877 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 878: x<-N+R+T+W #define ACTION_878 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 879: x<-N+R+U+V #define ACTION_879 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 880: x<-N+R+U+W #define ACTION_880 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 881: x<-N+R+V+W #define ACTION_881 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 882: x<-N+S+T+U #define ACTION_882 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 883: x<-N+S+T+V #define ACTION_883 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 884: x<-N+S+T+W #define ACTION_884 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 885: x<-N+S+U+V #define ACTION_885 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 886: x<-N+S+U+W #define ACTION_886 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 887: x<-N+S+V+W #define ACTION_887 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 888: x<-N+T+U+W #define ACTION_888 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 889: x<-N+T+V+W #define ACTION_889 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 890: x<-N+U+V+W #define ACTION_890 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]));continue; // Action 891: x<-O+P+Q+R #define ACTION_891 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 892: x<-O+P+Q+S #define ACTION_892 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 893: x<-O+P+Q+T #define ACTION_893 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 894: x<-O+P+Q+U #define ACTION_894 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 895: x<-O+P+Q+V #define ACTION_895 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 896: x<-O+P+Q+W #define ACTION_896 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 897: x<-O+P+R+S #define ACTION_897 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 898: x<-O+P+R+T #define ACTION_898 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 899: x<-O+P+R+U #define ACTION_899 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 900: x<-O+P+R+V #define ACTION_900 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 901: x<-O+P+R+W #define ACTION_901 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 902: x<-O+P+S+T #define ACTION_902 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 903: x<-O+P+S+U #define ACTION_903 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 904: x<-O+P+S+V #define ACTION_904 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 905: x<-O+P+S+W #define ACTION_905 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 906: x<-O+P+T+U #define ACTION_906 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 907: x<-O+P+T+V #define ACTION_907 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 908: x<-O+P+T+W #define ACTION_908 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 909: x<-O+P+U+V #define ACTION_909 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 910: x<-O+P+U+W #define ACTION_910 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 911: x<-O+P+V+W #define ACTION_911 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 912: x<-O+Q+R+T #define ACTION_912 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 913: x<-O+Q+R+U #define ACTION_913 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 914: x<-O+Q+R+V #define ACTION_914 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 915: x<-O+Q+R+W #define ACTION_915 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 916: x<-O+Q+S+T #define ACTION_916 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 917: x<-O+Q+S+U #define ACTION_917 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 918: x<-O+Q+S+V #define ACTION_918 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 919: x<-O+Q+S+W #define ACTION_919 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 920: x<-O+Q+T+U #define ACTION_920 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 921: x<-O+Q+T+V #define ACTION_921 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 922: x<-O+Q+T+W #define ACTION_922 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 923: x<-O+Q+U+V #define ACTION_923 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 924: x<-O+Q+U+W #define ACTION_924 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 925: x<-O+Q+V+W #define ACTION_925 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 926: x<-O+R+S+T #define ACTION_926 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 927: x<-O+R+S+U #define ACTION_927 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 928: x<-O+R+S+V #define ACTION_928 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 929: x<-O+R+S+W #define ACTION_929 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 930: x<-O+R+T+U #define ACTION_930 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 931: x<-O+R+T+V #define ACTION_931 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 932: x<-O+R+T+W #define ACTION_932 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 933: x<-O+R+U+V #define ACTION_933 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 934: x<-O+R+U+W #define ACTION_934 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 935: x<-O+R+V+W #define ACTION_935 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 936: x<-O+S+T+U #define ACTION_936 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 937: x<-O+S+T+V #define ACTION_937 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 938: x<-O+S+T+W #define ACTION_938 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 939: x<-O+S+U+V #define ACTION_939 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 940: x<-O+S+U+W #define ACTION_940 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 941: x<-O+S+V+W #define ACTION_941 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 942: x<-O+T+U+W #define ACTION_942 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]));continue; // Action 943: x<-O+T+V+W #define ACTION_943 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]));continue; // Action 944: x<-O+U+V+W #define ACTION_944 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]));continue; // Action 945: x<-P+Q+R+T #define ACTION_945 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 946: x<-P+Q+R+U #define ACTION_946 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 947: x<-P+Q+R+V #define ACTION_947 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 948: x<-P+Q+R+W #define ACTION_948 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 949: x<-P+Q+S+T #define ACTION_949 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 950: x<-P+Q+S+U #define ACTION_950 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 951: x<-P+Q+S+V #define ACTION_951 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 952: x<-P+Q+S+W #define ACTION_952 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 953: x<-P+Q+T+U #define ACTION_953 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 954: x<-P+Q+T+V #define ACTION_954 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 955: x<-P+Q+T+W #define ACTION_955 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 956: x<-P+Q+U+V #define ACTION_956 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 957: x<-P+Q+U+W #define ACTION_957 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 958: x<-P+Q+V+W #define ACTION_958 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 959: x<-P+R+S+T #define ACTION_959 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 960: x<-P+R+S+U #define ACTION_960 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 961: x<-P+R+S+V #define ACTION_961 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 962: x<-P+R+S+W #define ACTION_962 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 963: x<-P+R+T+U #define ACTION_963 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 964: x<-P+R+T+V #define ACTION_964 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 965: x<-P+R+T+W #define ACTION_965 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 966: x<-P+R+U+V #define ACTION_966 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 967: x<-P+R+U+W #define ACTION_967 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 968: x<-P+R+V+W #define ACTION_968 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 969: x<-P+S+T+U #define ACTION_969 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 970: x<-P+S+T+V #define ACTION_970 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 971: x<-P+S+T+W #define ACTION_971 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 972: x<-P+S+U+V #define ACTION_972 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 973: x<-P+S+U+W #define ACTION_973 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 974: x<-P+S+V+W #define ACTION_974 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 975: x<-P+T+U+W #define ACTION_975 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 976: x<-P+T+V+W #define ACTION_976 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 977: x<-P+U+V+W #define ACTION_977 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]));continue; // Action 978: x<-Q+R+T+U #define ACTION_978 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 979: x<-Q+R+T+V #define ACTION_979 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 980: x<-Q+R+T+W #define ACTION_980 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 981: x<-Q+R+U+V #define ACTION_981 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 982: x<-Q+R+U+W #define ACTION_982 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 983: x<-Q+R+V+W #define ACTION_983 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 984: x<-Q+S+T+U #define ACTION_984 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 985: x<-Q+S+T+V #define ACTION_985 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 986: x<-Q+S+T+W #define ACTION_986 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 987: x<-Q+S+U+V #define ACTION_987 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 988: x<-Q+S+U+W #define ACTION_988 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 989: x<-Q+S+V+W #define ACTION_989 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 990: x<-Q+T+U+W #define ACTION_990 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]));continue; // Action 991: x<-Q+T+V+W #define ACTION_991 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]));continue; // Action 992: x<-Q+U+V+W #define ACTION_992 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]));continue; // Action 993: x<-R+S+T+U #define ACTION_993 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 994: x<-R+S+T+V #define ACTION_994 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 995: x<-R+S+T+W #define ACTION_995 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 996: x<-R+S+U+V #define ACTION_996 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 997: x<-R+S+U+W #define ACTION_997 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 998: x<-R+S+V+W #define ACTION_998 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 999: x<-R+T+U+W #define ACTION_999 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]));continue; // Action 1000: x<-R+T+V+W #define ACTION_1000 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]));continue; // Action 1001: x<-R+U+V+W #define ACTION_1001 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]));continue; // Action 1002: x<-S+T+U+W #define ACTION_1002 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]));continue; // Action 1003: x<-S+T+V+W #define ACTION_1003 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]));continue; // Action 1004: x<-S+U+V+W #define ACTION_1004 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]));continue; // Action 1005: x<-K+L+N+O+T #define ACTION_1005 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1006: x<-K+L+N+O+U #define ACTION_1006 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1007: x<-K+L+N+O+V #define ACTION_1007 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1008: x<-K+L+N+O+W #define ACTION_1008 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1009: x<-K+L+N+P+T #define ACTION_1009 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1010: x<-K+L+N+P+U #define ACTION_1010 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1011: x<-K+L+N+P+V #define ACTION_1011 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1012: x<-K+L+N+P+W #define ACTION_1012 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1013: x<-K+L+N+R+T #define ACTION_1013 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1014: x<-K+L+N+R+U #define ACTION_1014 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1015: x<-K+L+N+R+V #define ACTION_1015 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1016: x<-K+L+N+R+W #define ACTION_1016 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1017: x<-K+L+N+S+T #define ACTION_1017 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1018: x<-K+L+N+S+U #define ACTION_1018 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1019: x<-K+L+N+S+V #define ACTION_1019 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1020: x<-K+L+N+S+W #define ACTION_1020 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1021: x<-K+L+N+T+U #define ACTION_1021 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1022: x<-K+L+N+T+V #define ACTION_1022 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1023: x<-K+L+N+T+W #define ACTION_1023 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1024: x<-K+L+N+U+V #define ACTION_1024 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1025: x<-K+L+N+U+W #define ACTION_1025 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1026: x<-K+L+N+V+W #define ACTION_1026 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1027: x<-K+L+O+P+T #define ACTION_1027 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1028: x<-K+L+O+P+U #define ACTION_1028 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1029: x<-K+L+O+P+V #define ACTION_1029 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1030: x<-K+L+O+P+W #define ACTION_1030 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1031: x<-K+L+O+Q+T #define ACTION_1031 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1032: x<-K+L+O+Q+U #define ACTION_1032 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1033: x<-K+L+O+Q+V #define ACTION_1033 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1034: x<-K+L+O+Q+W #define ACTION_1034 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1035: x<-K+L+O+S+T #define ACTION_1035 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1036: x<-K+L+O+S+U #define ACTION_1036 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1037: x<-K+L+O+S+V #define ACTION_1037 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1038: x<-K+L+O+S+W #define ACTION_1038 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1039: x<-K+L+O+T+U #define ACTION_1039 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1040: x<-K+L+O+T+V #define ACTION_1040 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1041: x<-K+L+O+T+W #define ACTION_1041 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1042: x<-K+L+O+U+V #define ACTION_1042 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1043: x<-K+L+O+U+W #define ACTION_1043 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1044: x<-K+L+O+V+W #define ACTION_1044 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1045: x<-K+L+P+Q+T #define ACTION_1045 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1046: x<-K+L+P+Q+U #define ACTION_1046 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1047: x<-K+L+P+Q+V #define ACTION_1047 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1048: x<-K+L+P+Q+W #define ACTION_1048 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1049: x<-K+L+P+R+T #define ACTION_1049 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1050: x<-K+L+P+R+U #define ACTION_1050 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1051: x<-K+L+P+R+V #define ACTION_1051 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1052: x<-K+L+P+R+W #define ACTION_1052 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1053: x<-K+L+P+T+U #define ACTION_1053 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1054: x<-K+L+P+T+V #define ACTION_1054 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1055: x<-K+L+P+T+W #define ACTION_1055 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1056: x<-K+L+P+U+V #define ACTION_1056 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1057: x<-K+L+P+U+W #define ACTION_1057 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1058: x<-K+L+P+V+W #define ACTION_1058 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1059: x<-K+L+Q+R+T #define ACTION_1059 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1060: x<-K+L+Q+R+U #define ACTION_1060 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1061: x<-K+L+Q+R+V #define ACTION_1061 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1062: x<-K+L+Q+R+W #define ACTION_1062 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1063: x<-K+L+Q+S+T #define ACTION_1063 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1064: x<-K+L+Q+S+U #define ACTION_1064 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1065: x<-K+L+Q+S+V #define ACTION_1065 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1066: x<-K+L+Q+S+W #define ACTION_1066 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1067: x<-K+L+Q+T+U #define ACTION_1067 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1068: x<-K+L+Q+T+V #define ACTION_1068 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1069: x<-K+L+Q+T+W #define ACTION_1069 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1070: x<-K+L+Q+U+V #define ACTION_1070 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1071: x<-K+L+Q+U+W #define ACTION_1071 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1072: x<-K+L+Q+V+W #define ACTION_1072 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1073: x<-K+L+R+S+T #define ACTION_1073 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1074: x<-K+L+R+S+U #define ACTION_1074 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1075: x<-K+L+R+S+V #define ACTION_1075 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1076: x<-K+L+R+S+W #define ACTION_1076 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1077: x<-K+L+R+T+U #define ACTION_1077 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1078: x<-K+L+R+T+V #define ACTION_1078 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1079: x<-K+L+R+T+W #define ACTION_1079 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1080: x<-K+L+R+U+V #define ACTION_1080 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1081: x<-K+L+R+U+W #define ACTION_1081 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1082: x<-K+L+R+V+W #define ACTION_1082 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1083: x<-K+L+S+T+U #define ACTION_1083 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1084: x<-K+L+S+T+V #define ACTION_1084 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1085: x<-K+L+S+T+W #define ACTION_1085 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1086: x<-K+L+S+U+V #define ACTION_1086 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1087: x<-K+L+S+U+W #define ACTION_1087 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1088: x<-K+L+S+V+W #define ACTION_1088 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1089: x<-K+L+T+U+W #define ACTION_1089 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1090: x<-K+L+T+V+W #define ACTION_1090 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1091: x<-K+L+U+V+W #define ACTION_1091 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1092: x<-K+M+N+O+T #define ACTION_1092 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1093: x<-K+M+N+O+U #define ACTION_1093 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1094: x<-K+M+N+O+V #define ACTION_1094 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1095: x<-K+M+N+O+W #define ACTION_1095 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1096: x<-K+M+N+P+T #define ACTION_1096 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1097: x<-K+M+N+P+U #define ACTION_1097 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1098: x<-K+M+N+P+V #define ACTION_1098 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1099: x<-K+M+N+P+W #define ACTION_1099 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1100: x<-K+M+N+R+T #define ACTION_1100 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1101: x<-K+M+N+R+U #define ACTION_1101 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1102: x<-K+M+N+R+V #define ACTION_1102 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1103: x<-K+M+N+R+W #define ACTION_1103 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1104: x<-K+M+N+S+T #define ACTION_1104 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1105: x<-K+M+N+S+U #define ACTION_1105 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1106: x<-K+M+N+S+V #define ACTION_1106 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1107: x<-K+M+N+S+W #define ACTION_1107 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1108: x<-K+M+N+T+U #define ACTION_1108 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1109: x<-K+M+N+T+V #define ACTION_1109 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1110: x<-K+M+N+T+W #define ACTION_1110 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1111: x<-K+M+N+U+V #define ACTION_1111 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1112: x<-K+M+N+U+W #define ACTION_1112 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1113: x<-K+M+N+V+W #define ACTION_1113 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1114: x<-K+M+O+P+T #define ACTION_1114 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1115: x<-K+M+O+P+U #define ACTION_1115 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1116: x<-K+M+O+P+V #define ACTION_1116 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1117: x<-K+M+O+P+W #define ACTION_1117 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1118: x<-K+M+O+Q+T #define ACTION_1118 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1119: x<-K+M+O+Q+U #define ACTION_1119 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1120: x<-K+M+O+Q+V #define ACTION_1120 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1121: x<-K+M+O+Q+W #define ACTION_1121 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1122: x<-K+M+O+S+T #define ACTION_1122 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1123: x<-K+M+O+S+U #define ACTION_1123 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1124: x<-K+M+O+S+V #define ACTION_1124 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1125: x<-K+M+O+S+W #define ACTION_1125 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1126: x<-K+M+O+T+U #define ACTION_1126 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1127: x<-K+M+O+T+V #define ACTION_1127 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1128: x<-K+M+O+T+W #define ACTION_1128 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1129: x<-K+M+O+U+V #define ACTION_1129 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1130: x<-K+M+O+U+W #define ACTION_1130 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1131: x<-K+M+O+V+W #define ACTION_1131 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1132: x<-K+M+P+Q+T #define ACTION_1132 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1133: x<-K+M+P+Q+U #define ACTION_1133 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1134: x<-K+M+P+Q+V #define ACTION_1134 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1135: x<-K+M+P+Q+W #define ACTION_1135 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1136: x<-K+M+P+R+T #define ACTION_1136 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1137: x<-K+M+P+R+U #define ACTION_1137 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1138: x<-K+M+P+R+V #define ACTION_1138 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1139: x<-K+M+P+R+W #define ACTION_1139 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1140: x<-K+M+P+T+U #define ACTION_1140 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1141: x<-K+M+P+T+V #define ACTION_1141 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1142: x<-K+M+P+T+W #define ACTION_1142 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1143: x<-K+M+P+U+V #define ACTION_1143 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1144: x<-K+M+P+U+W #define ACTION_1144 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1145: x<-K+M+P+V+W #define ACTION_1145 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1146: x<-K+M+Q+R+T #define ACTION_1146 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1147: x<-K+M+Q+R+U #define ACTION_1147 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1148: x<-K+M+Q+R+V #define ACTION_1148 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1149: x<-K+M+Q+R+W #define ACTION_1149 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1150: x<-K+M+Q+S+T #define ACTION_1150 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1151: x<-K+M+Q+S+U #define ACTION_1151 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1152: x<-K+M+Q+S+V #define ACTION_1152 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1153: x<-K+M+Q+S+W #define ACTION_1153 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1154: x<-K+M+Q+T+U #define ACTION_1154 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1155: x<-K+M+Q+T+V #define ACTION_1155 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1156: x<-K+M+Q+T+W #define ACTION_1156 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1157: x<-K+M+Q+U+V #define ACTION_1157 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1158: x<-K+M+Q+U+W #define ACTION_1158 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1159: x<-K+M+Q+V+W #define ACTION_1159 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1160: x<-K+M+R+S+T #define ACTION_1160 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1161: x<-K+M+R+S+U #define ACTION_1161 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1162: x<-K+M+R+S+V #define ACTION_1162 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1163: x<-K+M+R+S+W #define ACTION_1163 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1164: x<-K+M+R+T+U #define ACTION_1164 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1165: x<-K+M+R+T+V #define ACTION_1165 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1166: x<-K+M+R+T+W #define ACTION_1166 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1167: x<-K+M+R+U+V #define ACTION_1167 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1168: x<-K+M+R+U+W #define ACTION_1168 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1169: x<-K+M+R+V+W #define ACTION_1169 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1170: x<-K+M+S+T+U #define ACTION_1170 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1171: x<-K+M+S+T+V #define ACTION_1171 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1172: x<-K+M+S+T+W #define ACTION_1172 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1173: x<-K+M+S+U+V #define ACTION_1173 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1174: x<-K+M+S+U+W #define ACTION_1174 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1175: x<-K+M+S+V+W #define ACTION_1175 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1176: x<-K+M+T+U+W #define ACTION_1176 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1177: x<-K+M+T+V+W #define ACTION_1177 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1178: x<-K+M+U+V+W #define ACTION_1178 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1179: x<-K+N+O+R+T #define ACTION_1179 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1180: x<-K+N+O+R+U #define ACTION_1180 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1181: x<-K+N+O+R+V #define ACTION_1181 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1182: x<-K+N+O+R+W #define ACTION_1182 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1183: x<-K+N+O+S+T #define ACTION_1183 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1184: x<-K+N+O+S+U #define ACTION_1184 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1185: x<-K+N+O+S+V #define ACTION_1185 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1186: x<-K+N+O+S+W #define ACTION_1186 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1187: x<-K+N+O+T+U #define ACTION_1187 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1188: x<-K+N+O+T+V #define ACTION_1188 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1189: x<-K+N+O+T+W #define ACTION_1189 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1190: x<-K+N+O+U+V #define ACTION_1190 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1191: x<-K+N+O+U+W #define ACTION_1191 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1192: x<-K+N+O+V+W #define ACTION_1192 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1193: x<-K+N+P+R+T #define ACTION_1193 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1194: x<-K+N+P+R+U #define ACTION_1194 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1195: x<-K+N+P+R+V #define ACTION_1195 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1196: x<-K+N+P+R+W #define ACTION_1196 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1197: x<-K+N+P+S+T #define ACTION_1197 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1198: x<-K+N+P+S+U #define ACTION_1198 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1199: x<-K+N+P+S+V #define ACTION_1199 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1200: x<-K+N+P+S+W #define ACTION_1200 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1201: x<-K+N+P+T+U #define ACTION_1201 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1202: x<-K+N+P+T+V #define ACTION_1202 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1203: x<-K+N+P+T+W #define ACTION_1203 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1204: x<-K+N+P+U+V #define ACTION_1204 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1205: x<-K+N+P+U+W #define ACTION_1205 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1206: x<-K+N+P+V+W #define ACTION_1206 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1207: x<-K+N+R+T+U #define ACTION_1207 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1208: x<-K+N+R+T+V #define ACTION_1208 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1209: x<-K+N+R+T+W #define ACTION_1209 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1210: x<-K+N+R+U+V #define ACTION_1210 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1211: x<-K+N+R+U+W #define ACTION_1211 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1212: x<-K+N+R+V+W #define ACTION_1212 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1213: x<-K+N+S+T+U #define ACTION_1213 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1214: x<-K+N+S+T+V #define ACTION_1214 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1215: x<-K+N+S+T+W #define ACTION_1215 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1216: x<-K+N+S+U+V #define ACTION_1216 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1217: x<-K+N+S+U+W #define ACTION_1217 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1218: x<-K+N+S+V+W #define ACTION_1218 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1219: x<-K+N+T+U+W #define ACTION_1219 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1220: x<-K+N+T+V+W #define ACTION_1220 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1221: x<-K+N+U+V+W #define ACTION_1221 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1222: x<-K+O+P+S+T #define ACTION_1222 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1223: x<-K+O+P+S+U #define ACTION_1223 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1224: x<-K+O+P+S+V #define ACTION_1224 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1225: x<-K+O+P+S+W #define ACTION_1225 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1226: x<-K+O+P+T+U #define ACTION_1226 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1227: x<-K+O+P+T+V #define ACTION_1227 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1228: x<-K+O+P+T+W #define ACTION_1228 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1229: x<-K+O+P+U+V #define ACTION_1229 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1230: x<-K+O+P+U+W #define ACTION_1230 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1231: x<-K+O+P+V+W #define ACTION_1231 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1232: x<-K+O+Q+R+T #define ACTION_1232 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1233: x<-K+O+Q+R+U #define ACTION_1233 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1234: x<-K+O+Q+R+V #define ACTION_1234 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1235: x<-K+O+Q+R+W #define ACTION_1235 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1236: x<-K+O+Q+S+T #define ACTION_1236 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1237: x<-K+O+Q+S+U #define ACTION_1237 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1238: x<-K+O+Q+S+V #define ACTION_1238 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1239: x<-K+O+Q+S+W #define ACTION_1239 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1240: x<-K+O+Q+T+U #define ACTION_1240 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1241: x<-K+O+Q+T+V #define ACTION_1241 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1242: x<-K+O+Q+T+W #define ACTION_1242 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1243: x<-K+O+Q+U+V #define ACTION_1243 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1244: x<-K+O+Q+U+W #define ACTION_1244 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1245: x<-K+O+Q+V+W #define ACTION_1245 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1246: x<-K+O+R+S+T #define ACTION_1246 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1247: x<-K+O+R+S+U #define ACTION_1247 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1248: x<-K+O+R+S+V #define ACTION_1248 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1249: x<-K+O+R+S+W #define ACTION_1249 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1250: x<-K+O+R+T+U #define ACTION_1250 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1251: x<-K+O+R+T+V #define ACTION_1251 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1252: x<-K+O+R+T+W #define ACTION_1252 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1253: x<-K+O+R+U+V #define ACTION_1253 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1254: x<-K+O+R+U+W #define ACTION_1254 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1255: x<-K+O+R+V+W #define ACTION_1255 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1256: x<-K+O+S+T+U #define ACTION_1256 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1257: x<-K+O+S+T+V #define ACTION_1257 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1258: x<-K+O+S+T+W #define ACTION_1258 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1259: x<-K+O+S+U+V #define ACTION_1259 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1260: x<-K+O+S+U+W #define ACTION_1260 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1261: x<-K+O+S+V+W #define ACTION_1261 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1262: x<-K+O+T+U+W #define ACTION_1262 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1263: x<-K+O+T+V+W #define ACTION_1263 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1264: x<-K+O+U+V+W #define ACTION_1264 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1265: x<-K+P+Q+R+T #define ACTION_1265 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1266: x<-K+P+Q+R+U #define ACTION_1266 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1267: x<-K+P+Q+R+V #define ACTION_1267 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1268: x<-K+P+Q+R+W #define ACTION_1268 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1269: x<-K+P+Q+S+T #define ACTION_1269 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1270: x<-K+P+Q+S+U #define ACTION_1270 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1271: x<-K+P+Q+S+V #define ACTION_1271 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1272: x<-K+P+Q+S+W #define ACTION_1272 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1273: x<-K+P+Q+T+U #define ACTION_1273 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1274: x<-K+P+Q+T+V #define ACTION_1274 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1275: x<-K+P+Q+T+W #define ACTION_1275 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1276: x<-K+P+Q+U+V #define ACTION_1276 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1277: x<-K+P+Q+U+W #define ACTION_1277 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1278: x<-K+P+Q+V+W #define ACTION_1278 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1279: x<-K+P+R+S+T #define ACTION_1279 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1280: x<-K+P+R+S+U #define ACTION_1280 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1281: x<-K+P+R+S+V #define ACTION_1281 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1282: x<-K+P+R+S+W #define ACTION_1282 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1283: x<-K+P+R+T+U #define ACTION_1283 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1284: x<-K+P+R+T+V #define ACTION_1284 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1285: x<-K+P+R+T+W #define ACTION_1285 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1286: x<-K+P+R+U+V #define ACTION_1286 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1287: x<-K+P+R+U+W #define ACTION_1287 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1288: x<-K+P+R+V+W #define ACTION_1288 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1289: x<-K+P+S+T+U #define ACTION_1289 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1290: x<-K+P+S+T+V #define ACTION_1290 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1291: x<-K+P+S+T+W #define ACTION_1291 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1292: x<-K+P+S+U+V #define ACTION_1292 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1293: x<-K+P+S+U+W #define ACTION_1293 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1294: x<-K+P+S+V+W #define ACTION_1294 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1295: x<-K+P+T+U+W #define ACTION_1295 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1296: x<-K+P+T+V+W #define ACTION_1296 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1297: x<-K+P+U+V+W #define ACTION_1297 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1298: x<-K+Q+R+T+U #define ACTION_1298 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1299: x<-K+Q+R+T+V #define ACTION_1299 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1300: x<-K+Q+R+T+W #define ACTION_1300 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1301: x<-K+Q+R+U+V #define ACTION_1301 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1302: x<-K+Q+R+U+W #define ACTION_1302 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1303: x<-K+Q+R+V+W #define ACTION_1303 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1304: x<-K+Q+S+T+U #define ACTION_1304 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1305: x<-K+Q+S+T+V #define ACTION_1305 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1306: x<-K+Q+S+T+W #define ACTION_1306 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1307: x<-K+Q+S+U+V #define ACTION_1307 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1308: x<-K+Q+S+U+W #define ACTION_1308 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1309: x<-K+Q+S+V+W #define ACTION_1309 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1310: x<-K+Q+T+U+W #define ACTION_1310 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1311: x<-K+Q+T+V+W #define ACTION_1311 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1312: x<-K+Q+U+V+W #define ACTION_1312 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1313: x<-K+R+S+T+U #define ACTION_1313 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1314: x<-K+R+S+T+V #define ACTION_1314 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1315: x<-K+R+S+T+W #define ACTION_1315 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1316: x<-K+R+S+U+V #define ACTION_1316 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1317: x<-K+R+S+U+W #define ACTION_1317 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1318: x<-K+R+S+V+W #define ACTION_1318 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1319: x<-K+R+T+U+W #define ACTION_1319 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1320: x<-K+R+T+V+W #define ACTION_1320 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1321: x<-K+R+U+V+W #define ACTION_1321 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1322: x<-K+S+T+U+W #define ACTION_1322 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1323: x<-K+S+T+V+W #define ACTION_1323 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1324: x<-K+S+U+V+W #define ACTION_1324 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1325: x<-L+M+N+O+T #define ACTION_1325 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1326: x<-L+M+N+O+U #define ACTION_1326 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1327: x<-L+M+N+O+V #define ACTION_1327 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1328: x<-L+M+N+O+W #define ACTION_1328 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1329: x<-L+M+N+P+T #define ACTION_1329 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1330: x<-L+M+N+P+U #define ACTION_1330 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1331: x<-L+M+N+P+V #define ACTION_1331 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1332: x<-L+M+N+P+W #define ACTION_1332 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1333: x<-L+M+N+R+T #define ACTION_1333 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1334: x<-L+M+N+R+U #define ACTION_1334 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1335: x<-L+M+N+R+V #define ACTION_1335 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1336: x<-L+M+N+R+W #define ACTION_1336 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1337: x<-L+M+N+S+T #define ACTION_1337 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1338: x<-L+M+N+S+U #define ACTION_1338 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1339: x<-L+M+N+S+V #define ACTION_1339 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1340: x<-L+M+N+S+W #define ACTION_1340 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1341: x<-L+M+N+T+U #define ACTION_1341 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1342: x<-L+M+N+T+V #define ACTION_1342 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1343: x<-L+M+N+T+W #define ACTION_1343 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1344: x<-L+M+N+U+V #define ACTION_1344 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1345: x<-L+M+N+U+W #define ACTION_1345 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1346: x<-L+M+N+V+W #define ACTION_1346 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1347: x<-L+M+O+P+T #define ACTION_1347 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1348: x<-L+M+O+P+U #define ACTION_1348 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1349: x<-L+M+O+P+V #define ACTION_1349 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1350: x<-L+M+O+P+W #define ACTION_1350 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1351: x<-L+M+O+Q+T #define ACTION_1351 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1352: x<-L+M+O+Q+U #define ACTION_1352 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1353: x<-L+M+O+Q+V #define ACTION_1353 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1354: x<-L+M+O+Q+W #define ACTION_1354 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1355: x<-L+M+O+S+T #define ACTION_1355 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1356: x<-L+M+O+S+U #define ACTION_1356 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1357: x<-L+M+O+S+V #define ACTION_1357 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1358: x<-L+M+O+S+W #define ACTION_1358 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1359: x<-L+M+O+T+U #define ACTION_1359 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1360: x<-L+M+O+T+V #define ACTION_1360 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1361: x<-L+M+O+T+W #define ACTION_1361 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1362: x<-L+M+O+U+V #define ACTION_1362 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1363: x<-L+M+O+U+W #define ACTION_1363 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1364: x<-L+M+O+V+W #define ACTION_1364 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1365: x<-L+M+P+Q+T #define ACTION_1365 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1366: x<-L+M+P+Q+U #define ACTION_1366 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1367: x<-L+M+P+Q+V #define ACTION_1367 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1368: x<-L+M+P+Q+W #define ACTION_1368 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1369: x<-L+M+P+R+T #define ACTION_1369 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1370: x<-L+M+P+R+U #define ACTION_1370 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1371: x<-L+M+P+R+V #define ACTION_1371 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1372: x<-L+M+P+R+W #define ACTION_1372 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1373: x<-L+M+P+T+U #define ACTION_1373 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1374: x<-L+M+P+T+V #define ACTION_1374 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1375: x<-L+M+P+T+W #define ACTION_1375 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1376: x<-L+M+P+U+V #define ACTION_1376 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1377: x<-L+M+P+U+W #define ACTION_1377 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1378: x<-L+M+P+V+W #define ACTION_1378 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1379: x<-L+M+Q+R+T #define ACTION_1379 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1380: x<-L+M+Q+R+U #define ACTION_1380 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1381: x<-L+M+Q+R+V #define ACTION_1381 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1382: x<-L+M+Q+R+W #define ACTION_1382 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1383: x<-L+M+Q+S+T #define ACTION_1383 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1384: x<-L+M+Q+S+U #define ACTION_1384 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1385: x<-L+M+Q+S+V #define ACTION_1385 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1386: x<-L+M+Q+S+W #define ACTION_1386 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1387: x<-L+M+Q+T+U #define ACTION_1387 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1388: x<-L+M+Q+T+V #define ACTION_1388 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1389: x<-L+M+Q+T+W #define ACTION_1389 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1390: x<-L+M+Q+U+V #define ACTION_1390 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1391: x<-L+M+Q+U+W #define ACTION_1391 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1392: x<-L+M+Q+V+W #define ACTION_1392 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1393: x<-L+M+R+S+T #define ACTION_1393 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1394: x<-L+M+R+S+U #define ACTION_1394 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1395: x<-L+M+R+S+V #define ACTION_1395 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1396: x<-L+M+R+S+W #define ACTION_1396 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1397: x<-L+M+R+T+U #define ACTION_1397 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1398: x<-L+M+R+T+V #define ACTION_1398 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1399: x<-L+M+R+T+W #define ACTION_1399 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1400: x<-L+M+R+U+V #define ACTION_1400 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1401: x<-L+M+R+U+W #define ACTION_1401 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1402: x<-L+M+R+V+W #define ACTION_1402 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1403: x<-L+M+S+T+U #define ACTION_1403 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1404: x<-L+M+S+T+V #define ACTION_1404 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1405: x<-L+M+S+T+W #define ACTION_1405 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1406: x<-L+M+S+U+V #define ACTION_1406 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1407: x<-L+M+S+U+W #define ACTION_1407 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1408: x<-L+M+S+V+W #define ACTION_1408 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1409: x<-L+M+T+U+W #define ACTION_1409 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1410: x<-L+M+T+V+W #define ACTION_1410 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1411: x<-L+M+U+V+W #define ACTION_1411 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1412: x<-L+N+O+Q+T #define ACTION_1412 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1413: x<-L+N+O+Q+U #define ACTION_1413 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1414: x<-L+N+O+Q+V #define ACTION_1414 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1415: x<-L+N+O+Q+W #define ACTION_1415 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1416: x<-L+N+O+T+U #define ACTION_1416 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1417: x<-L+N+O+T+V #define ACTION_1417 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1418: x<-L+N+O+T+W #define ACTION_1418 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1419: x<-L+N+O+U+V #define ACTION_1419 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1420: x<-L+N+O+U+W #define ACTION_1420 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1421: x<-L+N+O+V+W #define ACTION_1421 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1422: x<-L+N+P+Q+T #define ACTION_1422 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1423: x<-L+N+P+Q+U #define ACTION_1423 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1424: x<-L+N+P+Q+V #define ACTION_1424 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1425: x<-L+N+P+Q+W #define ACTION_1425 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1426: x<-L+N+P+R+T #define ACTION_1426 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1427: x<-L+N+P+R+U #define ACTION_1427 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1428: x<-L+N+P+R+V #define ACTION_1428 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1429: x<-L+N+P+R+W #define ACTION_1429 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1430: x<-L+N+P+S+T #define ACTION_1430 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1431: x<-L+N+P+S+U #define ACTION_1431 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1432: x<-L+N+P+S+V #define ACTION_1432 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1433: x<-L+N+P+S+W #define ACTION_1433 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1434: x<-L+N+P+T+U #define ACTION_1434 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1435: x<-L+N+P+T+V #define ACTION_1435 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1436: x<-L+N+P+T+W #define ACTION_1436 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1437: x<-L+N+P+U+V #define ACTION_1437 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1438: x<-L+N+P+U+W #define ACTION_1438 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1439: x<-L+N+P+V+W #define ACTION_1439 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1440: x<-L+N+Q+R+T #define ACTION_1440 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1441: x<-L+N+Q+R+U #define ACTION_1441 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1442: x<-L+N+Q+R+V #define ACTION_1442 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1443: x<-L+N+Q+R+W #define ACTION_1443 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1444: x<-L+N+Q+S+T #define ACTION_1444 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1445: x<-L+N+Q+S+U #define ACTION_1445 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1446: x<-L+N+Q+S+V #define ACTION_1446 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1447: x<-L+N+Q+S+W #define ACTION_1447 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1448: x<-L+N+Q+T+U #define ACTION_1448 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1449: x<-L+N+Q+T+V #define ACTION_1449 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1450: x<-L+N+Q+T+W #define ACTION_1450 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1451: x<-L+N+Q+U+V #define ACTION_1451 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1452: x<-L+N+Q+U+W #define ACTION_1452 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1453: x<-L+N+Q+V+W #define ACTION_1453 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1454: x<-L+N+R+S+T #define ACTION_1454 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1455: x<-L+N+R+S+U #define ACTION_1455 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1456: x<-L+N+R+S+V #define ACTION_1456 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1457: x<-L+N+R+S+W #define ACTION_1457 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1458: x<-L+N+R+T+U #define ACTION_1458 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1459: x<-L+N+R+T+V #define ACTION_1459 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1460: x<-L+N+R+T+W #define ACTION_1460 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1461: x<-L+N+R+U+V #define ACTION_1461 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1462: x<-L+N+R+U+W #define ACTION_1462 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1463: x<-L+N+R+V+W #define ACTION_1463 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1464: x<-L+N+S+T+U #define ACTION_1464 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1465: x<-L+N+S+T+V #define ACTION_1465 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1466: x<-L+N+S+T+W #define ACTION_1466 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1467: x<-L+N+S+U+V #define ACTION_1467 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1468: x<-L+N+S+U+W #define ACTION_1468 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1469: x<-L+N+S+V+W #define ACTION_1469 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1470: x<-L+N+T+U+W #define ACTION_1470 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1471: x<-L+N+T+V+W #define ACTION_1471 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1472: x<-L+N+U+V+W #define ACTION_1472 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1473: x<-L+O+P+S+T #define ACTION_1473 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1474: x<-L+O+P+S+U #define ACTION_1474 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1475: x<-L+O+P+S+V #define ACTION_1475 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1476: x<-L+O+P+S+W #define ACTION_1476 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1477: x<-L+O+P+T+U #define ACTION_1477 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1478: x<-L+O+P+T+V #define ACTION_1478 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1479: x<-L+O+P+T+W #define ACTION_1479 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1480: x<-L+O+P+U+V #define ACTION_1480 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1481: x<-L+O+P+U+W #define ACTION_1481 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1482: x<-L+O+P+V+W #define ACTION_1482 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1483: x<-L+O+Q+T+U #define ACTION_1483 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1484: x<-L+O+Q+T+V #define ACTION_1484 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1485: x<-L+O+Q+T+W #define ACTION_1485 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1486: x<-L+O+Q+U+V #define ACTION_1486 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1487: x<-L+O+Q+U+W #define ACTION_1487 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1488: x<-L+O+Q+V+W #define ACTION_1488 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1489: x<-L+O+S+T+U #define ACTION_1489 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1490: x<-L+O+S+T+V #define ACTION_1490 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1491: x<-L+O+S+T+W #define ACTION_1491 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1492: x<-L+O+S+U+V #define ACTION_1492 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1493: x<-L+O+S+U+W #define ACTION_1493 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1494: x<-L+O+S+V+W #define ACTION_1494 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1495: x<-L+O+T+U+W #define ACTION_1495 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1496: x<-L+O+T+V+W #define ACTION_1496 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1497: x<-L+O+U+V+W #define ACTION_1497 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1498: x<-L+P+Q+R+T #define ACTION_1498 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1499: x<-L+P+Q+R+U #define ACTION_1499 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1500: x<-L+P+Q+R+V #define ACTION_1500 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1501: x<-L+P+Q+R+W #define ACTION_1501 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1502: x<-L+P+Q+S+T #define ACTION_1502 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1503: x<-L+P+Q+S+U #define ACTION_1503 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1504: x<-L+P+Q+S+V #define ACTION_1504 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1505: x<-L+P+Q+S+W #define ACTION_1505 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1506: x<-L+P+Q+T+U #define ACTION_1506 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1507: x<-L+P+Q+T+V #define ACTION_1507 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1508: x<-L+P+Q+T+W #define ACTION_1508 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1509: x<-L+P+Q+U+V #define ACTION_1509 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1510: x<-L+P+Q+U+W #define ACTION_1510 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1511: x<-L+P+Q+V+W #define ACTION_1511 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1512: x<-L+P+R+S+T #define ACTION_1512 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1513: x<-L+P+R+S+U #define ACTION_1513 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1514: x<-L+P+R+S+V #define ACTION_1514 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1515: x<-L+P+R+S+W #define ACTION_1515 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1516: x<-L+P+R+T+U #define ACTION_1516 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1517: x<-L+P+R+T+V #define ACTION_1517 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1518: x<-L+P+R+T+W #define ACTION_1518 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1519: x<-L+P+R+U+V #define ACTION_1519 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1520: x<-L+P+R+U+W #define ACTION_1520 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1521: x<-L+P+R+V+W #define ACTION_1521 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1522: x<-L+P+S+T+U #define ACTION_1522 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1523: x<-L+P+S+T+V #define ACTION_1523 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1524: x<-L+P+S+T+W #define ACTION_1524 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1525: x<-L+P+S+U+V #define ACTION_1525 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1526: x<-L+P+S+U+W #define ACTION_1526 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1527: x<-L+P+S+V+W #define ACTION_1527 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1528: x<-L+P+T+U+W #define ACTION_1528 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1529: x<-L+P+T+V+W #define ACTION_1529 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1530: x<-L+P+U+V+W #define ACTION_1530 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1531: x<-L+Q+R+T+U #define ACTION_1531 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1532: x<-L+Q+R+T+V #define ACTION_1532 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1533: x<-L+Q+R+T+W #define ACTION_1533 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1534: x<-L+Q+R+U+V #define ACTION_1534 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1535: x<-L+Q+R+U+W #define ACTION_1535 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1536: x<-L+Q+R+V+W #define ACTION_1536 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1537: x<-L+Q+S+T+U #define ACTION_1537 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1538: x<-L+Q+S+T+V #define ACTION_1538 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1539: x<-L+Q+S+T+W #define ACTION_1539 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1540: x<-L+Q+S+U+V #define ACTION_1540 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1541: x<-L+Q+S+U+W #define ACTION_1541 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1542: x<-L+Q+S+V+W #define ACTION_1542 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1543: x<-L+Q+T+U+W #define ACTION_1543 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1544: x<-L+Q+T+V+W #define ACTION_1544 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1545: x<-L+Q+U+V+W #define ACTION_1545 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1546: x<-L+R+S+T+U #define ACTION_1546 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1547: x<-L+R+S+T+V #define ACTION_1547 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1548: x<-L+R+S+T+W #define ACTION_1548 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1549: x<-L+R+S+U+V #define ACTION_1549 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1550: x<-L+R+S+U+W #define ACTION_1550 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1551: x<-L+R+S+V+W #define ACTION_1551 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1552: x<-L+R+T+U+W #define ACTION_1552 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1553: x<-L+R+T+V+W #define ACTION_1553 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1554: x<-L+R+U+V+W #define ACTION_1554 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1555: x<-L+S+T+U+W #define ACTION_1555 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 1556: x<-L+S+T+V+W #define ACTION_1556 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 1557: x<-L+S+U+V+W #define ACTION_1557 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 1558: x<-M+N+O+Q+T #define ACTION_1558 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1559: x<-M+N+O+Q+U #define ACTION_1559 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1560: x<-M+N+O+Q+V #define ACTION_1560 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1561: x<-M+N+O+Q+W #define ACTION_1561 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1562: x<-M+N+O+T+U #define ACTION_1562 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1563: x<-M+N+O+T+V #define ACTION_1563 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1564: x<-M+N+O+T+W #define ACTION_1564 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1565: x<-M+N+O+U+V #define ACTION_1565 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1566: x<-M+N+O+U+W #define ACTION_1566 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1567: x<-M+N+O+V+W #define ACTION_1567 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1568: x<-M+N+P+Q+T #define ACTION_1568 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1569: x<-M+N+P+Q+U #define ACTION_1569 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1570: x<-M+N+P+Q+V #define ACTION_1570 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1571: x<-M+N+P+Q+W #define ACTION_1571 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1572: x<-M+N+P+R+T #define ACTION_1572 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1573: x<-M+N+P+R+U #define ACTION_1573 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1574: x<-M+N+P+R+V #define ACTION_1574 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1575: x<-M+N+P+R+W #define ACTION_1575 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1576: x<-M+N+P+T+U #define ACTION_1576 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1577: x<-M+N+P+T+V #define ACTION_1577 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1578: x<-M+N+P+T+W #define ACTION_1578 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1579: x<-M+N+P+U+V #define ACTION_1579 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1580: x<-M+N+P+U+W #define ACTION_1580 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1581: x<-M+N+P+V+W #define ACTION_1581 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1582: x<-M+N+Q+R+T #define ACTION_1582 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1583: x<-M+N+Q+R+U #define ACTION_1583 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1584: x<-M+N+Q+R+V #define ACTION_1584 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1585: x<-M+N+Q+R+W #define ACTION_1585 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1586: x<-M+N+Q+S+T #define ACTION_1586 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1587: x<-M+N+Q+S+U #define ACTION_1587 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1588: x<-M+N+Q+S+V #define ACTION_1588 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1589: x<-M+N+Q+S+W #define ACTION_1589 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1590: x<-M+N+Q+T+U #define ACTION_1590 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1591: x<-M+N+Q+T+V #define ACTION_1591 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1592: x<-M+N+Q+T+W #define ACTION_1592 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1593: x<-M+N+Q+U+V #define ACTION_1593 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1594: x<-M+N+Q+U+W #define ACTION_1594 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1595: x<-M+N+Q+V+W #define ACTION_1595 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1596: x<-M+N+R+S+T #define ACTION_1596 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1597: x<-M+N+R+S+U #define ACTION_1597 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1598: x<-M+N+R+S+V #define ACTION_1598 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1599: x<-M+N+R+S+W #define ACTION_1599 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1600: x<-M+N+R+T+U #define ACTION_1600 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1601: x<-M+N+R+T+V #define ACTION_1601 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1602: x<-M+N+R+T+W #define ACTION_1602 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1603: x<-M+N+R+U+V #define ACTION_1603 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1604: x<-M+N+R+U+W #define ACTION_1604 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1605: x<-M+N+R+V+W #define ACTION_1605 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1606: x<-M+N+S+T+U #define ACTION_1606 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1607: x<-M+N+S+T+V #define ACTION_1607 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1608: x<-M+N+S+T+W #define ACTION_1608 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1609: x<-M+N+S+U+V #define ACTION_1609 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1610: x<-M+N+S+U+W #define ACTION_1610 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1611: x<-M+N+S+V+W #define ACTION_1611 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1612: x<-M+N+T+U+W #define ACTION_1612 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1613: x<-M+N+T+V+W #define ACTION_1613 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1614: x<-M+N+U+V+W #define ACTION_1614 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1615: x<-M+O+P+Q+T #define ACTION_1615 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1616: x<-M+O+P+Q+U #define ACTION_1616 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1617: x<-M+O+P+Q+V #define ACTION_1617 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1618: x<-M+O+P+Q+W #define ACTION_1618 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1619: x<-M+O+P+R+T #define ACTION_1619 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1620: x<-M+O+P+R+U #define ACTION_1620 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1621: x<-M+O+P+R+V #define ACTION_1621 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1622: x<-M+O+P+R+W #define ACTION_1622 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1623: x<-M+O+P+T+U #define ACTION_1623 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1624: x<-M+O+P+T+V #define ACTION_1624 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1625: x<-M+O+P+T+W #define ACTION_1625 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1626: x<-M+O+P+U+V #define ACTION_1626 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1627: x<-M+O+P+U+W #define ACTION_1627 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1628: x<-M+O+P+V+W #define ACTION_1628 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1629: x<-M+O+Q+R+T #define ACTION_1629 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1630: x<-M+O+Q+R+U #define ACTION_1630 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1631: x<-M+O+Q+R+V #define ACTION_1631 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1632: x<-M+O+Q+R+W #define ACTION_1632 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1633: x<-M+O+Q+S+T #define ACTION_1633 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1634: x<-M+O+Q+S+U #define ACTION_1634 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1635: x<-M+O+Q+S+V #define ACTION_1635 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1636: x<-M+O+Q+S+W #define ACTION_1636 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1637: x<-M+O+Q+T+U #define ACTION_1637 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1638: x<-M+O+Q+T+V #define ACTION_1638 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1639: x<-M+O+Q+T+W #define ACTION_1639 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1640: x<-M+O+Q+U+V #define ACTION_1640 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1641: x<-M+O+Q+U+W #define ACTION_1641 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1642: x<-M+O+Q+V+W #define ACTION_1642 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1643: x<-M+O+R+S+T #define ACTION_1643 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1644: x<-M+O+R+S+U #define ACTION_1644 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1645: x<-M+O+R+S+V #define ACTION_1645 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1646: x<-M+O+R+S+W #define ACTION_1646 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1647: x<-M+O+R+T+U #define ACTION_1647 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1648: x<-M+O+R+T+V #define ACTION_1648 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1649: x<-M+O+R+T+W #define ACTION_1649 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1650: x<-M+O+R+U+V #define ACTION_1650 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1651: x<-M+O+R+U+W #define ACTION_1651 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1652: x<-M+O+R+V+W #define ACTION_1652 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1653: x<-M+O+S+T+U #define ACTION_1653 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1654: x<-M+O+S+T+V #define ACTION_1654 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1655: x<-M+O+S+T+W #define ACTION_1655 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1656: x<-M+O+S+U+V #define ACTION_1656 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1657: x<-M+O+S+U+W #define ACTION_1657 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1658: x<-M+O+S+V+W #define ACTION_1658 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1659: x<-M+O+T+U+W #define ACTION_1659 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1660: x<-M+O+T+V+W #define ACTION_1660 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1661: x<-M+O+U+V+W #define ACTION_1661 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1662: x<-M+P+Q+T+U #define ACTION_1662 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1663: x<-M+P+Q+T+V #define ACTION_1663 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1664: x<-M+P+Q+T+W #define ACTION_1664 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1665: x<-M+P+Q+U+V #define ACTION_1665 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1666: x<-M+P+Q+U+W #define ACTION_1666 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1667: x<-M+P+Q+V+W #define ACTION_1667 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1668: x<-M+P+R+T+U #define ACTION_1668 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1669: x<-M+P+R+T+V #define ACTION_1669 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1670: x<-M+P+R+T+W #define ACTION_1670 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1671: x<-M+P+R+U+V #define ACTION_1671 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1672: x<-M+P+R+U+W #define ACTION_1672 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1673: x<-M+P+R+V+W #define ACTION_1673 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1674: x<-M+P+T+U+W #define ACTION_1674 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1675: x<-M+P+T+V+W #define ACTION_1675 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1676: x<-M+P+U+V+W #define ACTION_1676 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1677: x<-M+Q+R+T+U #define ACTION_1677 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1678: x<-M+Q+R+T+V #define ACTION_1678 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1679: x<-M+Q+R+T+W #define ACTION_1679 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1680: x<-M+Q+R+U+V #define ACTION_1680 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1681: x<-M+Q+R+U+W #define ACTION_1681 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1682: x<-M+Q+R+V+W #define ACTION_1682 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1683: x<-M+Q+S+T+U #define ACTION_1683 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1684: x<-M+Q+S+T+V #define ACTION_1684 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1685: x<-M+Q+S+T+W #define ACTION_1685 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1686: x<-M+Q+S+U+V #define ACTION_1686 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1687: x<-M+Q+S+U+W #define ACTION_1687 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1688: x<-M+Q+S+V+W #define ACTION_1688 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1689: x<-M+Q+T+U+W #define ACTION_1689 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1690: x<-M+Q+T+V+W #define ACTION_1690 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1691: x<-M+Q+U+V+W #define ACTION_1691 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1692: x<-M+R+S+T+U #define ACTION_1692 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1693: x<-M+R+S+T+V #define ACTION_1693 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1694: x<-M+R+S+T+W #define ACTION_1694 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1695: x<-M+R+S+U+V #define ACTION_1695 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1696: x<-M+R+S+U+W #define ACTION_1696 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1697: x<-M+R+S+V+W #define ACTION_1697 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1698: x<-M+R+T+U+W #define ACTION_1698 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1699: x<-M+R+T+V+W #define ACTION_1699 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1700: x<-M+R+U+V+W #define ACTION_1700 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1701: x<-M+S+T+U+W #define ACTION_1701 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1702: x<-M+S+T+V+W #define ACTION_1702 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1703: x<-M+S+U+V+W #define ACTION_1703 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1704: x<-N+O+Q+R+T #define ACTION_1704 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1705: x<-N+O+Q+R+U #define ACTION_1705 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1706: x<-N+O+Q+R+V #define ACTION_1706 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1707: x<-N+O+Q+R+W #define ACTION_1707 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1708: x<-N+O+Q+S+T #define ACTION_1708 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1709: x<-N+O+Q+S+U #define ACTION_1709 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1710: x<-N+O+Q+S+V #define ACTION_1710 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1711: x<-N+O+Q+S+W #define ACTION_1711 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1712: x<-N+O+Q+T+U #define ACTION_1712 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1713: x<-N+O+Q+T+V #define ACTION_1713 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1714: x<-N+O+Q+T+W #define ACTION_1714 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1715: x<-N+O+Q+U+V #define ACTION_1715 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1716: x<-N+O+Q+U+W #define ACTION_1716 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1717: x<-N+O+Q+V+W #define ACTION_1717 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1718: x<-N+O+R+S+T #define ACTION_1718 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1719: x<-N+O+R+S+U #define ACTION_1719 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1720: x<-N+O+R+S+V #define ACTION_1720 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1721: x<-N+O+R+S+W #define ACTION_1721 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1722: x<-N+O+R+T+U #define ACTION_1722 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1723: x<-N+O+R+T+V #define ACTION_1723 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1724: x<-N+O+R+T+W #define ACTION_1724 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1725: x<-N+O+R+U+V #define ACTION_1725 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1726: x<-N+O+R+U+W #define ACTION_1726 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1727: x<-N+O+R+V+W #define ACTION_1727 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1728: x<-N+O+S+T+U #define ACTION_1728 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1729: x<-N+O+S+T+V #define ACTION_1729 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1730: x<-N+O+S+T+W #define ACTION_1730 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1731: x<-N+O+S+U+V #define ACTION_1731 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1732: x<-N+O+S+U+W #define ACTION_1732 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1733: x<-N+O+S+V+W #define ACTION_1733 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1734: x<-N+O+T+U+W #define ACTION_1734 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1735: x<-N+O+T+V+W #define ACTION_1735 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1736: x<-N+O+U+V+W #define ACTION_1736 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1737: x<-N+P+Q+R+T #define ACTION_1737 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1738: x<-N+P+Q+R+U #define ACTION_1738 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1739: x<-N+P+Q+R+V #define ACTION_1739 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1740: x<-N+P+Q+R+W #define ACTION_1740 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1741: x<-N+P+Q+S+T #define ACTION_1741 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1742: x<-N+P+Q+S+U #define ACTION_1742 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1743: x<-N+P+Q+S+V #define ACTION_1743 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1744: x<-N+P+Q+S+W #define ACTION_1744 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1745: x<-N+P+Q+T+U #define ACTION_1745 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1746: x<-N+P+Q+T+V #define ACTION_1746 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1747: x<-N+P+Q+T+W #define ACTION_1747 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1748: x<-N+P+Q+U+V #define ACTION_1748 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1749: x<-N+P+Q+U+W #define ACTION_1749 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1750: x<-N+P+Q+V+W #define ACTION_1750 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1751: x<-N+P+R+S+T #define ACTION_1751 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1752: x<-N+P+R+S+U #define ACTION_1752 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1753: x<-N+P+R+S+V #define ACTION_1753 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1754: x<-N+P+R+S+W #define ACTION_1754 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1755: x<-N+P+R+T+U #define ACTION_1755 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1756: x<-N+P+R+T+V #define ACTION_1756 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1757: x<-N+P+R+T+W #define ACTION_1757 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1758: x<-N+P+R+U+V #define ACTION_1758 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1759: x<-N+P+R+U+W #define ACTION_1759 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1760: x<-N+P+R+V+W #define ACTION_1760 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1761: x<-N+P+S+T+U #define ACTION_1761 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1762: x<-N+P+S+T+V #define ACTION_1762 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1763: x<-N+P+S+T+W #define ACTION_1763 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1764: x<-N+P+S+U+V #define ACTION_1764 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1765: x<-N+P+S+U+W #define ACTION_1765 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1766: x<-N+P+S+V+W #define ACTION_1766 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1767: x<-N+P+T+U+W #define ACTION_1767 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1768: x<-N+P+T+V+W #define ACTION_1768 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1769: x<-N+P+U+V+W #define ACTION_1769 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1770: x<-N+Q+R+T+U #define ACTION_1770 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1771: x<-N+Q+R+T+V #define ACTION_1771 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1772: x<-N+Q+R+T+W #define ACTION_1772 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1773: x<-N+Q+R+U+V #define ACTION_1773 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1774: x<-N+Q+R+U+W #define ACTION_1774 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1775: x<-N+Q+R+V+W #define ACTION_1775 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1776: x<-N+Q+S+T+U #define ACTION_1776 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1777: x<-N+Q+S+T+V #define ACTION_1777 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1778: x<-N+Q+S+T+W #define ACTION_1778 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1779: x<-N+Q+S+U+V #define ACTION_1779 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1780: x<-N+Q+S+U+W #define ACTION_1780 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1781: x<-N+Q+S+V+W #define ACTION_1781 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1782: x<-N+Q+T+U+W #define ACTION_1782 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1783: x<-N+Q+T+V+W #define ACTION_1783 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1784: x<-N+Q+U+V+W #define ACTION_1784 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1785: x<-N+R+S+T+U #define ACTION_1785 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1786: x<-N+R+S+T+V #define ACTION_1786 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1787: x<-N+R+S+T+W #define ACTION_1787 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1788: x<-N+R+S+U+V #define ACTION_1788 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1789: x<-N+R+S+U+W #define ACTION_1789 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1790: x<-N+R+S+V+W #define ACTION_1790 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1791: x<-N+R+T+U+W #define ACTION_1791 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1792: x<-N+R+T+V+W #define ACTION_1792 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1793: x<-N+R+U+V+W #define ACTION_1793 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1794: x<-N+S+T+U+W #define ACTION_1794 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1795: x<-N+S+T+V+W #define ACTION_1795 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1796: x<-N+S+U+V+W #define ACTION_1796 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1797: x<-O+P+Q+R+T #define ACTION_1797 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1798: x<-O+P+Q+R+U #define ACTION_1798 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1799: x<-O+P+Q+R+V #define ACTION_1799 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1800: x<-O+P+Q+R+W #define ACTION_1800 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1801: x<-O+P+Q+S+T #define ACTION_1801 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1802: x<-O+P+Q+S+U #define ACTION_1802 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1803: x<-O+P+Q+S+V #define ACTION_1803 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1804: x<-O+P+Q+S+W #define ACTION_1804 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1805: x<-O+P+Q+T+U #define ACTION_1805 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1806: x<-O+P+Q+T+V #define ACTION_1806 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1807: x<-O+P+Q+T+W #define ACTION_1807 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1808: x<-O+P+Q+U+V #define ACTION_1808 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1809: x<-O+P+Q+U+W #define ACTION_1809 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1810: x<-O+P+Q+V+W #define ACTION_1810 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1811: x<-O+P+R+S+T #define ACTION_1811 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1812: x<-O+P+R+S+U #define ACTION_1812 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1813: x<-O+P+R+S+V #define ACTION_1813 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1814: x<-O+P+R+S+W #define ACTION_1814 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1815: x<-O+P+R+T+U #define ACTION_1815 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1816: x<-O+P+R+T+V #define ACTION_1816 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1817: x<-O+P+R+T+W #define ACTION_1817 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1818: x<-O+P+R+U+V #define ACTION_1818 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1819: x<-O+P+R+U+W #define ACTION_1819 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1820: x<-O+P+R+V+W #define ACTION_1820 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1821: x<-O+P+S+T+U #define ACTION_1821 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1822: x<-O+P+S+T+V #define ACTION_1822 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1823: x<-O+P+S+T+W #define ACTION_1823 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1824: x<-O+P+S+U+V #define ACTION_1824 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1825: x<-O+P+S+U+W #define ACTION_1825 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1826: x<-O+P+S+V+W #define ACTION_1826 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1827: x<-O+P+T+U+W #define ACTION_1827 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1828: x<-O+P+T+V+W #define ACTION_1828 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1829: x<-O+P+U+V+W #define ACTION_1829 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1830: x<-O+Q+R+T+U #define ACTION_1830 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1831: x<-O+Q+R+T+V #define ACTION_1831 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1832: x<-O+Q+R+T+W #define ACTION_1832 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1833: x<-O+Q+R+U+V #define ACTION_1833 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1834: x<-O+Q+R+U+W #define ACTION_1834 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1835: x<-O+Q+R+V+W #define ACTION_1835 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1836: x<-O+Q+S+T+U #define ACTION_1836 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1837: x<-O+Q+S+T+V #define ACTION_1837 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1838: x<-O+Q+S+T+W #define ACTION_1838 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1839: x<-O+Q+S+U+V #define ACTION_1839 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1840: x<-O+Q+S+U+W #define ACTION_1840 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1841: x<-O+Q+S+V+W #define ACTION_1841 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1842: x<-O+Q+T+U+W #define ACTION_1842 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1843: x<-O+Q+T+V+W #define ACTION_1843 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1844: x<-O+Q+U+V+W #define ACTION_1844 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1845: x<-O+R+S+T+U #define ACTION_1845 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1846: x<-O+R+S+T+V #define ACTION_1846 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1847: x<-O+R+S+T+W #define ACTION_1847 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1848: x<-O+R+S+U+V #define ACTION_1848 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1849: x<-O+R+S+U+W #define ACTION_1849 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1850: x<-O+R+S+V+W #define ACTION_1850 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1851: x<-O+R+T+U+W #define ACTION_1851 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1852: x<-O+R+T+V+W #define ACTION_1852 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1853: x<-O+R+U+V+W #define ACTION_1853 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1854: x<-O+S+T+U+W #define ACTION_1854 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 1855: x<-O+S+T+V+W #define ACTION_1855 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 1856: x<-O+S+U+V+W #define ACTION_1856 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 1857: x<-P+Q+R+T+U #define ACTION_1857 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1858: x<-P+Q+R+T+V #define ACTION_1858 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1859: x<-P+Q+R+T+W #define ACTION_1859 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1860: x<-P+Q+R+U+V #define ACTION_1860 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1861: x<-P+Q+R+U+W #define ACTION_1861 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1862: x<-P+Q+R+V+W #define ACTION_1862 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1863: x<-P+Q+S+T+U #define ACTION_1863 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1864: x<-P+Q+S+T+V #define ACTION_1864 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1865: x<-P+Q+S+T+W #define ACTION_1865 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1866: x<-P+Q+S+U+V #define ACTION_1866 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1867: x<-P+Q+S+U+W #define ACTION_1867 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1868: x<-P+Q+S+V+W #define ACTION_1868 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1869: x<-P+Q+T+U+W #define ACTION_1869 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1870: x<-P+Q+T+V+W #define ACTION_1870 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1871: x<-P+Q+U+V+W #define ACTION_1871 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1872: x<-P+R+S+T+U #define ACTION_1872 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1873: x<-P+R+S+T+V #define ACTION_1873 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1874: x<-P+R+S+T+W #define ACTION_1874 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1875: x<-P+R+S+U+V #define ACTION_1875 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1876: x<-P+R+S+U+W #define ACTION_1876 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1877: x<-P+R+S+V+W #define ACTION_1877 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1878: x<-P+R+T+U+W #define ACTION_1878 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1879: x<-P+R+T+V+W #define ACTION_1879 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1880: x<-P+R+U+V+W #define ACTION_1880 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1881: x<-P+S+T+U+W #define ACTION_1881 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 1882: x<-P+S+T+V+W #define ACTION_1882 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 1883: x<-P+S+U+V+W #define ACTION_1883 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 1884: x<-Q+R+T+U+W #define ACTION_1884 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 1885: x<-Q+R+T+V+W #define ACTION_1885 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 1886: x<-Q+R+U+V+W #define ACTION_1886 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 1887: x<-Q+S+T+U+W #define ACTION_1887 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 1888: x<-Q+S+T+V+W #define ACTION_1888 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 1889: x<-Q+S+U+V+W #define ACTION_1889 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 1890: x<-R+S+T+U+W #define ACTION_1890 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 1891: x<-R+S+T+V+W #define ACTION_1891 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 1892: x<-R+S+U+V+W #define ACTION_1892 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 1893: x<-K+L+N+O+T+U #define ACTION_1893 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1894: x<-K+L+N+O+T+V #define ACTION_1894 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1895: x<-K+L+N+O+T+W #define ACTION_1895 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1896: x<-K+L+N+O+U+V #define ACTION_1896 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1897: x<-K+L+N+O+U+W #define ACTION_1897 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1898: x<-K+L+N+O+V+W #define ACTION_1898 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1899: x<-K+L+N+P+T+U #define ACTION_1899 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1900: x<-K+L+N+P+T+V #define ACTION_1900 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1901: x<-K+L+N+P+T+W #define ACTION_1901 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1902: x<-K+L+N+P+U+V #define ACTION_1902 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1903: x<-K+L+N+P+U+W #define ACTION_1903 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1904: x<-K+L+N+P+V+W #define ACTION_1904 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1905: x<-K+L+N+R+T+U #define ACTION_1905 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1906: x<-K+L+N+R+T+V #define ACTION_1906 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1907: x<-K+L+N+R+T+W #define ACTION_1907 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1908: x<-K+L+N+R+U+V #define ACTION_1908 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1909: x<-K+L+N+R+U+W #define ACTION_1909 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1910: x<-K+L+N+R+V+W #define ACTION_1910 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1911: x<-K+L+N+S+T+U #define ACTION_1911 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1912: x<-K+L+N+S+T+V #define ACTION_1912 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1913: x<-K+L+N+S+T+W #define ACTION_1913 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1914: x<-K+L+N+S+U+V #define ACTION_1914 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1915: x<-K+L+N+S+U+W #define ACTION_1915 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1916: x<-K+L+N+S+V+W #define ACTION_1916 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1917: x<-K+L+N+T+U+W #define ACTION_1917 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1918: x<-K+L+N+T+V+W #define ACTION_1918 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1919: x<-K+L+N+U+V+W #define ACTION_1919 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1920: x<-K+L+O+P+T+U #define ACTION_1920 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1921: x<-K+L+O+P+T+V #define ACTION_1921 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1922: x<-K+L+O+P+T+W #define ACTION_1922 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1923: x<-K+L+O+P+U+V #define ACTION_1923 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1924: x<-K+L+O+P+U+W #define ACTION_1924 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1925: x<-K+L+O+P+V+W #define ACTION_1925 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1926: x<-K+L+O+Q+T+U #define ACTION_1926 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1927: x<-K+L+O+Q+T+V #define ACTION_1927 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1928: x<-K+L+O+Q+T+W #define ACTION_1928 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1929: x<-K+L+O+Q+U+V #define ACTION_1929 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1930: x<-K+L+O+Q+U+W #define ACTION_1930 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1931: x<-K+L+O+Q+V+W #define ACTION_1931 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1932: x<-K+L+O+S+T+U #define ACTION_1932 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1933: x<-K+L+O+S+T+V #define ACTION_1933 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1934: x<-K+L+O+S+T+W #define ACTION_1934 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1935: x<-K+L+O+S+U+V #define ACTION_1935 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1936: x<-K+L+O+S+U+W #define ACTION_1936 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1937: x<-K+L+O+S+V+W #define ACTION_1937 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1938: x<-K+L+O+T+U+W #define ACTION_1938 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1939: x<-K+L+O+T+V+W #define ACTION_1939 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1940: x<-K+L+O+U+V+W #define ACTION_1940 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1941: x<-K+L+P+Q+T+U #define ACTION_1941 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1942: x<-K+L+P+Q+T+V #define ACTION_1942 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1943: x<-K+L+P+Q+T+W #define ACTION_1943 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1944: x<-K+L+P+Q+U+V #define ACTION_1944 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1945: x<-K+L+P+Q+U+W #define ACTION_1945 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1946: x<-K+L+P+Q+V+W #define ACTION_1946 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1947: x<-K+L+P+R+T+U #define ACTION_1947 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1948: x<-K+L+P+R+T+V #define ACTION_1948 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1949: x<-K+L+P+R+T+W #define ACTION_1949 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1950: x<-K+L+P+R+U+V #define ACTION_1950 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1951: x<-K+L+P+R+U+W #define ACTION_1951 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1952: x<-K+L+P+R+V+W #define ACTION_1952 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1953: x<-K+L+P+T+U+W #define ACTION_1953 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1954: x<-K+L+P+T+V+W #define ACTION_1954 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1955: x<-K+L+P+U+V+W #define ACTION_1955 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1956: x<-K+L+Q+R+T+U #define ACTION_1956 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1957: x<-K+L+Q+R+T+V #define ACTION_1957 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1958: x<-K+L+Q+R+T+W #define ACTION_1958 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1959: x<-K+L+Q+R+U+V #define ACTION_1959 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1960: x<-K+L+Q+R+U+W #define ACTION_1960 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1961: x<-K+L+Q+R+V+W #define ACTION_1961 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1962: x<-K+L+Q+S+T+U #define ACTION_1962 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1963: x<-K+L+Q+S+T+V #define ACTION_1963 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1964: x<-K+L+Q+S+T+W #define ACTION_1964 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1965: x<-K+L+Q+S+U+V #define ACTION_1965 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1966: x<-K+L+Q+S+U+W #define ACTION_1966 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1967: x<-K+L+Q+S+V+W #define ACTION_1967 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1968: x<-K+L+Q+T+U+W #define ACTION_1968 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1969: x<-K+L+Q+T+V+W #define ACTION_1969 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1970: x<-K+L+Q+U+V+W #define ACTION_1970 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1971: x<-K+L+R+S+T+U #define ACTION_1971 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1972: x<-K+L+R+S+T+V #define ACTION_1972 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1973: x<-K+L+R+S+T+W #define ACTION_1973 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1974: x<-K+L+R+S+U+V #define ACTION_1974 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1975: x<-K+L+R+S+U+W #define ACTION_1975 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1976: x<-K+L+R+S+V+W #define ACTION_1976 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1977: x<-K+L+R+T+U+W #define ACTION_1977 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1978: x<-K+L+R+T+V+W #define ACTION_1978 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1979: x<-K+L+R+U+V+W #define ACTION_1979 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1980: x<-K+L+S+T+U+W #define ACTION_1980 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1981: x<-K+L+S+T+V+W #define ACTION_1981 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1982: x<-K+L+S+U+V+W #define ACTION_1982 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1983: x<-K+M+N+O+T+U #define ACTION_1983 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1984: x<-K+M+N+O+T+V #define ACTION_1984 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1985: x<-K+M+N+O+T+W #define ACTION_1985 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1986: x<-K+M+N+O+U+V #define ACTION_1986 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1987: x<-K+M+N+O+U+W #define ACTION_1987 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1988: x<-K+M+N+O+V+W #define ACTION_1988 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1989: x<-K+M+N+P+T+U #define ACTION_1989 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1990: x<-K+M+N+P+T+V #define ACTION_1990 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1991: x<-K+M+N+P+T+W #define ACTION_1991 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1992: x<-K+M+N+P+U+V #define ACTION_1992 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1993: x<-K+M+N+P+U+W #define ACTION_1993 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1994: x<-K+M+N+P+V+W #define ACTION_1994 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1995: x<-K+M+N+R+T+U #define ACTION_1995 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1996: x<-K+M+N+R+T+V #define ACTION_1996 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1997: x<-K+M+N+R+T+W #define ACTION_1997 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1998: x<-K+M+N+R+U+V #define ACTION_1998 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1999: x<-K+M+N+R+U+W #define ACTION_1999 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2000: x<-K+M+N+R+V+W #define ACTION_2000 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2001: x<-K+M+N+S+T+U #define ACTION_2001 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2002: x<-K+M+N+S+T+V #define ACTION_2002 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2003: x<-K+M+N+S+T+W #define ACTION_2003 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2004: x<-K+M+N+S+U+V #define ACTION_2004 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2005: x<-K+M+N+S+U+W #define ACTION_2005 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2006: x<-K+M+N+S+V+W #define ACTION_2006 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2007: x<-K+M+N+T+U+W #define ACTION_2007 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2008: x<-K+M+N+T+V+W #define ACTION_2008 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2009: x<-K+M+N+U+V+W #define ACTION_2009 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2010: x<-K+M+O+P+T+U #define ACTION_2010 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2011: x<-K+M+O+P+T+V #define ACTION_2011 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2012: x<-K+M+O+P+T+W #define ACTION_2012 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2013: x<-K+M+O+P+U+V #define ACTION_2013 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2014: x<-K+M+O+P+U+W #define ACTION_2014 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2015: x<-K+M+O+P+V+W #define ACTION_2015 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2016: x<-K+M+O+Q+T+U #define ACTION_2016 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2017: x<-K+M+O+Q+T+V #define ACTION_2017 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2018: x<-K+M+O+Q+T+W #define ACTION_2018 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2019: x<-K+M+O+Q+U+V #define ACTION_2019 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2020: x<-K+M+O+Q+U+W #define ACTION_2020 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2021: x<-K+M+O+Q+V+W #define ACTION_2021 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2022: x<-K+M+O+S+T+U #define ACTION_2022 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2023: x<-K+M+O+S+T+V #define ACTION_2023 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2024: x<-K+M+O+S+T+W #define ACTION_2024 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2025: x<-K+M+O+S+U+V #define ACTION_2025 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2026: x<-K+M+O+S+U+W #define ACTION_2026 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2027: x<-K+M+O+S+V+W #define ACTION_2027 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2028: x<-K+M+O+T+U+W #define ACTION_2028 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2029: x<-K+M+O+T+V+W #define ACTION_2029 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2030: x<-K+M+O+U+V+W #define ACTION_2030 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2031: x<-K+M+P+Q+T+U #define ACTION_2031 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2032: x<-K+M+P+Q+T+V #define ACTION_2032 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2033: x<-K+M+P+Q+T+W #define ACTION_2033 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2034: x<-K+M+P+Q+U+V #define ACTION_2034 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2035: x<-K+M+P+Q+U+W #define ACTION_2035 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2036: x<-K+M+P+Q+V+W #define ACTION_2036 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2037: x<-K+M+P+R+T+U #define ACTION_2037 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2038: x<-K+M+P+R+T+V #define ACTION_2038 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2039: x<-K+M+P+R+T+W #define ACTION_2039 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2040: x<-K+M+P+R+U+V #define ACTION_2040 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2041: x<-K+M+P+R+U+W #define ACTION_2041 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2042: x<-K+M+P+R+V+W #define ACTION_2042 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2043: x<-K+M+P+T+U+W #define ACTION_2043 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2044: x<-K+M+P+T+V+W #define ACTION_2044 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2045: x<-K+M+P+U+V+W #define ACTION_2045 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2046: x<-K+M+Q+R+T+U #define ACTION_2046 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2047: x<-K+M+Q+R+T+V #define ACTION_2047 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2048: x<-K+M+Q+R+T+W #define ACTION_2048 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2049: x<-K+M+Q+R+U+V #define ACTION_2049 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2050: x<-K+M+Q+R+U+W #define ACTION_2050 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2051: x<-K+M+Q+R+V+W #define ACTION_2051 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2052: x<-K+M+Q+S+T+U #define ACTION_2052 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2053: x<-K+M+Q+S+T+V #define ACTION_2053 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2054: x<-K+M+Q+S+T+W #define ACTION_2054 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2055: x<-K+M+Q+S+U+V #define ACTION_2055 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2056: x<-K+M+Q+S+U+W #define ACTION_2056 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2057: x<-K+M+Q+S+V+W #define ACTION_2057 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2058: x<-K+M+Q+T+U+W #define ACTION_2058 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2059: x<-K+M+Q+T+V+W #define ACTION_2059 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2060: x<-K+M+Q+U+V+W #define ACTION_2060 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2061: x<-K+M+R+S+T+U #define ACTION_2061 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2062: x<-K+M+R+S+T+V #define ACTION_2062 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2063: x<-K+M+R+S+T+W #define ACTION_2063 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2064: x<-K+M+R+S+U+V #define ACTION_2064 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2065: x<-K+M+R+S+U+W #define ACTION_2065 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2066: x<-K+M+R+S+V+W #define ACTION_2066 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2067: x<-K+M+R+T+U+W #define ACTION_2067 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2068: x<-K+M+R+T+V+W #define ACTION_2068 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2069: x<-K+M+R+U+V+W #define ACTION_2069 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2070: x<-K+M+S+T+U+W #define ACTION_2070 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2071: x<-K+M+S+T+V+W #define ACTION_2071 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2072: x<-K+M+S+U+V+W #define ACTION_2072 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2073: x<-K+N+O+R+T+U #define ACTION_2073 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2074: x<-K+N+O+R+T+V #define ACTION_2074 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2075: x<-K+N+O+R+T+W #define ACTION_2075 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2076: x<-K+N+O+R+U+V #define ACTION_2076 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2077: x<-K+N+O+R+U+W #define ACTION_2077 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2078: x<-K+N+O+R+V+W #define ACTION_2078 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2079: x<-K+N+O+S+T+U #define ACTION_2079 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2080: x<-K+N+O+S+T+V #define ACTION_2080 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2081: x<-K+N+O+S+T+W #define ACTION_2081 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2082: x<-K+N+O+S+U+V #define ACTION_2082 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2083: x<-K+N+O+S+U+W #define ACTION_2083 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2084: x<-K+N+O+S+V+W #define ACTION_2084 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2085: x<-K+N+O+T+U+W #define ACTION_2085 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2086: x<-K+N+O+T+V+W #define ACTION_2086 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2087: x<-K+N+O+U+V+W #define ACTION_2087 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2088: x<-K+N+P+R+T+U #define ACTION_2088 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2089: x<-K+N+P+R+T+V #define ACTION_2089 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2090: x<-K+N+P+R+T+W #define ACTION_2090 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2091: x<-K+N+P+R+U+V #define ACTION_2091 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2092: x<-K+N+P+R+U+W #define ACTION_2092 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2093: x<-K+N+P+R+V+W #define ACTION_2093 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2094: x<-K+N+P+S+T+U #define ACTION_2094 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2095: x<-K+N+P+S+T+V #define ACTION_2095 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2096: x<-K+N+P+S+T+W #define ACTION_2096 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2097: x<-K+N+P+S+U+V #define ACTION_2097 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2098: x<-K+N+P+S+U+W #define ACTION_2098 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2099: x<-K+N+P+S+V+W #define ACTION_2099 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2100: x<-K+N+P+T+U+W #define ACTION_2100 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2101: x<-K+N+P+T+V+W #define ACTION_2101 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2102: x<-K+N+P+U+V+W #define ACTION_2102 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2103: x<-K+N+R+T+U+W #define ACTION_2103 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2104: x<-K+N+R+T+V+W #define ACTION_2104 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2105: x<-K+N+R+U+V+W #define ACTION_2105 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2106: x<-K+N+S+T+U+W #define ACTION_2106 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2107: x<-K+N+S+T+V+W #define ACTION_2107 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2108: x<-K+N+S+U+V+W #define ACTION_2108 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2109: x<-K+O+P+S+T+U #define ACTION_2109 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2110: x<-K+O+P+S+T+V #define ACTION_2110 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2111: x<-K+O+P+S+T+W #define ACTION_2111 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2112: x<-K+O+P+S+U+V #define ACTION_2112 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2113: x<-K+O+P+S+U+W #define ACTION_2113 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2114: x<-K+O+P+S+V+W #define ACTION_2114 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2115: x<-K+O+P+T+U+W #define ACTION_2115 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2116: x<-K+O+P+T+V+W #define ACTION_2116 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2117: x<-K+O+P+U+V+W #define ACTION_2117 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2118: x<-K+O+Q+R+T+U #define ACTION_2118 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2119: x<-K+O+Q+R+T+V #define ACTION_2119 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2120: x<-K+O+Q+R+T+W #define ACTION_2120 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2121: x<-K+O+Q+R+U+V #define ACTION_2121 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2122: x<-K+O+Q+R+U+W #define ACTION_2122 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2123: x<-K+O+Q+R+V+W #define ACTION_2123 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2124: x<-K+O+Q+S+T+U #define ACTION_2124 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2125: x<-K+O+Q+S+T+V #define ACTION_2125 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2126: x<-K+O+Q+S+T+W #define ACTION_2126 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2127: x<-K+O+Q+S+U+V #define ACTION_2127 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2128: x<-K+O+Q+S+U+W #define ACTION_2128 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2129: x<-K+O+Q+S+V+W #define ACTION_2129 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2130: x<-K+O+Q+T+U+W #define ACTION_2130 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2131: x<-K+O+Q+T+V+W #define ACTION_2131 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2132: x<-K+O+Q+U+V+W #define ACTION_2132 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2133: x<-K+O+R+S+T+U #define ACTION_2133 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2134: x<-K+O+R+S+T+V #define ACTION_2134 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2135: x<-K+O+R+S+T+W #define ACTION_2135 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2136: x<-K+O+R+S+U+V #define ACTION_2136 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2137: x<-K+O+R+S+U+W #define ACTION_2137 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2138: x<-K+O+R+S+V+W #define ACTION_2138 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2139: x<-K+O+R+T+U+W #define ACTION_2139 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2140: x<-K+O+R+T+V+W #define ACTION_2140 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2141: x<-K+O+R+U+V+W #define ACTION_2141 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2142: x<-K+O+S+T+U+W #define ACTION_2142 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2143: x<-K+O+S+T+V+W #define ACTION_2143 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2144: x<-K+O+S+U+V+W #define ACTION_2144 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2145: x<-K+P+Q+R+T+U #define ACTION_2145 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2146: x<-K+P+Q+R+T+V #define ACTION_2146 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2147: x<-K+P+Q+R+T+W #define ACTION_2147 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2148: x<-K+P+Q+R+U+V #define ACTION_2148 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2149: x<-K+P+Q+R+U+W #define ACTION_2149 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2150: x<-K+P+Q+R+V+W #define ACTION_2150 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2151: x<-K+P+Q+S+T+U #define ACTION_2151 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2152: x<-K+P+Q+S+T+V #define ACTION_2152 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2153: x<-K+P+Q+S+T+W #define ACTION_2153 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2154: x<-K+P+Q+S+U+V #define ACTION_2154 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2155: x<-K+P+Q+S+U+W #define ACTION_2155 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2156: x<-K+P+Q+S+V+W #define ACTION_2156 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2157: x<-K+P+Q+T+U+W #define ACTION_2157 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2158: x<-K+P+Q+T+V+W #define ACTION_2158 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2159: x<-K+P+Q+U+V+W #define ACTION_2159 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2160: x<-K+P+R+S+T+U #define ACTION_2160 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2161: x<-K+P+R+S+T+V #define ACTION_2161 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2162: x<-K+P+R+S+T+W #define ACTION_2162 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2163: x<-K+P+R+S+U+V #define ACTION_2163 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2164: x<-K+P+R+S+U+W #define ACTION_2164 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2165: x<-K+P+R+S+V+W #define ACTION_2165 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2166: x<-K+P+R+T+U+W #define ACTION_2166 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2167: x<-K+P+R+T+V+W #define ACTION_2167 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2168: x<-K+P+R+U+V+W #define ACTION_2168 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2169: x<-K+P+S+T+U+W #define ACTION_2169 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2170: x<-K+P+S+T+V+W #define ACTION_2170 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2171: x<-K+P+S+U+V+W #define ACTION_2171 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2172: x<-K+Q+R+T+U+W #define ACTION_2172 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2173: x<-K+Q+R+T+V+W #define ACTION_2173 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2174: x<-K+Q+R+U+V+W #define ACTION_2174 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2175: x<-K+Q+S+T+U+W #define ACTION_2175 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2176: x<-K+Q+S+T+V+W #define ACTION_2176 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2177: x<-K+Q+S+U+V+W #define ACTION_2177 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2178: x<-K+R+S+T+U+W #define ACTION_2178 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2179: x<-K+R+S+T+V+W #define ACTION_2179 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2180: x<-K+R+S+U+V+W #define ACTION_2180 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2181: x<-L+M+N+O+T+U #define ACTION_2181 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2182: x<-L+M+N+O+T+V #define ACTION_2182 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2183: x<-L+M+N+O+T+W #define ACTION_2183 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2184: x<-L+M+N+O+U+V #define ACTION_2184 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2185: x<-L+M+N+O+U+W #define ACTION_2185 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2186: x<-L+M+N+O+V+W #define ACTION_2186 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2187: x<-L+M+N+P+T+U #define ACTION_2187 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2188: x<-L+M+N+P+T+V #define ACTION_2188 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2189: x<-L+M+N+P+T+W #define ACTION_2189 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2190: x<-L+M+N+P+U+V #define ACTION_2190 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2191: x<-L+M+N+P+U+W #define ACTION_2191 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2192: x<-L+M+N+P+V+W #define ACTION_2192 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2193: x<-L+M+N+R+T+U #define ACTION_2193 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2194: x<-L+M+N+R+T+V #define ACTION_2194 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2195: x<-L+M+N+R+T+W #define ACTION_2195 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2196: x<-L+M+N+R+U+V #define ACTION_2196 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2197: x<-L+M+N+R+U+W #define ACTION_2197 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2198: x<-L+M+N+R+V+W #define ACTION_2198 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2199: x<-L+M+N+S+T+U #define ACTION_2199 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2200: x<-L+M+N+S+T+V #define ACTION_2200 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2201: x<-L+M+N+S+T+W #define ACTION_2201 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2202: x<-L+M+N+S+U+V #define ACTION_2202 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2203: x<-L+M+N+S+U+W #define ACTION_2203 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2204: x<-L+M+N+S+V+W #define ACTION_2204 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2205: x<-L+M+N+T+U+W #define ACTION_2205 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2206: x<-L+M+N+T+V+W #define ACTION_2206 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2207: x<-L+M+N+U+V+W #define ACTION_2207 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2208: x<-L+M+O+P+T+U #define ACTION_2208 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2209: x<-L+M+O+P+T+V #define ACTION_2209 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2210: x<-L+M+O+P+T+W #define ACTION_2210 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2211: x<-L+M+O+P+U+V #define ACTION_2211 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2212: x<-L+M+O+P+U+W #define ACTION_2212 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2213: x<-L+M+O+P+V+W #define ACTION_2213 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2214: x<-L+M+O+Q+T+U #define ACTION_2214 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2215: x<-L+M+O+Q+T+V #define ACTION_2215 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2216: x<-L+M+O+Q+T+W #define ACTION_2216 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2217: x<-L+M+O+Q+U+V #define ACTION_2217 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2218: x<-L+M+O+Q+U+W #define ACTION_2218 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2219: x<-L+M+O+Q+V+W #define ACTION_2219 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2220: x<-L+M+O+S+T+U #define ACTION_2220 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2221: x<-L+M+O+S+T+V #define ACTION_2221 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2222: x<-L+M+O+S+T+W #define ACTION_2222 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2223: x<-L+M+O+S+U+V #define ACTION_2223 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2224: x<-L+M+O+S+U+W #define ACTION_2224 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2225: x<-L+M+O+S+V+W #define ACTION_2225 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2226: x<-L+M+O+T+U+W #define ACTION_2226 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2227: x<-L+M+O+T+V+W #define ACTION_2227 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2228: x<-L+M+O+U+V+W #define ACTION_2228 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2229: x<-L+M+P+Q+T+U #define ACTION_2229 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2230: x<-L+M+P+Q+T+V #define ACTION_2230 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2231: x<-L+M+P+Q+T+W #define ACTION_2231 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2232: x<-L+M+P+Q+U+V #define ACTION_2232 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2233: x<-L+M+P+Q+U+W #define ACTION_2233 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2234: x<-L+M+P+Q+V+W #define ACTION_2234 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2235: x<-L+M+P+R+T+U #define ACTION_2235 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2236: x<-L+M+P+R+T+V #define ACTION_2236 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2237: x<-L+M+P+R+T+W #define ACTION_2237 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2238: x<-L+M+P+R+U+V #define ACTION_2238 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2239: x<-L+M+P+R+U+W #define ACTION_2239 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2240: x<-L+M+P+R+V+W #define ACTION_2240 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2241: x<-L+M+P+T+U+W #define ACTION_2241 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2242: x<-L+M+P+T+V+W #define ACTION_2242 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2243: x<-L+M+P+U+V+W #define ACTION_2243 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2244: x<-L+M+Q+R+T+U #define ACTION_2244 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2245: x<-L+M+Q+R+T+V #define ACTION_2245 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2246: x<-L+M+Q+R+T+W #define ACTION_2246 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2247: x<-L+M+Q+R+U+V #define ACTION_2247 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2248: x<-L+M+Q+R+U+W #define ACTION_2248 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2249: x<-L+M+Q+R+V+W #define ACTION_2249 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2250: x<-L+M+Q+S+T+U #define ACTION_2250 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2251: x<-L+M+Q+S+T+V #define ACTION_2251 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2252: x<-L+M+Q+S+T+W #define ACTION_2252 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2253: x<-L+M+Q+S+U+V #define ACTION_2253 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2254: x<-L+M+Q+S+U+W #define ACTION_2254 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2255: x<-L+M+Q+S+V+W #define ACTION_2255 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2256: x<-L+M+Q+T+U+W #define ACTION_2256 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2257: x<-L+M+Q+T+V+W #define ACTION_2257 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2258: x<-L+M+Q+U+V+W #define ACTION_2258 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2259: x<-L+M+R+S+T+U #define ACTION_2259 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2260: x<-L+M+R+S+T+V #define ACTION_2260 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2261: x<-L+M+R+S+T+W #define ACTION_2261 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2262: x<-L+M+R+S+U+V #define ACTION_2262 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2263: x<-L+M+R+S+U+W #define ACTION_2263 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2264: x<-L+M+R+S+V+W #define ACTION_2264 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2265: x<-L+M+R+T+U+W #define ACTION_2265 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2266: x<-L+M+R+T+V+W #define ACTION_2266 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2267: x<-L+M+R+U+V+W #define ACTION_2267 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2268: x<-L+M+S+T+U+W #define ACTION_2268 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2269: x<-L+M+S+T+V+W #define ACTION_2269 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2270: x<-L+M+S+U+V+W #define ACTION_2270 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2271: x<-L+N+O+Q+T+U #define ACTION_2271 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2272: x<-L+N+O+Q+T+V #define ACTION_2272 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2273: x<-L+N+O+Q+T+W #define ACTION_2273 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2274: x<-L+N+O+Q+U+V #define ACTION_2274 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2275: x<-L+N+O+Q+U+W #define ACTION_2275 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2276: x<-L+N+O+Q+V+W #define ACTION_2276 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2277: x<-L+N+O+T+U+W #define ACTION_2277 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2278: x<-L+N+O+T+V+W #define ACTION_2278 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2279: x<-L+N+O+U+V+W #define ACTION_2279 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2280: x<-L+N+P+Q+T+U #define ACTION_2280 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2281: x<-L+N+P+Q+T+V #define ACTION_2281 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2282: x<-L+N+P+Q+T+W #define ACTION_2282 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2283: x<-L+N+P+Q+U+V #define ACTION_2283 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2284: x<-L+N+P+Q+U+W #define ACTION_2284 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2285: x<-L+N+P+Q+V+W #define ACTION_2285 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2286: x<-L+N+P+R+T+U #define ACTION_2286 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2287: x<-L+N+P+R+T+V #define ACTION_2287 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2288: x<-L+N+P+R+T+W #define ACTION_2288 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2289: x<-L+N+P+R+U+V #define ACTION_2289 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2290: x<-L+N+P+R+U+W #define ACTION_2290 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2291: x<-L+N+P+R+V+W #define ACTION_2291 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2292: x<-L+N+P+S+T+U #define ACTION_2292 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2293: x<-L+N+P+S+T+V #define ACTION_2293 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2294: x<-L+N+P+S+T+W #define ACTION_2294 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2295: x<-L+N+P+S+U+V #define ACTION_2295 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2296: x<-L+N+P+S+U+W #define ACTION_2296 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2297: x<-L+N+P+S+V+W #define ACTION_2297 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2298: x<-L+N+P+T+U+W #define ACTION_2298 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2299: x<-L+N+P+T+V+W #define ACTION_2299 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2300: x<-L+N+P+U+V+W #define ACTION_2300 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2301: x<-L+N+Q+R+T+U #define ACTION_2301 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2302: x<-L+N+Q+R+T+V #define ACTION_2302 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2303: x<-L+N+Q+R+T+W #define ACTION_2303 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2304: x<-L+N+Q+R+U+V #define ACTION_2304 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2305: x<-L+N+Q+R+U+W #define ACTION_2305 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2306: x<-L+N+Q+R+V+W #define ACTION_2306 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2307: x<-L+N+Q+S+T+U #define ACTION_2307 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2308: x<-L+N+Q+S+T+V #define ACTION_2308 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2309: x<-L+N+Q+S+T+W #define ACTION_2309 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2310: x<-L+N+Q+S+U+V #define ACTION_2310 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2311: x<-L+N+Q+S+U+W #define ACTION_2311 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2312: x<-L+N+Q+S+V+W #define ACTION_2312 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2313: x<-L+N+Q+T+U+W #define ACTION_2313 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2314: x<-L+N+Q+T+V+W #define ACTION_2314 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2315: x<-L+N+Q+U+V+W #define ACTION_2315 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2316: x<-L+N+R+S+T+U #define ACTION_2316 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2317: x<-L+N+R+S+T+V #define ACTION_2317 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2318: x<-L+N+R+S+T+W #define ACTION_2318 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2319: x<-L+N+R+S+U+V #define ACTION_2319 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2320: x<-L+N+R+S+U+W #define ACTION_2320 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2321: x<-L+N+R+S+V+W #define ACTION_2321 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2322: x<-L+N+R+T+U+W #define ACTION_2322 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2323: x<-L+N+R+T+V+W #define ACTION_2323 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2324: x<-L+N+R+U+V+W #define ACTION_2324 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2325: x<-L+N+S+T+U+W #define ACTION_2325 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2326: x<-L+N+S+T+V+W #define ACTION_2326 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2327: x<-L+N+S+U+V+W #define ACTION_2327 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2328: x<-L+O+P+S+T+U #define ACTION_2328 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2329: x<-L+O+P+S+T+V #define ACTION_2329 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2330: x<-L+O+P+S+T+W #define ACTION_2330 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2331: x<-L+O+P+S+U+V #define ACTION_2331 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2332: x<-L+O+P+S+U+W #define ACTION_2332 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2333: x<-L+O+P+S+V+W #define ACTION_2333 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2334: x<-L+O+P+T+U+W #define ACTION_2334 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2335: x<-L+O+P+T+V+W #define ACTION_2335 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2336: x<-L+O+P+U+V+W #define ACTION_2336 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2337: x<-L+O+Q+T+U+W #define ACTION_2337 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2338: x<-L+O+Q+T+V+W #define ACTION_2338 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2339: x<-L+O+Q+U+V+W #define ACTION_2339 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2340: x<-L+O+S+T+U+W #define ACTION_2340 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2341: x<-L+O+S+T+V+W #define ACTION_2341 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2342: x<-L+O+S+U+V+W #define ACTION_2342 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2343: x<-L+P+Q+R+T+U #define ACTION_2343 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2344: x<-L+P+Q+R+T+V #define ACTION_2344 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2345: x<-L+P+Q+R+T+W #define ACTION_2345 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2346: x<-L+P+Q+R+U+V #define ACTION_2346 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2347: x<-L+P+Q+R+U+W #define ACTION_2347 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2348: x<-L+P+Q+R+V+W #define ACTION_2348 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2349: x<-L+P+Q+S+T+U #define ACTION_2349 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2350: x<-L+P+Q+S+T+V #define ACTION_2350 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2351: x<-L+P+Q+S+T+W #define ACTION_2351 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2352: x<-L+P+Q+S+U+V #define ACTION_2352 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2353: x<-L+P+Q+S+U+W #define ACTION_2353 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2354: x<-L+P+Q+S+V+W #define ACTION_2354 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2355: x<-L+P+Q+T+U+W #define ACTION_2355 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2356: x<-L+P+Q+T+V+W #define ACTION_2356 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2357: x<-L+P+Q+U+V+W #define ACTION_2357 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2358: x<-L+P+R+S+T+U #define ACTION_2358 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2359: x<-L+P+R+S+T+V #define ACTION_2359 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2360: x<-L+P+R+S+T+W #define ACTION_2360 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2361: x<-L+P+R+S+U+V #define ACTION_2361 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2362: x<-L+P+R+S+U+W #define ACTION_2362 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2363: x<-L+P+R+S+V+W #define ACTION_2363 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2364: x<-L+P+R+T+U+W #define ACTION_2364 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2365: x<-L+P+R+T+V+W #define ACTION_2365 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2366: x<-L+P+R+U+V+W #define ACTION_2366 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2367: x<-L+P+S+T+U+W #define ACTION_2367 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2368: x<-L+P+S+T+V+W #define ACTION_2368 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2369: x<-L+P+S+U+V+W #define ACTION_2369 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2370: x<-L+Q+R+T+U+W #define ACTION_2370 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2371: x<-L+Q+R+T+V+W #define ACTION_2371 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2372: x<-L+Q+R+U+V+W #define ACTION_2372 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2373: x<-L+Q+S+T+U+W #define ACTION_2373 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2374: x<-L+Q+S+T+V+W #define ACTION_2374 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2375: x<-L+Q+S+U+V+W #define ACTION_2375 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2376: x<-L+R+S+T+U+W #define ACTION_2376 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]));continue; // Action 2377: x<-L+R+S+T+V+W #define ACTION_2377 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]));continue; // Action 2378: x<-L+R+S+U+V+W #define ACTION_2378 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]));continue; // Action 2379: x<-M+N+O+Q+T+U #define ACTION_2379 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2380: x<-M+N+O+Q+T+V #define ACTION_2380 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2381: x<-M+N+O+Q+T+W #define ACTION_2381 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2382: x<-M+N+O+Q+U+V #define ACTION_2382 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2383: x<-M+N+O+Q+U+W #define ACTION_2383 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2384: x<-M+N+O+Q+V+W #define ACTION_2384 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2385: x<-M+N+O+T+U+W #define ACTION_2385 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2386: x<-M+N+O+T+V+W #define ACTION_2386 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2387: x<-M+N+O+U+V+W #define ACTION_2387 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2388: x<-M+N+P+Q+T+U #define ACTION_2388 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2389: x<-M+N+P+Q+T+V #define ACTION_2389 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2390: x<-M+N+P+Q+T+W #define ACTION_2390 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2391: x<-M+N+P+Q+U+V #define ACTION_2391 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2392: x<-M+N+P+Q+U+W #define ACTION_2392 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2393: x<-M+N+P+Q+V+W #define ACTION_2393 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2394: x<-M+N+P+R+T+U #define ACTION_2394 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2395: x<-M+N+P+R+T+V #define ACTION_2395 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2396: x<-M+N+P+R+T+W #define ACTION_2396 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2397: x<-M+N+P+R+U+V #define ACTION_2397 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2398: x<-M+N+P+R+U+W #define ACTION_2398 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2399: x<-M+N+P+R+V+W #define ACTION_2399 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2400: x<-M+N+P+T+U+W #define ACTION_2400 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2401: x<-M+N+P+T+V+W #define ACTION_2401 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2402: x<-M+N+P+U+V+W #define ACTION_2402 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2403: x<-M+N+Q+R+T+U #define ACTION_2403 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2404: x<-M+N+Q+R+T+V #define ACTION_2404 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2405: x<-M+N+Q+R+T+W #define ACTION_2405 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2406: x<-M+N+Q+R+U+V #define ACTION_2406 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2407: x<-M+N+Q+R+U+W #define ACTION_2407 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2408: x<-M+N+Q+R+V+W #define ACTION_2408 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2409: x<-M+N+Q+S+T+U #define ACTION_2409 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2410: x<-M+N+Q+S+T+V #define ACTION_2410 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2411: x<-M+N+Q+S+T+W #define ACTION_2411 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2412: x<-M+N+Q+S+U+V #define ACTION_2412 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2413: x<-M+N+Q+S+U+W #define ACTION_2413 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2414: x<-M+N+Q+S+V+W #define ACTION_2414 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2415: x<-M+N+Q+T+U+W #define ACTION_2415 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2416: x<-M+N+Q+T+V+W #define ACTION_2416 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2417: x<-M+N+Q+U+V+W #define ACTION_2417 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2418: x<-M+N+R+S+T+U #define ACTION_2418 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2419: x<-M+N+R+S+T+V #define ACTION_2419 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2420: x<-M+N+R+S+T+W #define ACTION_2420 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2421: x<-M+N+R+S+U+V #define ACTION_2421 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2422: x<-M+N+R+S+U+W #define ACTION_2422 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2423: x<-M+N+R+S+V+W #define ACTION_2423 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2424: x<-M+N+R+T+U+W #define ACTION_2424 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2425: x<-M+N+R+T+V+W #define ACTION_2425 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2426: x<-M+N+R+U+V+W #define ACTION_2426 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2427: x<-M+N+S+T+U+W #define ACTION_2427 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2428: x<-M+N+S+T+V+W #define ACTION_2428 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2429: x<-M+N+S+U+V+W #define ACTION_2429 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2430: x<-M+O+P+Q+T+U #define ACTION_2430 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2431: x<-M+O+P+Q+T+V #define ACTION_2431 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2432: x<-M+O+P+Q+T+W #define ACTION_2432 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2433: x<-M+O+P+Q+U+V #define ACTION_2433 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2434: x<-M+O+P+Q+U+W #define ACTION_2434 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2435: x<-M+O+P+Q+V+W #define ACTION_2435 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2436: x<-M+O+P+R+T+U #define ACTION_2436 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2437: x<-M+O+P+R+T+V #define ACTION_2437 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2438: x<-M+O+P+R+T+W #define ACTION_2438 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2439: x<-M+O+P+R+U+V #define ACTION_2439 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2440: x<-M+O+P+R+U+W #define ACTION_2440 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2441: x<-M+O+P+R+V+W #define ACTION_2441 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2442: x<-M+O+P+T+U+W #define ACTION_2442 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2443: x<-M+O+P+T+V+W #define ACTION_2443 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2444: x<-M+O+P+U+V+W #define ACTION_2444 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2445: x<-M+O+Q+R+T+U #define ACTION_2445 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2446: x<-M+O+Q+R+T+V #define ACTION_2446 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2447: x<-M+O+Q+R+T+W #define ACTION_2447 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2448: x<-M+O+Q+R+U+V #define ACTION_2448 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2449: x<-M+O+Q+R+U+W #define ACTION_2449 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2450: x<-M+O+Q+R+V+W #define ACTION_2450 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2451: x<-M+O+Q+S+T+U #define ACTION_2451 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2452: x<-M+O+Q+S+T+V #define ACTION_2452 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2453: x<-M+O+Q+S+T+W #define ACTION_2453 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2454: x<-M+O+Q+S+U+V #define ACTION_2454 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2455: x<-M+O+Q+S+U+W #define ACTION_2455 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2456: x<-M+O+Q+S+V+W #define ACTION_2456 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2457: x<-M+O+Q+T+U+W #define ACTION_2457 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2458: x<-M+O+Q+T+V+W #define ACTION_2458 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2459: x<-M+O+Q+U+V+W #define ACTION_2459 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2460: x<-M+O+R+S+T+U #define ACTION_2460 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2461: x<-M+O+R+S+T+V #define ACTION_2461 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2462: x<-M+O+R+S+T+W #define ACTION_2462 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2463: x<-M+O+R+S+U+V #define ACTION_2463 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2464: x<-M+O+R+S+U+W #define ACTION_2464 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2465: x<-M+O+R+S+V+W #define ACTION_2465 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2466: x<-M+O+R+T+U+W #define ACTION_2466 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2467: x<-M+O+R+T+V+W #define ACTION_2467 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2468: x<-M+O+R+U+V+W #define ACTION_2468 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2469: x<-M+O+S+T+U+W #define ACTION_2469 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2470: x<-M+O+S+T+V+W #define ACTION_2470 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2471: x<-M+O+S+U+V+W #define ACTION_2471 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2472: x<-M+P+Q+T+U+W #define ACTION_2472 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2473: x<-M+P+Q+T+V+W #define ACTION_2473 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2474: x<-M+P+Q+U+V+W #define ACTION_2474 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2475: x<-M+P+R+T+U+W #define ACTION_2475 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2476: x<-M+P+R+T+V+W #define ACTION_2476 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2477: x<-M+P+R+U+V+W #define ACTION_2477 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2478: x<-M+Q+R+T+U+W #define ACTION_2478 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2479: x<-M+Q+R+T+V+W #define ACTION_2479 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2480: x<-M+Q+R+U+V+W #define ACTION_2480 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2481: x<-M+Q+S+T+U+W #define ACTION_2481 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2482: x<-M+Q+S+T+V+W #define ACTION_2482 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2483: x<-M+Q+S+U+V+W #define ACTION_2483 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2484: x<-M+R+S+T+U+W #define ACTION_2484 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2485: x<-M+R+S+T+V+W #define ACTION_2485 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2486: x<-M+R+S+U+V+W #define ACTION_2486 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2487: x<-N+O+Q+R+T+U #define ACTION_2487 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2488: x<-N+O+Q+R+T+V #define ACTION_2488 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2489: x<-N+O+Q+R+T+W #define ACTION_2489 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2490: x<-N+O+Q+R+U+V #define ACTION_2490 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2491: x<-N+O+Q+R+U+W #define ACTION_2491 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2492: x<-N+O+Q+R+V+W #define ACTION_2492 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2493: x<-N+O+Q+S+T+U #define ACTION_2493 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2494: x<-N+O+Q+S+T+V #define ACTION_2494 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2495: x<-N+O+Q+S+T+W #define ACTION_2495 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2496: x<-N+O+Q+S+U+V #define ACTION_2496 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2497: x<-N+O+Q+S+U+W #define ACTION_2497 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2498: x<-N+O+Q+S+V+W #define ACTION_2498 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2499: x<-N+O+Q+T+U+W #define ACTION_2499 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2500: x<-N+O+Q+T+V+W #define ACTION_2500 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2501: x<-N+O+Q+U+V+W #define ACTION_2501 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2502: x<-N+O+R+S+T+U #define ACTION_2502 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2503: x<-N+O+R+S+T+V #define ACTION_2503 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2504: x<-N+O+R+S+T+W #define ACTION_2504 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2505: x<-N+O+R+S+U+V #define ACTION_2505 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2506: x<-N+O+R+S+U+W #define ACTION_2506 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2507: x<-N+O+R+S+V+W #define ACTION_2507 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2508: x<-N+O+R+T+U+W #define ACTION_2508 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2509: x<-N+O+R+T+V+W #define ACTION_2509 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2510: x<-N+O+R+U+V+W #define ACTION_2510 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2511: x<-N+O+S+T+U+W #define ACTION_2511 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2512: x<-N+O+S+T+V+W #define ACTION_2512 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2513: x<-N+O+S+U+V+W #define ACTION_2513 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2514: x<-N+P+Q+R+T+U #define ACTION_2514 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2515: x<-N+P+Q+R+T+V #define ACTION_2515 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2516: x<-N+P+Q+R+T+W #define ACTION_2516 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2517: x<-N+P+Q+R+U+V #define ACTION_2517 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2518: x<-N+P+Q+R+U+W #define ACTION_2518 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2519: x<-N+P+Q+R+V+W #define ACTION_2519 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2520: x<-N+P+Q+S+T+U #define ACTION_2520 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2521: x<-N+P+Q+S+T+V #define ACTION_2521 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2522: x<-N+P+Q+S+T+W #define ACTION_2522 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2523: x<-N+P+Q+S+U+V #define ACTION_2523 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2524: x<-N+P+Q+S+U+W #define ACTION_2524 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2525: x<-N+P+Q+S+V+W #define ACTION_2525 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2526: x<-N+P+Q+T+U+W #define ACTION_2526 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2527: x<-N+P+Q+T+V+W #define ACTION_2527 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2528: x<-N+P+Q+U+V+W #define ACTION_2528 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2529: x<-N+P+R+S+T+U #define ACTION_2529 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2530: x<-N+P+R+S+T+V #define ACTION_2530 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2531: x<-N+P+R+S+T+W #define ACTION_2531 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2532: x<-N+P+R+S+U+V #define ACTION_2532 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2533: x<-N+P+R+S+U+W #define ACTION_2533 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2534: x<-N+P+R+S+V+W #define ACTION_2534 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2535: x<-N+P+R+T+U+W #define ACTION_2535 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2536: x<-N+P+R+T+V+W #define ACTION_2536 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2537: x<-N+P+R+U+V+W #define ACTION_2537 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2538: x<-N+P+S+T+U+W #define ACTION_2538 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2539: x<-N+P+S+T+V+W #define ACTION_2539 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2540: x<-N+P+S+U+V+W #define ACTION_2540 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2541: x<-N+Q+R+T+U+W #define ACTION_2541 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2542: x<-N+Q+R+T+V+W #define ACTION_2542 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2543: x<-N+Q+R+U+V+W #define ACTION_2543 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2544: x<-N+Q+S+T+U+W #define ACTION_2544 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2545: x<-N+Q+S+T+V+W #define ACTION_2545 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2546: x<-N+Q+S+U+V+W #define ACTION_2546 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2547: x<-N+R+S+T+U+W #define ACTION_2547 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2548: x<-N+R+S+T+V+W #define ACTION_2548 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2549: x<-N+R+S+U+V+W #define ACTION_2549 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2550: x<-O+P+Q+R+T+U #define ACTION_2550 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2551: x<-O+P+Q+R+T+V #define ACTION_2551 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2552: x<-O+P+Q+R+T+W #define ACTION_2552 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2553: x<-O+P+Q+R+U+V #define ACTION_2553 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2554: x<-O+P+Q+R+U+W #define ACTION_2554 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2555: x<-O+P+Q+R+V+W #define ACTION_2555 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2556: x<-O+P+Q+S+T+U #define ACTION_2556 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2557: x<-O+P+Q+S+T+V #define ACTION_2557 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2558: x<-O+P+Q+S+T+W #define ACTION_2558 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2559: x<-O+P+Q+S+U+V #define ACTION_2559 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2560: x<-O+P+Q+S+U+W #define ACTION_2560 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2561: x<-O+P+Q+S+V+W #define ACTION_2561 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2562: x<-O+P+Q+T+U+W #define ACTION_2562 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2563: x<-O+P+Q+T+V+W #define ACTION_2563 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2564: x<-O+P+Q+U+V+W #define ACTION_2564 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2565: x<-O+P+R+S+T+U #define ACTION_2565 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2566: x<-O+P+R+S+T+V #define ACTION_2566 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2567: x<-O+P+R+S+T+W #define ACTION_2567 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2568: x<-O+P+R+S+U+V #define ACTION_2568 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2569: x<-O+P+R+S+U+W #define ACTION_2569 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2570: x<-O+P+R+S+V+W #define ACTION_2570 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2571: x<-O+P+R+T+U+W #define ACTION_2571 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2572: x<-O+P+R+T+V+W #define ACTION_2572 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2573: x<-O+P+R+U+V+W #define ACTION_2573 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2574: x<-O+P+S+T+U+W #define ACTION_2574 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2575: x<-O+P+S+T+V+W #define ACTION_2575 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2576: x<-O+P+S+U+V+W #define ACTION_2576 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2577: x<-O+Q+R+T+U+W #define ACTION_2577 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2578: x<-O+Q+R+T+V+W #define ACTION_2578 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2579: x<-O+Q+R+U+V+W #define ACTION_2579 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2580: x<-O+Q+S+T+U+W #define ACTION_2580 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2581: x<-O+Q+S+T+V+W #define ACTION_2581 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2582: x<-O+Q+S+U+V+W #define ACTION_2582 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2583: x<-O+R+S+T+U+W #define ACTION_2583 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]));continue; // Action 2584: x<-O+R+S+T+V+W #define ACTION_2584 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]));continue; // Action 2585: x<-O+R+S+U+V+W #define ACTION_2585 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]));continue; // Action 2586: x<-P+Q+R+T+U+W #define ACTION_2586 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2587: x<-P+Q+R+T+V+W #define ACTION_2587 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2588: x<-P+Q+R+U+V+W #define ACTION_2588 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2589: x<-P+Q+S+T+U+W #define ACTION_2589 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2590: x<-P+Q+S+T+V+W #define ACTION_2590 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2591: x<-P+Q+S+U+V+W #define ACTION_2591 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2592: x<-P+R+S+T+U+W #define ACTION_2592 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]));continue; // Action 2593: x<-P+R+S+T+V+W #define ACTION_2593 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]));continue; // Action 2594: x<-P+R+S+U+V+W #define ACTION_2594 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]));continue; // Action 2595: x<-K+L+N+O+T+U+W #define ACTION_2595 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2596: x<-K+L+N+O+T+V+W #define ACTION_2596 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2597: x<-K+L+N+O+U+V+W #define ACTION_2597 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2598: x<-K+L+N+P+T+U+W #define ACTION_2598 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2599: x<-K+L+N+P+T+V+W #define ACTION_2599 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2600: x<-K+L+N+P+U+V+W #define ACTION_2600 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2601: x<-K+L+N+R+T+U+W #define ACTION_2601 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2602: x<-K+L+N+R+T+V+W #define ACTION_2602 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2603: x<-K+L+N+R+U+V+W #define ACTION_2603 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2604: x<-K+L+N+S+T+U+W #define ACTION_2604 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2605: x<-K+L+N+S+T+V+W #define ACTION_2605 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2606: x<-K+L+N+S+U+V+W #define ACTION_2606 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2607: x<-K+L+O+P+T+U+W #define ACTION_2607 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2608: x<-K+L+O+P+T+V+W #define ACTION_2608 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2609: x<-K+L+O+P+U+V+W #define ACTION_2609 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2610: x<-K+L+O+Q+T+U+W #define ACTION_2610 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2611: x<-K+L+O+Q+T+V+W #define ACTION_2611 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2612: x<-K+L+O+Q+U+V+W #define ACTION_2612 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2613: x<-K+L+O+S+T+U+W #define ACTION_2613 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2614: x<-K+L+O+S+T+V+W #define ACTION_2614 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2615: x<-K+L+O+S+U+V+W #define ACTION_2615 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2616: x<-K+L+P+Q+T+U+W #define ACTION_2616 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2617: x<-K+L+P+Q+T+V+W #define ACTION_2617 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2618: x<-K+L+P+Q+U+V+W #define ACTION_2618 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2619: x<-K+L+P+R+T+U+W #define ACTION_2619 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2620: x<-K+L+P+R+T+V+W #define ACTION_2620 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2621: x<-K+L+P+R+U+V+W #define ACTION_2621 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2622: x<-K+L+Q+R+T+U+W #define ACTION_2622 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2623: x<-K+L+Q+R+T+V+W #define ACTION_2623 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2624: x<-K+L+Q+R+U+V+W #define ACTION_2624 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2625: x<-K+L+Q+S+T+U+W #define ACTION_2625 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2626: x<-K+L+Q+S+T+V+W #define ACTION_2626 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2627: x<-K+L+Q+S+U+V+W #define ACTION_2627 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2628: x<-K+L+R+S+T+U+W #define ACTION_2628 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2629: x<-K+L+R+S+T+V+W #define ACTION_2629 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2630: x<-K+L+R+S+U+V+W #define ACTION_2630 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2631: x<-K+M+N+O+T+U+W #define ACTION_2631 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2632: x<-K+M+N+O+T+V+W #define ACTION_2632 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2633: x<-K+M+N+O+U+V+W #define ACTION_2633 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2634: x<-K+M+N+P+T+U+W #define ACTION_2634 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2635: x<-K+M+N+P+T+V+W #define ACTION_2635 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2636: x<-K+M+N+P+U+V+W #define ACTION_2636 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2637: x<-K+M+N+R+T+U+W #define ACTION_2637 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2638: x<-K+M+N+R+T+V+W #define ACTION_2638 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2639: x<-K+M+N+R+U+V+W #define ACTION_2639 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2640: x<-K+M+N+S+T+U+W #define ACTION_2640 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2641: x<-K+M+N+S+T+V+W #define ACTION_2641 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2642: x<-K+M+N+S+U+V+W #define ACTION_2642 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2643: x<-K+M+O+P+T+U+W #define ACTION_2643 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2644: x<-K+M+O+P+T+V+W #define ACTION_2644 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2645: x<-K+M+O+P+U+V+W #define ACTION_2645 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2646: x<-K+M+O+Q+T+U+W #define ACTION_2646 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2647: x<-K+M+O+Q+T+V+W #define ACTION_2647 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2648: x<-K+M+O+Q+U+V+W #define ACTION_2648 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2649: x<-K+M+O+S+T+U+W #define ACTION_2649 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2650: x<-K+M+O+S+T+V+W #define ACTION_2650 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2651: x<-K+M+O+S+U+V+W #define ACTION_2651 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2652: x<-K+M+P+Q+T+U+W #define ACTION_2652 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2653: x<-K+M+P+Q+T+V+W #define ACTION_2653 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2654: x<-K+M+P+Q+U+V+W #define ACTION_2654 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2655: x<-K+M+P+R+T+U+W #define ACTION_2655 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2656: x<-K+M+P+R+T+V+W #define ACTION_2656 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2657: x<-K+M+P+R+U+V+W #define ACTION_2657 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2658: x<-K+M+Q+R+T+U+W #define ACTION_2658 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2659: x<-K+M+Q+R+T+V+W #define ACTION_2659 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2660: x<-K+M+Q+R+U+V+W #define ACTION_2660 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2661: x<-K+M+Q+S+T+U+W #define ACTION_2661 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2662: x<-K+M+Q+S+T+V+W #define ACTION_2662 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2663: x<-K+M+Q+S+U+V+W #define ACTION_2663 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2664: x<-K+M+R+S+T+U+W #define ACTION_2664 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2665: x<-K+M+R+S+T+V+W #define ACTION_2665 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2666: x<-K+M+R+S+U+V+W #define ACTION_2666 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2667: x<-K+N+O+R+T+U+W #define ACTION_2667 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2668: x<-K+N+O+R+T+V+W #define ACTION_2668 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2669: x<-K+N+O+R+U+V+W #define ACTION_2669 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2670: x<-K+N+O+S+T+U+W #define ACTION_2670 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2671: x<-K+N+O+S+T+V+W #define ACTION_2671 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2672: x<-K+N+O+S+U+V+W #define ACTION_2672 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2673: x<-K+N+P+R+T+U+W #define ACTION_2673 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2674: x<-K+N+P+R+T+V+W #define ACTION_2674 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2675: x<-K+N+P+R+U+V+W #define ACTION_2675 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2676: x<-K+N+P+S+T+U+W #define ACTION_2676 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2677: x<-K+N+P+S+T+V+W #define ACTION_2677 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2678: x<-K+N+P+S+U+V+W #define ACTION_2678 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2679: x<-K+O+P+S+T+U+W #define ACTION_2679 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2680: x<-K+O+P+S+T+V+W #define ACTION_2680 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2681: x<-K+O+P+S+U+V+W #define ACTION_2681 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2682: x<-K+O+Q+R+T+U+W #define ACTION_2682 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2683: x<-K+O+Q+R+T+V+W #define ACTION_2683 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2684: x<-K+O+Q+R+U+V+W #define ACTION_2684 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2685: x<-K+O+Q+S+T+U+W #define ACTION_2685 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2686: x<-K+O+Q+S+T+V+W #define ACTION_2686 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2687: x<-K+O+Q+S+U+V+W #define ACTION_2687 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2688: x<-K+O+R+S+T+U+W #define ACTION_2688 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2689: x<-K+O+R+S+T+V+W #define ACTION_2689 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2690: x<-K+O+R+S+U+V+W #define ACTION_2690 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2691: x<-K+P+Q+R+T+U+W #define ACTION_2691 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2692: x<-K+P+Q+R+T+V+W #define ACTION_2692 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2693: x<-K+P+Q+R+U+V+W #define ACTION_2693 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2694: x<-K+P+Q+S+T+U+W #define ACTION_2694 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2695: x<-K+P+Q+S+T+V+W #define ACTION_2695 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2696: x<-K+P+Q+S+U+V+W #define ACTION_2696 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2697: x<-K+P+R+S+T+U+W #define ACTION_2697 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2698: x<-K+P+R+S+T+V+W #define ACTION_2698 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2699: x<-K+P+R+S+U+V+W #define ACTION_2699 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2700: x<-L+M+N+O+T+U+W #define ACTION_2700 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2701: x<-L+M+N+O+T+V+W #define ACTION_2701 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2702: x<-L+M+N+O+U+V+W #define ACTION_2702 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2703: x<-L+M+N+P+T+U+W #define ACTION_2703 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2704: x<-L+M+N+P+T+V+W #define ACTION_2704 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2705: x<-L+M+N+P+U+V+W #define ACTION_2705 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2706: x<-L+M+N+R+T+U+W #define ACTION_2706 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2707: x<-L+M+N+R+T+V+W #define ACTION_2707 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2708: x<-L+M+N+R+U+V+W #define ACTION_2708 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2709: x<-L+M+N+S+T+U+W #define ACTION_2709 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2710: x<-L+M+N+S+T+V+W #define ACTION_2710 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2711: x<-L+M+N+S+U+V+W #define ACTION_2711 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2712: x<-L+M+O+P+T+U+W #define ACTION_2712 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2713: x<-L+M+O+P+T+V+W #define ACTION_2713 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2714: x<-L+M+O+P+U+V+W #define ACTION_2714 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2715: x<-L+M+O+Q+T+U+W #define ACTION_2715 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2716: x<-L+M+O+Q+T+V+W #define ACTION_2716 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2717: x<-L+M+O+Q+U+V+W #define ACTION_2717 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2718: x<-L+M+O+S+T+U+W #define ACTION_2718 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2719: x<-L+M+O+S+T+V+W #define ACTION_2719 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2720: x<-L+M+O+S+U+V+W #define ACTION_2720 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2721: x<-L+M+P+Q+T+U+W #define ACTION_2721 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2722: x<-L+M+P+Q+T+V+W #define ACTION_2722 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2723: x<-L+M+P+Q+U+V+W #define ACTION_2723 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2724: x<-L+M+P+R+T+U+W #define ACTION_2724 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2725: x<-L+M+P+R+T+V+W #define ACTION_2725 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2726: x<-L+M+P+R+U+V+W #define ACTION_2726 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2727: x<-L+M+Q+R+T+U+W #define ACTION_2727 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2728: x<-L+M+Q+R+T+V+W #define ACTION_2728 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2729: x<-L+M+Q+R+U+V+W #define ACTION_2729 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2730: x<-L+M+Q+S+T+U+W #define ACTION_2730 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2731: x<-L+M+Q+S+T+V+W #define ACTION_2731 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2732: x<-L+M+Q+S+U+V+W #define ACTION_2732 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2733: x<-L+M+R+S+T+U+W #define ACTION_2733 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2734: x<-L+M+R+S+T+V+W #define ACTION_2734 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2735: x<-L+M+R+S+U+V+W #define ACTION_2735 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2736: x<-L+N+O+Q+T+U+W #define ACTION_2736 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2737: x<-L+N+O+Q+T+V+W #define ACTION_2737 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2738: x<-L+N+O+Q+U+V+W #define ACTION_2738 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2739: x<-L+N+P+Q+T+U+W #define ACTION_2739 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2740: x<-L+N+P+Q+T+V+W #define ACTION_2740 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2741: x<-L+N+P+Q+U+V+W #define ACTION_2741 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2742: x<-L+N+P+R+T+U+W #define ACTION_2742 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2743: x<-L+N+P+R+T+V+W #define ACTION_2743 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2744: x<-L+N+P+R+U+V+W #define ACTION_2744 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2745: x<-L+N+P+S+T+U+W #define ACTION_2745 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2746: x<-L+N+P+S+T+V+W #define ACTION_2746 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2747: x<-L+N+P+S+U+V+W #define ACTION_2747 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2748: x<-L+N+Q+R+T+U+W #define ACTION_2748 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2749: x<-L+N+Q+R+T+V+W #define ACTION_2749 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2750: x<-L+N+Q+R+U+V+W #define ACTION_2750 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2751: x<-L+N+Q+S+T+U+W #define ACTION_2751 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2752: x<-L+N+Q+S+T+V+W #define ACTION_2752 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2753: x<-L+N+Q+S+U+V+W #define ACTION_2753 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2754: x<-L+N+R+S+T+U+W #define ACTION_2754 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2755: x<-L+N+R+S+T+V+W #define ACTION_2755 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2756: x<-L+N+R+S+U+V+W #define ACTION_2756 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2757: x<-L+O+P+S+T+U+W #define ACTION_2757 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2758: x<-L+O+P+S+T+V+W #define ACTION_2758 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2759: x<-L+O+P+S+U+V+W #define ACTION_2759 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2760: x<-L+P+Q+R+T+U+W #define ACTION_2760 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2761: x<-L+P+Q+R+T+V+W #define ACTION_2761 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2762: x<-L+P+Q+R+U+V+W #define ACTION_2762 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2763: x<-L+P+Q+S+T+U+W #define ACTION_2763 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2764: x<-L+P+Q+S+T+V+W #define ACTION_2764 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2765: x<-L+P+Q+S+U+V+W #define ACTION_2765 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2766: x<-L+P+R+S+T+U+W #define ACTION_2766 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2767: x<-L+P+R+S+T+V+W #define ACTION_2767 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2768: x<-L+P+R+S+U+V+W #define ACTION_2768 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2769: x<-M+N+O+Q+T+U+W #define ACTION_2769 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2770: x<-M+N+O+Q+T+V+W #define ACTION_2770 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2771: x<-M+N+O+Q+U+V+W #define ACTION_2771 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2772: x<-M+N+P+Q+T+U+W #define ACTION_2772 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2773: x<-M+N+P+Q+T+V+W #define ACTION_2773 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2774: x<-M+N+P+Q+U+V+W #define ACTION_2774 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2775: x<-M+N+P+R+T+U+W #define ACTION_2775 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2776: x<-M+N+P+R+T+V+W #define ACTION_2776 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2777: x<-M+N+P+R+U+V+W #define ACTION_2777 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2778: x<-M+N+Q+R+T+U+W #define ACTION_2778 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2779: x<-M+N+Q+R+T+V+W #define ACTION_2779 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2780: x<-M+N+Q+R+U+V+W #define ACTION_2780 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2781: x<-M+N+Q+S+T+U+W #define ACTION_2781 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2782: x<-M+N+Q+S+T+V+W #define ACTION_2782 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2783: x<-M+N+Q+S+U+V+W #define ACTION_2783 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2784: x<-M+N+R+S+T+U+W #define ACTION_2784 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2785: x<-M+N+R+S+T+V+W #define ACTION_2785 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2786: x<-M+N+R+S+U+V+W #define ACTION_2786 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2787: x<-M+O+P+Q+T+U+W #define ACTION_2787 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2788: x<-M+O+P+Q+T+V+W #define ACTION_2788 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2789: x<-M+O+P+Q+U+V+W #define ACTION_2789 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2790: x<-M+O+P+R+T+U+W #define ACTION_2790 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2791: x<-M+O+P+R+T+V+W #define ACTION_2791 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2792: x<-M+O+P+R+U+V+W #define ACTION_2792 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2793: x<-M+O+Q+R+T+U+W #define ACTION_2793 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2794: x<-M+O+Q+R+T+V+W #define ACTION_2794 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2795: x<-M+O+Q+R+U+V+W #define ACTION_2795 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2796: x<-M+O+Q+S+T+U+W #define ACTION_2796 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2797: x<-M+O+Q+S+T+V+W #define ACTION_2797 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2798: x<-M+O+Q+S+U+V+W #define ACTION_2798 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2799: x<-M+O+R+S+T+U+W #define ACTION_2799 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2800: x<-M+O+R+S+T+V+W #define ACTION_2800 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2801: x<-M+O+R+S+U+V+W #define ACTION_2801 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2802: x<-N+O+Q+R+T+U+W #define ACTION_2802 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2803: x<-N+O+Q+R+T+V+W #define ACTION_2803 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2804: x<-N+O+Q+R+U+V+W #define ACTION_2804 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2805: x<-N+O+Q+S+T+U+W #define ACTION_2805 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2806: x<-N+O+Q+S+T+V+W #define ACTION_2806 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2807: x<-N+O+Q+S+U+V+W #define ACTION_2807 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2808: x<-N+O+R+S+T+U+W #define ACTION_2808 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2809: x<-N+O+R+S+T+V+W #define ACTION_2809 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2810: x<-N+O+R+S+U+V+W #define ACTION_2810 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2811: x<-N+P+Q+R+T+U+W #define ACTION_2811 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2812: x<-N+P+Q+R+T+V+W #define ACTION_2812 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2813: x<-N+P+Q+R+U+V+W #define ACTION_2813 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2814: x<-N+P+Q+S+T+U+W #define ACTION_2814 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2815: x<-N+P+Q+S+T+V+W #define ACTION_2815 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2816: x<-N+P+Q+S+U+V+W #define ACTION_2816 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2817: x<-N+P+R+S+T+U+W #define ACTION_2817 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2818: x<-N+P+R+S+T+V+W #define ACTION_2818 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2819: x<-N+P+R+S+U+V+W #define ACTION_2819 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2820: x<-O+P+Q+R+T+U+W #define ACTION_2820 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2821: x<-O+P+Q+R+T+V+W #define ACTION_2821 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2822: x<-O+P+Q+R+U+V+W #define ACTION_2822 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2823: x<-O+P+Q+S+T+U+W #define ACTION_2823 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2824: x<-O+P+Q+S+T+V+W #define ACTION_2824 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2825: x<-O+P+Q+S+U+V+W #define ACTION_2825 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2826: x<-O+P+R+S+T+U+W #define ACTION_2826 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2827: x<-O+P+R+S+T+V+W #define ACTION_2827 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2828: x<-O+P+R+S+U+V+W #define ACTION_2828 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; ================================================ FILE: include/labeling3D_EPDT_19c_action_def_mem.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany // Action 0: nothing #define ACTION_0 img_labels(s + 0, r + 0, c) = 0;continue; // Action 1: x<-newlabel #define ACTION_1 img_labels(s + 0, r + 0, c) = LabelsSolver::MemNewLabel();continue; // Action 2: x<-K #define ACTION_2 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c - 2);continue; // Action 3: x<-L #define ACTION_3 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c);continue; // Action 4: x<-M #define ACTION_4 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c + 2);continue; // Action 5: x<-N #define ACTION_5 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c - 2);continue; // Action 6: x<-O #define ACTION_6 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c);continue; // Action 7: x<-P #define ACTION_7 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c + 2);continue; // Action 8: x<-Q #define ACTION_8 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c - 2);continue; // Action 9: x<-R #define ACTION_9 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c);continue; // Action 10: x<-S #define ACTION_10 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c + 2);continue; // Action 11: x<-T #define ACTION_11 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c - 2);continue; // Action 12: x<-U #define ACTION_12 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c);continue; // Action 13: x<-V #define ACTION_13 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c + 2);continue; // Action 14: x<-W #define ACTION_14 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r + 0, c - 2);continue; // Action 15: x<-K+L #define ACTION_15 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 16: x<-K+M #define ACTION_16 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 17: x<-K+N #define ACTION_17 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 18: x<-K+O #define ACTION_18 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 19: x<-K+P #define ACTION_19 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 20: x<-K+Q #define ACTION_20 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 21: x<-K+R #define ACTION_21 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 22: x<-K+S #define ACTION_22 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 23: x<-K+T #define ACTION_23 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 24: x<-K+U #define ACTION_24 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 25: x<-K+V #define ACTION_25 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 26: x<-K+W #define ACTION_26 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 27: x<-L+M #define ACTION_27 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 28: x<-L+N #define ACTION_28 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 29: x<-L+O #define ACTION_29 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c));continue; // Action 30: x<-L+P #define ACTION_30 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 31: x<-L+Q #define ACTION_31 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 32: x<-L+R #define ACTION_32 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c));continue; // Action 33: x<-L+S #define ACTION_33 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 34: x<-L+T #define ACTION_34 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 35: x<-L+U #define ACTION_35 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c));continue; // Action 36: x<-L+V #define ACTION_36 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 37: x<-L+W #define ACTION_37 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 38: x<-M+N #define ACTION_38 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 39: x<-M+O #define ACTION_39 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 40: x<-M+P #define ACTION_40 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 41: x<-M+Q #define ACTION_41 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 42: x<-M+R #define ACTION_42 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 43: x<-M+S #define ACTION_43 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 44: x<-M+T #define ACTION_44 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 45: x<-M+U #define ACTION_45 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 46: x<-M+V #define ACTION_46 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 47: x<-M+W #define ACTION_47 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 48: x<-N+O #define ACTION_48 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 49: x<-N+P #define ACTION_49 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 50: x<-N+Q #define ACTION_50 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 51: x<-N+R #define ACTION_51 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 52: x<-N+S #define ACTION_52 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 53: x<-N+T #define ACTION_53 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 54: x<-N+U #define ACTION_54 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 55: x<-N+V #define ACTION_55 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 56: x<-N+W #define ACTION_56 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 57: x<-O+P #define ACTION_57 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 58: x<-O+Q #define ACTION_58 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 59: x<-O+R #define ACTION_59 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c));continue; // Action 60: x<-O+S #define ACTION_60 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 61: x<-O+T #define ACTION_61 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 62: x<-O+U #define ACTION_62 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c));continue; // Action 63: x<-O+V #define ACTION_63 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 64: x<-O+W #define ACTION_64 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 65: x<-P+Q #define ACTION_65 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 66: x<-P+R #define ACTION_66 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2));continue; // Action 67: x<-P+S #define ACTION_67 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 68: x<-P+T #define ACTION_68 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 69: x<-P+U #define ACTION_69 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2));continue; // Action 70: x<-P+V #define ACTION_70 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 71: x<-P+W #define ACTION_71 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 72: x<-Q+R #define ACTION_72 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2));continue; // Action 73: x<-Q+S #define ACTION_73 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 74: x<-Q+T #define ACTION_74 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 75: x<-Q+U #define ACTION_75 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2));continue; // Action 76: x<-Q+V #define ACTION_76 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 77: x<-Q+W #define ACTION_77 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 78: x<-R+S #define ACTION_78 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c));continue; // Action 79: x<-R+T #define ACTION_79 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c));continue; // Action 80: x<-R+U #define ACTION_80 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c));continue; // Action 81: x<-R+V #define ACTION_81 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c));continue; // Action 82: x<-R+W #define ACTION_82 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c));continue; // Action 83: x<-S+T #define ACTION_83 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 84: x<-S+U #define ACTION_84 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2));continue; // Action 85: x<-S+V #define ACTION_85 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 86: x<-S+W #define ACTION_86 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 87: x<-T+U #define ACTION_87 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2));continue; // Action 88: x<-T+V #define ACTION_88 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2));continue; // Action 89: x<-T+W #define ACTION_89 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2));continue; // Action 90: x<-U+V #define ACTION_90 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c));continue; // Action 91: x<-U+W #define ACTION_91 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c));continue; // Action 92: x<-V+W #define ACTION_92 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2));continue; // Action 93: x<-K+L+N #define ACTION_93 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 94: x<-K+L+O #define ACTION_94 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 95: x<-K+L+P #define ACTION_95 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 96: x<-K+L+Q #define ACTION_96 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 97: x<-K+L+R #define ACTION_97 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 98: x<-K+L+S #define ACTION_98 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 99: x<-K+L+T #define ACTION_99 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 100: x<-K+L+U #define ACTION_100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 101: x<-K+L+V #define ACTION_101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 102: x<-K+L+W #define ACTION_102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 103: x<-K+M+N #define ACTION_103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 104: x<-K+M+O #define ACTION_104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 105: x<-K+M+P #define ACTION_105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 106: x<-K+M+Q #define ACTION_106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 107: x<-K+M+R #define ACTION_107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 108: x<-K+M+S #define ACTION_108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 109: x<-K+M+T #define ACTION_109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 110: x<-K+M+U #define ACTION_110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 111: x<-K+M+V #define ACTION_111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 112: x<-K+M+W #define ACTION_112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 113: x<-K+N+O #define ACTION_113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 114: x<-K+N+P #define ACTION_114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 115: x<-K+N+R #define ACTION_115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 116: x<-K+N+S #define ACTION_116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 117: x<-K+N+T #define ACTION_117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 118: x<-K+N+U #define ACTION_118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 119: x<-K+N+V #define ACTION_119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 120: x<-K+N+W #define ACTION_120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 121: x<-K+O+P #define ACTION_121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 122: x<-K+O+Q #define ACTION_122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 123: x<-K+O+R #define ACTION_123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 124: x<-K+O+S #define ACTION_124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 125: x<-K+O+T #define ACTION_125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 126: x<-K+O+U #define ACTION_126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 127: x<-K+O+V #define ACTION_127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 128: x<-K+O+W #define ACTION_128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 129: x<-K+P+Q #define ACTION_129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 130: x<-K+P+R #define ACTION_130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 131: x<-K+P+S #define ACTION_131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 132: x<-K+P+T #define ACTION_132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 133: x<-K+P+U #define ACTION_133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 134: x<-K+P+V #define ACTION_134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 135: x<-K+P+W #define ACTION_135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 136: x<-K+Q+R #define ACTION_136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 137: x<-K+Q+S #define ACTION_137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 138: x<-K+Q+T #define ACTION_138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 139: x<-K+Q+U #define ACTION_139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 140: x<-K+Q+V #define ACTION_140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 141: x<-K+Q+W #define ACTION_141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 142: x<-K+R+S #define ACTION_142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 143: x<-K+R+T #define ACTION_143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 144: x<-K+R+U #define ACTION_144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 145: x<-K+R+V #define ACTION_145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 146: x<-K+R+W #define ACTION_146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 147: x<-K+S+T #define ACTION_147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 148: x<-K+S+U #define ACTION_148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 149: x<-K+S+V #define ACTION_149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 150: x<-K+S+W #define ACTION_150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 151: x<-K+T+U #define ACTION_151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 152: x<-K+T+V #define ACTION_152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 153: x<-K+T+W #define ACTION_153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 154: x<-K+U+V #define ACTION_154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 155: x<-K+U+W #define ACTION_155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 156: x<-K+V+W #define ACTION_156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 157: x<-L+M+N #define ACTION_157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 158: x<-L+M+O #define ACTION_158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 159: x<-L+M+P #define ACTION_159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 160: x<-L+M+Q #define ACTION_160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 161: x<-L+M+R #define ACTION_161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 162: x<-L+M+S #define ACTION_162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 163: x<-L+M+T #define ACTION_163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 164: x<-L+M+U #define ACTION_164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 165: x<-L+M+V #define ACTION_165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 166: x<-L+M+W #define ACTION_166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 167: x<-L+N+O #define ACTION_167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 168: x<-L+N+P #define ACTION_168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 169: x<-L+N+Q #define ACTION_169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 170: x<-L+N+R #define ACTION_170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 171: x<-L+N+S #define ACTION_171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 172: x<-L+N+T #define ACTION_172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 173: x<-L+N+U #define ACTION_173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 174: x<-L+N+V #define ACTION_174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 175: x<-L+N+W #define ACTION_175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 176: x<-L+O+P #define ACTION_176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 177: x<-L+O+Q #define ACTION_177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 178: x<-L+O+S #define ACTION_178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 179: x<-L+O+T #define ACTION_179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 180: x<-L+O+U #define ACTION_180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 181: x<-L+O+V #define ACTION_181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 182: x<-L+O+W #define ACTION_182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 183: x<-L+P+Q #define ACTION_183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 184: x<-L+P+R #define ACTION_184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 185: x<-L+P+S #define ACTION_185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 186: x<-L+P+T #define ACTION_186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 187: x<-L+P+U #define ACTION_187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 188: x<-L+P+V #define ACTION_188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 189: x<-L+P+W #define ACTION_189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 190: x<-L+Q+R #define ACTION_190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 191: x<-L+Q+S #define ACTION_191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 192: x<-L+Q+T #define ACTION_192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 193: x<-L+Q+U #define ACTION_193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 194: x<-L+Q+V #define ACTION_194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 195: x<-L+Q+W #define ACTION_195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 196: x<-L+R+S #define ACTION_196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 197: x<-L+R+T #define ACTION_197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 198: x<-L+R+U #define ACTION_198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 199: x<-L+R+V #define ACTION_199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 200: x<-L+R+W #define ACTION_200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 201: x<-L+S+T #define ACTION_201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 202: x<-L+S+U #define ACTION_202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 203: x<-L+S+V #define ACTION_203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 204: x<-L+S+W #define ACTION_204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 205: x<-L+T+U #define ACTION_205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 206: x<-L+T+V #define ACTION_206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 207: x<-L+T+W #define ACTION_207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 208: x<-L+U+V #define ACTION_208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 209: x<-L+U+W #define ACTION_209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 210: x<-L+V+W #define ACTION_210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 211: x<-M+N+O #define ACTION_211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 212: x<-M+N+P #define ACTION_212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 213: x<-M+N+Q #define ACTION_213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 214: x<-M+N+R #define ACTION_214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 215: x<-M+N+S #define ACTION_215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 216: x<-M+N+T #define ACTION_216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 217: x<-M+N+U #define ACTION_217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 218: x<-M+N+V #define ACTION_218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 219: x<-M+N+W #define ACTION_219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 220: x<-M+O+P #define ACTION_220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 221: x<-M+O+Q #define ACTION_221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 222: x<-M+O+R #define ACTION_222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 223: x<-M+O+S #define ACTION_223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 224: x<-M+O+T #define ACTION_224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 225: x<-M+O+U #define ACTION_225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 226: x<-M+O+V #define ACTION_226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 227: x<-M+O+W #define ACTION_227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 228: x<-M+P+Q #define ACTION_228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 229: x<-M+P+R #define ACTION_229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 230: x<-M+P+T #define ACTION_230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 231: x<-M+P+U #define ACTION_231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 232: x<-M+P+V #define ACTION_232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 233: x<-M+P+W #define ACTION_233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 234: x<-M+Q+R #define ACTION_234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 235: x<-M+Q+S #define ACTION_235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 236: x<-M+Q+T #define ACTION_236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 237: x<-M+Q+U #define ACTION_237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 238: x<-M+Q+V #define ACTION_238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 239: x<-M+Q+W #define ACTION_239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 240: x<-M+R+S #define ACTION_240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 241: x<-M+R+T #define ACTION_241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 242: x<-M+R+U #define ACTION_242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 243: x<-M+R+V #define ACTION_243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 244: x<-M+R+W #define ACTION_244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 245: x<-M+S+T #define ACTION_245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 246: x<-M+S+U #define ACTION_246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 247: x<-M+S+V #define ACTION_247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 248: x<-M+S+W #define ACTION_248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 249: x<-M+T+U #define ACTION_249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 250: x<-M+T+V #define ACTION_250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 251: x<-M+T+W #define ACTION_251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 252: x<-M+U+V #define ACTION_252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 253: x<-M+U+W #define ACTION_253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 254: x<-M+V+W #define ACTION_254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 255: x<-N+O+Q #define ACTION_255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 256: x<-N+O+R #define ACTION_256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 257: x<-N+O+S #define ACTION_257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 258: x<-N+O+T #define ACTION_258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 259: x<-N+O+U #define ACTION_259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 260: x<-N+O+V #define ACTION_260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 261: x<-N+O+W #define ACTION_261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 262: x<-N+P+Q #define ACTION_262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 263: x<-N+P+R #define ACTION_263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 264: x<-N+P+S #define ACTION_264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 265: x<-N+P+T #define ACTION_265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 266: x<-N+P+U #define ACTION_266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 267: x<-N+P+V #define ACTION_267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 268: x<-N+P+W #define ACTION_268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 269: x<-N+Q+R #define ACTION_269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 270: x<-N+Q+S #define ACTION_270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 271: x<-N+Q+T #define ACTION_271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 272: x<-N+Q+U #define ACTION_272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 273: x<-N+Q+V #define ACTION_273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 274: x<-N+Q+W #define ACTION_274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 275: x<-N+R+S #define ACTION_275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 276: x<-N+R+T #define ACTION_276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 277: x<-N+R+U #define ACTION_277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 278: x<-N+R+V #define ACTION_278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 279: x<-N+R+W #define ACTION_279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 280: x<-N+S+T #define ACTION_280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 281: x<-N+S+U #define ACTION_281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 282: x<-N+S+V #define ACTION_282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 283: x<-N+S+W #define ACTION_283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 284: x<-N+T+U #define ACTION_284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 285: x<-N+T+V #define ACTION_285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 286: x<-N+T+W #define ACTION_286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 287: x<-N+U+V #define ACTION_287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 288: x<-N+U+W #define ACTION_288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 289: x<-N+V+W #define ACTION_289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 290: x<-O+P+Q #define ACTION_290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 291: x<-O+P+R #define ACTION_291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 292: x<-O+P+S #define ACTION_292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 293: x<-O+P+T #define ACTION_293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 294: x<-O+P+U #define ACTION_294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 295: x<-O+P+V #define ACTION_295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 296: x<-O+P+W #define ACTION_296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 297: x<-O+Q+R #define ACTION_297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 298: x<-O+Q+S #define ACTION_298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 299: x<-O+Q+T #define ACTION_299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 300: x<-O+Q+U #define ACTION_300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 301: x<-O+Q+V #define ACTION_301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 302: x<-O+Q+W #define ACTION_302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 303: x<-O+R+S #define ACTION_303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 304: x<-O+R+T #define ACTION_304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 305: x<-O+R+U #define ACTION_305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 306: x<-O+R+V #define ACTION_306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 307: x<-O+R+W #define ACTION_307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 308: x<-O+S+T #define ACTION_308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 309: x<-O+S+U #define ACTION_309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 310: x<-O+S+V #define ACTION_310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 311: x<-O+S+W #define ACTION_311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 312: x<-O+T+U #define ACTION_312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 313: x<-O+T+V #define ACTION_313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 314: x<-O+T+W #define ACTION_314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 315: x<-O+U+V #define ACTION_315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 316: x<-O+U+W #define ACTION_316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 317: x<-O+V+W #define ACTION_317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 318: x<-P+Q+R #define ACTION_318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 319: x<-P+Q+S #define ACTION_319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 320: x<-P+Q+T #define ACTION_320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 321: x<-P+Q+U #define ACTION_321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 322: x<-P+Q+V #define ACTION_322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 323: x<-P+Q+W #define ACTION_323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 324: x<-P+R+S #define ACTION_324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 325: x<-P+R+T #define ACTION_325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 326: x<-P+R+U #define ACTION_326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 327: x<-P+R+V #define ACTION_327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 328: x<-P+R+W #define ACTION_328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 329: x<-P+S+T #define ACTION_329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 330: x<-P+S+U #define ACTION_330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 331: x<-P+S+V #define ACTION_331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 332: x<-P+S+W #define ACTION_332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 333: x<-P+T+U #define ACTION_333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 334: x<-P+T+V #define ACTION_334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 335: x<-P+T+W #define ACTION_335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 336: x<-P+U+V #define ACTION_336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 337: x<-P+U+W #define ACTION_337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 338: x<-P+V+W #define ACTION_338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 339: x<-Q+R+T #define ACTION_339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 340: x<-Q+R+U #define ACTION_340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 341: x<-Q+R+V #define ACTION_341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 342: x<-Q+R+W #define ACTION_342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 343: x<-Q+S+T #define ACTION_343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 344: x<-Q+S+U #define ACTION_344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 345: x<-Q+S+V #define ACTION_345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 346: x<-Q+S+W #define ACTION_346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 347: x<-Q+T+U #define ACTION_347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 348: x<-Q+T+V #define ACTION_348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 349: x<-Q+T+W #define ACTION_349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 350: x<-Q+U+V #define ACTION_350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 351: x<-Q+U+W #define ACTION_351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 352: x<-Q+V+W #define ACTION_352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 353: x<-R+S+T #define ACTION_353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 354: x<-R+S+U #define ACTION_354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 355: x<-R+S+V #define ACTION_355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 356: x<-R+S+W #define ACTION_356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 357: x<-R+T+U #define ACTION_357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 358: x<-R+T+V #define ACTION_358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 359: x<-R+T+W #define ACTION_359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 360: x<-R+U+V #define ACTION_360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c));continue; // Action 361: x<-R+U+W #define ACTION_361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c));continue; // Action 362: x<-R+V+W #define ACTION_362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 363: x<-S+T+U #define ACTION_363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 364: x<-S+T+V #define ACTION_364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 365: x<-S+T+W #define ACTION_365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 366: x<-S+U+V #define ACTION_366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2));continue; // Action 367: x<-S+U+W #define ACTION_367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2));continue; // Action 368: x<-S+V+W #define ACTION_368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 369: x<-T+U+W #define ACTION_369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2));continue; // Action 370: x<-T+V+W #define ACTION_370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2));continue; // Action 371: x<-U+V+W #define ACTION_371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c));continue; // Action 372: x<-K+L+N+O #define ACTION_372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 373: x<-K+L+N+P #define ACTION_373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 374: x<-K+L+N+R #define ACTION_374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 375: x<-K+L+N+S #define ACTION_375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 376: x<-K+L+N+T #define ACTION_376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 377: x<-K+L+N+U #define ACTION_377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 378: x<-K+L+N+V #define ACTION_378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 379: x<-K+L+N+W #define ACTION_379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 380: x<-K+L+O+P #define ACTION_380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 381: x<-K+L+O+Q #define ACTION_381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 382: x<-K+L+O+S #define ACTION_382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 383: x<-K+L+O+T #define ACTION_383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 384: x<-K+L+O+U #define ACTION_384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 385: x<-K+L+O+V #define ACTION_385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 386: x<-K+L+O+W #define ACTION_386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 387: x<-K+L+P+Q #define ACTION_387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 388: x<-K+L+P+R #define ACTION_388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 389: x<-K+L+P+T #define ACTION_389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 390: x<-K+L+P+U #define ACTION_390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 391: x<-K+L+P+V #define ACTION_391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 392: x<-K+L+P+W #define ACTION_392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 393: x<-K+L+Q+R #define ACTION_393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 394: x<-K+L+Q+S #define ACTION_394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 395: x<-K+L+Q+T #define ACTION_395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 396: x<-K+L+Q+U #define ACTION_396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 397: x<-K+L+Q+V #define ACTION_397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 398: x<-K+L+Q+W #define ACTION_398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 399: x<-K+L+R+S #define ACTION_399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 400: x<-K+L+R+T #define ACTION_400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 401: x<-K+L+R+U #define ACTION_401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 402: x<-K+L+R+V #define ACTION_402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 403: x<-K+L+R+W #define ACTION_403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 404: x<-K+L+S+T #define ACTION_404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 405: x<-K+L+S+U #define ACTION_405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 406: x<-K+L+S+V #define ACTION_406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 407: x<-K+L+S+W #define ACTION_407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 408: x<-K+L+T+U #define ACTION_408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 409: x<-K+L+T+V #define ACTION_409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 410: x<-K+L+T+W #define ACTION_410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 411: x<-K+L+U+V #define ACTION_411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 412: x<-K+L+U+W #define ACTION_412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 413: x<-K+L+V+W #define ACTION_413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 414: x<-K+M+N+O #define ACTION_414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 415: x<-K+M+N+P #define ACTION_415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 416: x<-K+M+N+R #define ACTION_416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 417: x<-K+M+N+S #define ACTION_417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 418: x<-K+M+N+T #define ACTION_418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 419: x<-K+M+N+U #define ACTION_419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 420: x<-K+M+N+V #define ACTION_420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 421: x<-K+M+N+W #define ACTION_421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 422: x<-K+M+O+P #define ACTION_422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 423: x<-K+M+O+Q #define ACTION_423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 424: x<-K+M+O+S #define ACTION_424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 425: x<-K+M+O+T #define ACTION_425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 426: x<-K+M+O+U #define ACTION_426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 427: x<-K+M+O+V #define ACTION_427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 428: x<-K+M+O+W #define ACTION_428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 429: x<-K+M+P+Q #define ACTION_429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 430: x<-K+M+P+R #define ACTION_430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 431: x<-K+M+P+T #define ACTION_431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 432: x<-K+M+P+U #define ACTION_432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 433: x<-K+M+P+V #define ACTION_433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 434: x<-K+M+P+W #define ACTION_434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 435: x<-K+M+Q+R #define ACTION_435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 436: x<-K+M+Q+S #define ACTION_436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 437: x<-K+M+Q+T #define ACTION_437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 438: x<-K+M+Q+U #define ACTION_438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 439: x<-K+M+Q+V #define ACTION_439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 440: x<-K+M+Q+W #define ACTION_440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 441: x<-K+M+R+S #define ACTION_441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 442: x<-K+M+R+T #define ACTION_442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 443: x<-K+M+R+U #define ACTION_443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 444: x<-K+M+R+V #define ACTION_444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 445: x<-K+M+R+W #define ACTION_445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 446: x<-K+M+S+T #define ACTION_446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 447: x<-K+M+S+U #define ACTION_447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 448: x<-K+M+S+V #define ACTION_448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 449: x<-K+M+S+W #define ACTION_449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 450: x<-K+M+T+U #define ACTION_450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 451: x<-K+M+T+V #define ACTION_451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 452: x<-K+M+T+W #define ACTION_452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 453: x<-K+M+U+V #define ACTION_453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 454: x<-K+M+U+W #define ACTION_454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 455: x<-K+M+V+W #define ACTION_455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 456: x<-K+N+O+R #define ACTION_456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 457: x<-K+N+O+S #define ACTION_457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 458: x<-K+N+O+T #define ACTION_458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 459: x<-K+N+O+U #define ACTION_459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 460: x<-K+N+O+V #define ACTION_460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 461: x<-K+N+O+W #define ACTION_461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 462: x<-K+N+P+R #define ACTION_462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 463: x<-K+N+P+S #define ACTION_463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 464: x<-K+N+P+T #define ACTION_464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 465: x<-K+N+P+U #define ACTION_465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 466: x<-K+N+P+V #define ACTION_466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 467: x<-K+N+P+W #define ACTION_467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 468: x<-K+N+R+T #define ACTION_468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 469: x<-K+N+R+U #define ACTION_469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 470: x<-K+N+R+V #define ACTION_470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 471: x<-K+N+R+W #define ACTION_471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 472: x<-K+N+S+T #define ACTION_472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 473: x<-K+N+S+U #define ACTION_473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 474: x<-K+N+S+V #define ACTION_474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 475: x<-K+N+S+W #define ACTION_475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 476: x<-K+N+T+U #define ACTION_476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 477: x<-K+N+T+V #define ACTION_477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 478: x<-K+N+T+W #define ACTION_478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 479: x<-K+N+U+V #define ACTION_479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 480: x<-K+N+U+W #define ACTION_480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 481: x<-K+N+V+W #define ACTION_481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 482: x<-K+O+P+S #define ACTION_482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 483: x<-K+O+P+T #define ACTION_483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 484: x<-K+O+P+U #define ACTION_484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 485: x<-K+O+P+V #define ACTION_485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 486: x<-K+O+P+W #define ACTION_486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 487: x<-K+O+Q+R #define ACTION_487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 488: x<-K+O+Q+S #define ACTION_488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 489: x<-K+O+Q+T #define ACTION_489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 490: x<-K+O+Q+U #define ACTION_490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 491: x<-K+O+Q+V #define ACTION_491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 492: x<-K+O+Q+W #define ACTION_492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 493: x<-K+O+R+S #define ACTION_493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 494: x<-K+O+R+T #define ACTION_494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 495: x<-K+O+R+U #define ACTION_495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 496: x<-K+O+R+V #define ACTION_496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 497: x<-K+O+R+W #define ACTION_497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 498: x<-K+O+S+T #define ACTION_498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 499: x<-K+O+S+U #define ACTION_499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 500: x<-K+O+S+V #define ACTION_500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 501: x<-K+O+S+W #define ACTION_501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 502: x<-K+O+T+U #define ACTION_502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 503: x<-K+O+T+V #define ACTION_503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 504: x<-K+O+T+W #define ACTION_504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 505: x<-K+O+U+V #define ACTION_505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 506: x<-K+O+U+W #define ACTION_506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 507: x<-K+O+V+W #define ACTION_507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 508: x<-K+P+Q+R #define ACTION_508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 509: x<-K+P+Q+S #define ACTION_509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 510: x<-K+P+Q+T #define ACTION_510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 511: x<-K+P+Q+U #define ACTION_511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 512: x<-K+P+Q+V #define ACTION_512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 513: x<-K+P+Q+W #define ACTION_513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 514: x<-K+P+R+S #define ACTION_514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 515: x<-K+P+R+T #define ACTION_515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 516: x<-K+P+R+U #define ACTION_516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 517: x<-K+P+R+V #define ACTION_517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 518: x<-K+P+R+W #define ACTION_518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 519: x<-K+P+S+T #define ACTION_519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 520: x<-K+P+S+U #define ACTION_520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 521: x<-K+P+S+V #define ACTION_521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 522: x<-K+P+S+W #define ACTION_522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 523: x<-K+P+T+U #define ACTION_523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 524: x<-K+P+T+V #define ACTION_524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 525: x<-K+P+T+W #define ACTION_525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 526: x<-K+P+U+V #define ACTION_526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 527: x<-K+P+U+W #define ACTION_527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 528: x<-K+P+V+W #define ACTION_528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 529: x<-K+Q+R+T #define ACTION_529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 530: x<-K+Q+R+U #define ACTION_530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 531: x<-K+Q+R+V #define ACTION_531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 532: x<-K+Q+R+W #define ACTION_532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 533: x<-K+Q+S+T #define ACTION_533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 534: x<-K+Q+S+U #define ACTION_534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 535: x<-K+Q+S+V #define ACTION_535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 536: x<-K+Q+S+W #define ACTION_536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 537: x<-K+Q+T+U #define ACTION_537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 538: x<-K+Q+T+V #define ACTION_538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 539: x<-K+Q+T+W #define ACTION_539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 540: x<-K+Q+U+V #define ACTION_540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 541: x<-K+Q+U+W #define ACTION_541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 542: x<-K+Q+V+W #define ACTION_542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 543: x<-K+R+S+T #define ACTION_543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 544: x<-K+R+S+U #define ACTION_544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 545: x<-K+R+S+V #define ACTION_545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 546: x<-K+R+S+W #define ACTION_546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 547: x<-K+R+T+U #define ACTION_547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 548: x<-K+R+T+V #define ACTION_548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 549: x<-K+R+T+W #define ACTION_549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 550: x<-K+R+U+V #define ACTION_550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 551: x<-K+R+U+W #define ACTION_551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 552: x<-K+R+V+W #define ACTION_552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 553: x<-K+S+T+U #define ACTION_553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 554: x<-K+S+T+V #define ACTION_554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 555: x<-K+S+T+W #define ACTION_555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 556: x<-K+S+U+V #define ACTION_556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 557: x<-K+S+U+W #define ACTION_557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 558: x<-K+S+V+W #define ACTION_558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 559: x<-K+T+U+W #define ACTION_559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 560: x<-K+T+V+W #define ACTION_560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 561: x<-K+U+V+W #define ACTION_561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 562: x<-L+M+N+O #define ACTION_562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 563: x<-L+M+N+P #define ACTION_563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 564: x<-L+M+N+R #define ACTION_564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 565: x<-L+M+N+S #define ACTION_565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 566: x<-L+M+N+T #define ACTION_566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 567: x<-L+M+N+U #define ACTION_567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 568: x<-L+M+N+V #define ACTION_568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 569: x<-L+M+N+W #define ACTION_569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 570: x<-L+M+O+P #define ACTION_570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 571: x<-L+M+O+Q #define ACTION_571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 572: x<-L+M+O+S #define ACTION_572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 573: x<-L+M+O+T #define ACTION_573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 574: x<-L+M+O+U #define ACTION_574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 575: x<-L+M+O+V #define ACTION_575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 576: x<-L+M+O+W #define ACTION_576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 577: x<-L+M+P+Q #define ACTION_577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 578: x<-L+M+P+R #define ACTION_578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 579: x<-L+M+P+T #define ACTION_579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 580: x<-L+M+P+U #define ACTION_580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 581: x<-L+M+P+V #define ACTION_581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 582: x<-L+M+P+W #define ACTION_582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 583: x<-L+M+Q+R #define ACTION_583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 584: x<-L+M+Q+S #define ACTION_584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 585: x<-L+M+Q+T #define ACTION_585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 586: x<-L+M+Q+U #define ACTION_586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 587: x<-L+M+Q+V #define ACTION_587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 588: x<-L+M+Q+W #define ACTION_588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 589: x<-L+M+R+S #define ACTION_589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 590: x<-L+M+R+T #define ACTION_590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 591: x<-L+M+R+U #define ACTION_591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 592: x<-L+M+R+V #define ACTION_592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 593: x<-L+M+R+W #define ACTION_593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 594: x<-L+M+S+T #define ACTION_594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 595: x<-L+M+S+U #define ACTION_595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 596: x<-L+M+S+V #define ACTION_596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 597: x<-L+M+S+W #define ACTION_597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 598: x<-L+M+T+U #define ACTION_598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 599: x<-L+M+T+V #define ACTION_599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 600: x<-L+M+T+W #define ACTION_600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 601: x<-L+M+U+V #define ACTION_601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 602: x<-L+M+U+W #define ACTION_602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 603: x<-L+M+V+W #define ACTION_603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 604: x<-L+N+O+Q #define ACTION_604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 605: x<-L+N+O+T #define ACTION_605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 606: x<-L+N+O+U #define ACTION_606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 607: x<-L+N+O+V #define ACTION_607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 608: x<-L+N+O+W #define ACTION_608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 609: x<-L+N+P+Q #define ACTION_609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 610: x<-L+N+P+R #define ACTION_610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 611: x<-L+N+P+S #define ACTION_611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 612: x<-L+N+P+T #define ACTION_612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 613: x<-L+N+P+U #define ACTION_613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 614: x<-L+N+P+V #define ACTION_614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 615: x<-L+N+P+W #define ACTION_615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 616: x<-L+N+Q+R #define ACTION_616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 617: x<-L+N+Q+S #define ACTION_617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 618: x<-L+N+Q+T #define ACTION_618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 619: x<-L+N+Q+U #define ACTION_619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 620: x<-L+N+Q+V #define ACTION_620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 621: x<-L+N+Q+W #define ACTION_621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 622: x<-L+N+R+S #define ACTION_622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 623: x<-L+N+R+T #define ACTION_623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 624: x<-L+N+R+U #define ACTION_624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 625: x<-L+N+R+V #define ACTION_625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 626: x<-L+N+R+W #define ACTION_626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 627: x<-L+N+S+T #define ACTION_627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 628: x<-L+N+S+U #define ACTION_628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 629: x<-L+N+S+V #define ACTION_629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 630: x<-L+N+S+W #define ACTION_630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 631: x<-L+N+T+U #define ACTION_631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 632: x<-L+N+T+V #define ACTION_632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 633: x<-L+N+T+W #define ACTION_633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 634: x<-L+N+U+V #define ACTION_634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 635: x<-L+N+U+W #define ACTION_635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 636: x<-L+N+V+W #define ACTION_636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 637: x<-L+O+P+S #define ACTION_637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 638: x<-L+O+P+T #define ACTION_638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 639: x<-L+O+P+U #define ACTION_639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 640: x<-L+O+P+V #define ACTION_640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 641: x<-L+O+P+W #define ACTION_641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 642: x<-L+O+Q+T #define ACTION_642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 643: x<-L+O+Q+U #define ACTION_643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 644: x<-L+O+Q+V #define ACTION_644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 645: x<-L+O+Q+W #define ACTION_645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 646: x<-L+O+S+T #define ACTION_646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 647: x<-L+O+S+U #define ACTION_647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 648: x<-L+O+S+V #define ACTION_648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 649: x<-L+O+S+W #define ACTION_649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 650: x<-L+O+T+U #define ACTION_650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 651: x<-L+O+T+V #define ACTION_651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 652: x<-L+O+T+W #define ACTION_652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 653: x<-L+O+U+V #define ACTION_653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 654: x<-L+O+U+W #define ACTION_654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 655: x<-L+O+V+W #define ACTION_655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 656: x<-L+P+Q+R #define ACTION_656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 657: x<-L+P+Q+S #define ACTION_657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 658: x<-L+P+Q+T #define ACTION_658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 659: x<-L+P+Q+U #define ACTION_659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 660: x<-L+P+Q+V #define ACTION_660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 661: x<-L+P+Q+W #define ACTION_661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 662: x<-L+P+R+S #define ACTION_662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 663: x<-L+P+R+T #define ACTION_663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 664: x<-L+P+R+U #define ACTION_664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 665: x<-L+P+R+V #define ACTION_665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 666: x<-L+P+R+W #define ACTION_666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 667: x<-L+P+S+T #define ACTION_667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 668: x<-L+P+S+U #define ACTION_668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 669: x<-L+P+S+V #define ACTION_669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 670: x<-L+P+S+W #define ACTION_670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 671: x<-L+P+T+U #define ACTION_671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 672: x<-L+P+T+V #define ACTION_672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 673: x<-L+P+T+W #define ACTION_673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 674: x<-L+P+U+V #define ACTION_674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 675: x<-L+P+U+W #define ACTION_675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 676: x<-L+P+V+W #define ACTION_676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 677: x<-L+Q+R+T #define ACTION_677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 678: x<-L+Q+R+U #define ACTION_678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 679: x<-L+Q+R+V #define ACTION_679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 680: x<-L+Q+R+W #define ACTION_680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 681: x<-L+Q+S+T #define ACTION_681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 682: x<-L+Q+S+U #define ACTION_682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 683: x<-L+Q+S+V #define ACTION_683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 684: x<-L+Q+S+W #define ACTION_684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 685: x<-L+Q+T+U #define ACTION_685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 686: x<-L+Q+T+V #define ACTION_686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 687: x<-L+Q+T+W #define ACTION_687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 688: x<-L+Q+U+V #define ACTION_688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 689: x<-L+Q+U+W #define ACTION_689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 690: x<-L+Q+V+W #define ACTION_690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 691: x<-L+R+S+T #define ACTION_691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 692: x<-L+R+S+U #define ACTION_692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 693: x<-L+R+S+V #define ACTION_693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 694: x<-L+R+S+W #define ACTION_694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 695: x<-L+R+T+U #define ACTION_695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 696: x<-L+R+T+V #define ACTION_696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 697: x<-L+R+T+W #define ACTION_697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 698: x<-L+R+U+V #define ACTION_698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 699: x<-L+R+U+W #define ACTION_699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 700: x<-L+R+V+W #define ACTION_700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 701: x<-L+S+T+U #define ACTION_701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 702: x<-L+S+T+V #define ACTION_702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 703: x<-L+S+T+W #define ACTION_703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 704: x<-L+S+U+V #define ACTION_704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 705: x<-L+S+U+W #define ACTION_705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 706: x<-L+S+V+W #define ACTION_706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 707: x<-L+T+U+W #define ACTION_707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 708: x<-L+T+V+W #define ACTION_708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 709: x<-L+U+V+W #define ACTION_709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 710: x<-M+N+O+Q #define ACTION_710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 711: x<-M+N+O+T #define ACTION_711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 712: x<-M+N+O+U #define ACTION_712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 713: x<-M+N+O+V #define ACTION_713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 714: x<-M+N+O+W #define ACTION_714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 715: x<-M+N+P+Q #define ACTION_715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 716: x<-M+N+P+R #define ACTION_716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 717: x<-M+N+P+T #define ACTION_717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 718: x<-M+N+P+U #define ACTION_718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 719: x<-M+N+P+V #define ACTION_719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 720: x<-M+N+P+W #define ACTION_720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 721: x<-M+N+Q+R #define ACTION_721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 722: x<-M+N+Q+S #define ACTION_722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 723: x<-M+N+Q+T #define ACTION_723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 724: x<-M+N+Q+U #define ACTION_724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 725: x<-M+N+Q+V #define ACTION_725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 726: x<-M+N+Q+W #define ACTION_726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 727: x<-M+N+R+S #define ACTION_727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 728: x<-M+N+R+T #define ACTION_728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 729: x<-M+N+R+U #define ACTION_729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 730: x<-M+N+R+V #define ACTION_730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 731: x<-M+N+R+W #define ACTION_731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 732: x<-M+N+S+T #define ACTION_732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 733: x<-M+N+S+U #define ACTION_733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 734: x<-M+N+S+V #define ACTION_734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 735: x<-M+N+S+W #define ACTION_735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 736: x<-M+N+T+U #define ACTION_736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 737: x<-M+N+T+V #define ACTION_737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 738: x<-M+N+T+W #define ACTION_738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 739: x<-M+N+U+V #define ACTION_739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 740: x<-M+N+U+W #define ACTION_740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 741: x<-M+N+V+W #define ACTION_741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 742: x<-M+O+P+Q #define ACTION_742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 743: x<-M+O+P+R #define ACTION_743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 744: x<-M+O+P+T #define ACTION_744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 745: x<-M+O+P+U #define ACTION_745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 746: x<-M+O+P+V #define ACTION_746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 747: x<-M+O+P+W #define ACTION_747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 748: x<-M+O+Q+R #define ACTION_748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 749: x<-M+O+Q+S #define ACTION_749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 750: x<-M+O+Q+T #define ACTION_750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 751: x<-M+O+Q+U #define ACTION_751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 752: x<-M+O+Q+V #define ACTION_752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 753: x<-M+O+Q+W #define ACTION_753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 754: x<-M+O+R+S #define ACTION_754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 755: x<-M+O+R+T #define ACTION_755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 756: x<-M+O+R+U #define ACTION_756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 757: x<-M+O+R+V #define ACTION_757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 758: x<-M+O+R+W #define ACTION_758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 759: x<-M+O+S+T #define ACTION_759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 760: x<-M+O+S+U #define ACTION_760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 761: x<-M+O+S+V #define ACTION_761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 762: x<-M+O+S+W #define ACTION_762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 763: x<-M+O+T+U #define ACTION_763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 764: x<-M+O+T+V #define ACTION_764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 765: x<-M+O+T+W #define ACTION_765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 766: x<-M+O+U+V #define ACTION_766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 767: x<-M+O+U+W #define ACTION_767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 768: x<-M+O+V+W #define ACTION_768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 769: x<-M+P+Q+T #define ACTION_769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 770: x<-M+P+Q+U #define ACTION_770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 771: x<-M+P+Q+V #define ACTION_771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 772: x<-M+P+Q+W #define ACTION_772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 773: x<-M+P+R+T #define ACTION_773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 774: x<-M+P+R+U #define ACTION_774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 775: x<-M+P+R+V #define ACTION_775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 776: x<-M+P+R+W #define ACTION_776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 777: x<-M+P+T+U #define ACTION_777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 778: x<-M+P+T+V #define ACTION_778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 779: x<-M+P+T+W #define ACTION_779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 780: x<-M+P+U+V #define ACTION_780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 781: x<-M+P+U+W #define ACTION_781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 782: x<-M+P+V+W #define ACTION_782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 783: x<-M+Q+R+T #define ACTION_783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 784: x<-M+Q+R+U #define ACTION_784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 785: x<-M+Q+R+V #define ACTION_785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 786: x<-M+Q+R+W #define ACTION_786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 787: x<-M+Q+S+T #define ACTION_787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 788: x<-M+Q+S+U #define ACTION_788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 789: x<-M+Q+S+V #define ACTION_789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 790: x<-M+Q+S+W #define ACTION_790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 791: x<-M+Q+T+U #define ACTION_791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 792: x<-M+Q+T+V #define ACTION_792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 793: x<-M+Q+T+W #define ACTION_793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 794: x<-M+Q+U+V #define ACTION_794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 795: x<-M+Q+U+W #define ACTION_795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 796: x<-M+Q+V+W #define ACTION_796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 797: x<-M+R+S+T #define ACTION_797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 798: x<-M+R+S+U #define ACTION_798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 799: x<-M+R+S+V #define ACTION_799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 800: x<-M+R+S+W #define ACTION_800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 801: x<-M+R+T+U #define ACTION_801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 802: x<-M+R+T+V #define ACTION_802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 803: x<-M+R+T+W #define ACTION_803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 804: x<-M+R+U+V #define ACTION_804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 805: x<-M+R+U+W #define ACTION_805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 806: x<-M+R+V+W #define ACTION_806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 807: x<-M+S+T+U #define ACTION_807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 808: x<-M+S+T+V #define ACTION_808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 809: x<-M+S+T+W #define ACTION_809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 810: x<-M+S+U+V #define ACTION_810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 811: x<-M+S+U+W #define ACTION_811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 812: x<-M+S+V+W #define ACTION_812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 813: x<-M+T+U+W #define ACTION_813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 814: x<-M+T+V+W #define ACTION_814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 815: x<-M+U+V+W #define ACTION_815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 816: x<-N+O+Q+R #define ACTION_816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 817: x<-N+O+Q+S #define ACTION_817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 818: x<-N+O+Q+T #define ACTION_818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 819: x<-N+O+Q+U #define ACTION_819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 820: x<-N+O+Q+V #define ACTION_820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 821: x<-N+O+Q+W #define ACTION_821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 822: x<-N+O+R+S #define ACTION_822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 823: x<-N+O+R+T #define ACTION_823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 824: x<-N+O+R+U #define ACTION_824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 825: x<-N+O+R+V #define ACTION_825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 826: x<-N+O+R+W #define ACTION_826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 827: x<-N+O+S+T #define ACTION_827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 828: x<-N+O+S+U #define ACTION_828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 829: x<-N+O+S+V #define ACTION_829 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 830: x<-N+O+S+W #define ACTION_830 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 831: x<-N+O+T+U #define ACTION_831 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 832: x<-N+O+T+V #define ACTION_832 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 833: x<-N+O+T+W #define ACTION_833 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 834: x<-N+O+U+V #define ACTION_834 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 835: x<-N+O+U+W #define ACTION_835 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 836: x<-N+O+V+W #define ACTION_836 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 837: x<-N+P+Q+R #define ACTION_837 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 838: x<-N+P+Q+S #define ACTION_838 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 839: x<-N+P+Q+T #define ACTION_839 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 840: x<-N+P+Q+U #define ACTION_840 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 841: x<-N+P+Q+V #define ACTION_841 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 842: x<-N+P+Q+W #define ACTION_842 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 843: x<-N+P+R+S #define ACTION_843 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 844: x<-N+P+R+T #define ACTION_844 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 845: x<-N+P+R+U #define ACTION_845 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 846: x<-N+P+R+V #define ACTION_846 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 847: x<-N+P+R+W #define ACTION_847 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 848: x<-N+P+S+T #define ACTION_848 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 849: x<-N+P+S+U #define ACTION_849 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 850: x<-N+P+S+V #define ACTION_850 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 851: x<-N+P+S+W #define ACTION_851 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 852: x<-N+P+T+U #define ACTION_852 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 853: x<-N+P+T+V #define ACTION_853 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 854: x<-N+P+T+W #define ACTION_854 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 855: x<-N+P+U+V #define ACTION_855 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 856: x<-N+P+U+W #define ACTION_856 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 857: x<-N+P+V+W #define ACTION_857 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 858: x<-N+Q+R+T #define ACTION_858 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 859: x<-N+Q+R+U #define ACTION_859 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 860: x<-N+Q+R+V #define ACTION_860 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 861: x<-N+Q+R+W #define ACTION_861 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 862: x<-N+Q+S+T #define ACTION_862 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 863: x<-N+Q+S+U #define ACTION_863 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 864: x<-N+Q+S+V #define ACTION_864 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 865: x<-N+Q+S+W #define ACTION_865 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 866: x<-N+Q+T+U #define ACTION_866 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 867: x<-N+Q+T+V #define ACTION_867 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 868: x<-N+Q+T+W #define ACTION_868 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 869: x<-N+Q+U+V #define ACTION_869 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 870: x<-N+Q+U+W #define ACTION_870 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 871: x<-N+Q+V+W #define ACTION_871 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 872: x<-N+R+S+T #define ACTION_872 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 873: x<-N+R+S+U #define ACTION_873 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 874: x<-N+R+S+V #define ACTION_874 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 875: x<-N+R+S+W #define ACTION_875 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 876: x<-N+R+T+U #define ACTION_876 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 877: x<-N+R+T+V #define ACTION_877 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 878: x<-N+R+T+W #define ACTION_878 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 879: x<-N+R+U+V #define ACTION_879 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 880: x<-N+R+U+W #define ACTION_880 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 881: x<-N+R+V+W #define ACTION_881 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 882: x<-N+S+T+U #define ACTION_882 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 883: x<-N+S+T+V #define ACTION_883 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 884: x<-N+S+T+W #define ACTION_884 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 885: x<-N+S+U+V #define ACTION_885 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 886: x<-N+S+U+W #define ACTION_886 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 887: x<-N+S+V+W #define ACTION_887 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 888: x<-N+T+U+W #define ACTION_888 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 889: x<-N+T+V+W #define ACTION_889 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 890: x<-N+U+V+W #define ACTION_890 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 891: x<-O+P+Q+R #define ACTION_891 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 892: x<-O+P+Q+S #define ACTION_892 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 893: x<-O+P+Q+T #define ACTION_893 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 894: x<-O+P+Q+U #define ACTION_894 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 895: x<-O+P+Q+V #define ACTION_895 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 896: x<-O+P+Q+W #define ACTION_896 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 897: x<-O+P+R+S #define ACTION_897 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 898: x<-O+P+R+T #define ACTION_898 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 899: x<-O+P+R+U #define ACTION_899 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 900: x<-O+P+R+V #define ACTION_900 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 901: x<-O+P+R+W #define ACTION_901 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 902: x<-O+P+S+T #define ACTION_902 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 903: x<-O+P+S+U #define ACTION_903 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 904: x<-O+P+S+V #define ACTION_904 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 905: x<-O+P+S+W #define ACTION_905 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 906: x<-O+P+T+U #define ACTION_906 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 907: x<-O+P+T+V #define ACTION_907 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 908: x<-O+P+T+W #define ACTION_908 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 909: x<-O+P+U+V #define ACTION_909 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 910: x<-O+P+U+W #define ACTION_910 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 911: x<-O+P+V+W #define ACTION_911 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 912: x<-O+Q+R+T #define ACTION_912 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 913: x<-O+Q+R+U #define ACTION_913 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 914: x<-O+Q+R+V #define ACTION_914 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 915: x<-O+Q+R+W #define ACTION_915 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 916: x<-O+Q+S+T #define ACTION_916 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 917: x<-O+Q+S+U #define ACTION_917 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 918: x<-O+Q+S+V #define ACTION_918 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 919: x<-O+Q+S+W #define ACTION_919 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 920: x<-O+Q+T+U #define ACTION_920 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 921: x<-O+Q+T+V #define ACTION_921 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 922: x<-O+Q+T+W #define ACTION_922 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 923: x<-O+Q+U+V #define ACTION_923 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 924: x<-O+Q+U+W #define ACTION_924 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 925: x<-O+Q+V+W #define ACTION_925 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 926: x<-O+R+S+T #define ACTION_926 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 927: x<-O+R+S+U #define ACTION_927 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 928: x<-O+R+S+V #define ACTION_928 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 929: x<-O+R+S+W #define ACTION_929 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 930: x<-O+R+T+U #define ACTION_930 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 931: x<-O+R+T+V #define ACTION_931 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 932: x<-O+R+T+W #define ACTION_932 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 933: x<-O+R+U+V #define ACTION_933 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 934: x<-O+R+U+W #define ACTION_934 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 935: x<-O+R+V+W #define ACTION_935 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 936: x<-O+S+T+U #define ACTION_936 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 937: x<-O+S+T+V #define ACTION_937 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 938: x<-O+S+T+W #define ACTION_938 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 939: x<-O+S+U+V #define ACTION_939 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 940: x<-O+S+U+W #define ACTION_940 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 941: x<-O+S+V+W #define ACTION_941 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 942: x<-O+T+U+W #define ACTION_942 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 943: x<-O+T+V+W #define ACTION_943 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 944: x<-O+U+V+W #define ACTION_944 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 945: x<-P+Q+R+T #define ACTION_945 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 946: x<-P+Q+R+U #define ACTION_946 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 947: x<-P+Q+R+V #define ACTION_947 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 948: x<-P+Q+R+W #define ACTION_948 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 949: x<-P+Q+S+T #define ACTION_949 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 950: x<-P+Q+S+U #define ACTION_950 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 951: x<-P+Q+S+V #define ACTION_951 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 952: x<-P+Q+S+W #define ACTION_952 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 953: x<-P+Q+T+U #define ACTION_953 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 954: x<-P+Q+T+V #define ACTION_954 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 955: x<-P+Q+T+W #define ACTION_955 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 956: x<-P+Q+U+V #define ACTION_956 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 957: x<-P+Q+U+W #define ACTION_957 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 958: x<-P+Q+V+W #define ACTION_958 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 959: x<-P+R+S+T #define ACTION_959 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 960: x<-P+R+S+U #define ACTION_960 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 961: x<-P+R+S+V #define ACTION_961 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 962: x<-P+R+S+W #define ACTION_962 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 963: x<-P+R+T+U #define ACTION_963 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 964: x<-P+R+T+V #define ACTION_964 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 965: x<-P+R+T+W #define ACTION_965 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 966: x<-P+R+U+V #define ACTION_966 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 967: x<-P+R+U+W #define ACTION_967 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 968: x<-P+R+V+W #define ACTION_968 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 969: x<-P+S+T+U #define ACTION_969 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 970: x<-P+S+T+V #define ACTION_970 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 971: x<-P+S+T+W #define ACTION_971 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 972: x<-P+S+U+V #define ACTION_972 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 973: x<-P+S+U+W #define ACTION_973 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 974: x<-P+S+V+W #define ACTION_974 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 975: x<-P+T+U+W #define ACTION_975 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 976: x<-P+T+V+W #define ACTION_976 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 977: x<-P+U+V+W #define ACTION_977 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 978: x<-Q+R+T+U #define ACTION_978 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 979: x<-Q+R+T+V #define ACTION_979 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 980: x<-Q+R+T+W #define ACTION_980 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 981: x<-Q+R+U+V #define ACTION_981 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 982: x<-Q+R+U+W #define ACTION_982 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 983: x<-Q+R+V+W #define ACTION_983 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 984: x<-Q+S+T+U #define ACTION_984 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 985: x<-Q+S+T+V #define ACTION_985 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 986: x<-Q+S+T+W #define ACTION_986 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 987: x<-Q+S+U+V #define ACTION_987 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 988: x<-Q+S+U+W #define ACTION_988 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 989: x<-Q+S+V+W #define ACTION_989 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 990: x<-Q+T+U+W #define ACTION_990 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 991: x<-Q+T+V+W #define ACTION_991 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 992: x<-Q+U+V+W #define ACTION_992 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 993: x<-R+S+T+U #define ACTION_993 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 994: x<-R+S+T+V #define ACTION_994 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 995: x<-R+S+T+W #define ACTION_995 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 996: x<-R+S+U+V #define ACTION_996 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 997: x<-R+S+U+W #define ACTION_997 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 998: x<-R+S+V+W #define ACTION_998 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 999: x<-R+T+U+W #define ACTION_999 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)));continue; // Action 1000: x<-R+T+V+W #define ACTION_1000 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)));continue; // Action 1001: x<-R+U+V+W #define ACTION_1001 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)));continue; // Action 1002: x<-S+T+U+W #define ACTION_1002 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1003: x<-S+T+V+W #define ACTION_1003 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1004: x<-S+U+V+W #define ACTION_1004 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1005: x<-K+L+N+O+T #define ACTION_1005 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1006: x<-K+L+N+O+U #define ACTION_1006 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1007: x<-K+L+N+O+V #define ACTION_1007 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1008: x<-K+L+N+O+W #define ACTION_1008 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1009: x<-K+L+N+P+T #define ACTION_1009 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1010: x<-K+L+N+P+U #define ACTION_1010 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1011: x<-K+L+N+P+V #define ACTION_1011 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1012: x<-K+L+N+P+W #define ACTION_1012 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1013: x<-K+L+N+R+T #define ACTION_1013 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1014: x<-K+L+N+R+U #define ACTION_1014 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1015: x<-K+L+N+R+V #define ACTION_1015 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1016: x<-K+L+N+R+W #define ACTION_1016 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1017: x<-K+L+N+S+T #define ACTION_1017 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1018: x<-K+L+N+S+U #define ACTION_1018 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1019: x<-K+L+N+S+V #define ACTION_1019 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1020: x<-K+L+N+S+W #define ACTION_1020 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1021: x<-K+L+N+T+U #define ACTION_1021 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1022: x<-K+L+N+T+V #define ACTION_1022 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1023: x<-K+L+N+T+W #define ACTION_1023 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1024: x<-K+L+N+U+V #define ACTION_1024 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1025: x<-K+L+N+U+W #define ACTION_1025 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1026: x<-K+L+N+V+W #define ACTION_1026 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1027: x<-K+L+O+P+T #define ACTION_1027 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1028: x<-K+L+O+P+U #define ACTION_1028 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1029: x<-K+L+O+P+V #define ACTION_1029 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1030: x<-K+L+O+P+W #define ACTION_1030 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1031: x<-K+L+O+Q+T #define ACTION_1031 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1032: x<-K+L+O+Q+U #define ACTION_1032 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1033: x<-K+L+O+Q+V #define ACTION_1033 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1034: x<-K+L+O+Q+W #define ACTION_1034 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1035: x<-K+L+O+S+T #define ACTION_1035 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1036: x<-K+L+O+S+U #define ACTION_1036 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1037: x<-K+L+O+S+V #define ACTION_1037 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1038: x<-K+L+O+S+W #define ACTION_1038 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1039: x<-K+L+O+T+U #define ACTION_1039 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1040: x<-K+L+O+T+V #define ACTION_1040 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1041: x<-K+L+O+T+W #define ACTION_1041 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1042: x<-K+L+O+U+V #define ACTION_1042 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1043: x<-K+L+O+U+W #define ACTION_1043 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1044: x<-K+L+O+V+W #define ACTION_1044 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1045: x<-K+L+P+Q+T #define ACTION_1045 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1046: x<-K+L+P+Q+U #define ACTION_1046 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1047: x<-K+L+P+Q+V #define ACTION_1047 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1048: x<-K+L+P+Q+W #define ACTION_1048 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1049: x<-K+L+P+R+T #define ACTION_1049 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1050: x<-K+L+P+R+U #define ACTION_1050 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1051: x<-K+L+P+R+V #define ACTION_1051 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1052: x<-K+L+P+R+W #define ACTION_1052 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1053: x<-K+L+P+T+U #define ACTION_1053 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1054: x<-K+L+P+T+V #define ACTION_1054 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1055: x<-K+L+P+T+W #define ACTION_1055 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1056: x<-K+L+P+U+V #define ACTION_1056 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1057: x<-K+L+P+U+W #define ACTION_1057 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1058: x<-K+L+P+V+W #define ACTION_1058 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1059: x<-K+L+Q+R+T #define ACTION_1059 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1060: x<-K+L+Q+R+U #define ACTION_1060 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1061: x<-K+L+Q+R+V #define ACTION_1061 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1062: x<-K+L+Q+R+W #define ACTION_1062 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1063: x<-K+L+Q+S+T #define ACTION_1063 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1064: x<-K+L+Q+S+U #define ACTION_1064 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1065: x<-K+L+Q+S+V #define ACTION_1065 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1066: x<-K+L+Q+S+W #define ACTION_1066 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1067: x<-K+L+Q+T+U #define ACTION_1067 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1068: x<-K+L+Q+T+V #define ACTION_1068 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1069: x<-K+L+Q+T+W #define ACTION_1069 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1070: x<-K+L+Q+U+V #define ACTION_1070 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1071: x<-K+L+Q+U+W #define ACTION_1071 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1072: x<-K+L+Q+V+W #define ACTION_1072 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1073: x<-K+L+R+S+T #define ACTION_1073 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1074: x<-K+L+R+S+U #define ACTION_1074 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1075: x<-K+L+R+S+V #define ACTION_1075 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1076: x<-K+L+R+S+W #define ACTION_1076 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1077: x<-K+L+R+T+U #define ACTION_1077 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1078: x<-K+L+R+T+V #define ACTION_1078 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1079: x<-K+L+R+T+W #define ACTION_1079 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1080: x<-K+L+R+U+V #define ACTION_1080 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1081: x<-K+L+R+U+W #define ACTION_1081 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1082: x<-K+L+R+V+W #define ACTION_1082 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1083: x<-K+L+S+T+U #define ACTION_1083 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1084: x<-K+L+S+T+V #define ACTION_1084 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1085: x<-K+L+S+T+W #define ACTION_1085 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1086: x<-K+L+S+U+V #define ACTION_1086 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1087: x<-K+L+S+U+W #define ACTION_1087 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1088: x<-K+L+S+V+W #define ACTION_1088 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1089: x<-K+L+T+U+W #define ACTION_1089 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1090: x<-K+L+T+V+W #define ACTION_1090 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1091: x<-K+L+U+V+W #define ACTION_1091 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1092: x<-K+M+N+O+T #define ACTION_1092 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1093: x<-K+M+N+O+U #define ACTION_1093 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1094: x<-K+M+N+O+V #define ACTION_1094 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1095: x<-K+M+N+O+W #define ACTION_1095 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1096: x<-K+M+N+P+T #define ACTION_1096 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1097: x<-K+M+N+P+U #define ACTION_1097 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1098: x<-K+M+N+P+V #define ACTION_1098 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1099: x<-K+M+N+P+W #define ACTION_1099 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1100: x<-K+M+N+R+T #define ACTION_1100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1101: x<-K+M+N+R+U #define ACTION_1101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1102: x<-K+M+N+R+V #define ACTION_1102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1103: x<-K+M+N+R+W #define ACTION_1103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1104: x<-K+M+N+S+T #define ACTION_1104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1105: x<-K+M+N+S+U #define ACTION_1105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1106: x<-K+M+N+S+V #define ACTION_1106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1107: x<-K+M+N+S+W #define ACTION_1107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1108: x<-K+M+N+T+U #define ACTION_1108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1109: x<-K+M+N+T+V #define ACTION_1109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1110: x<-K+M+N+T+W #define ACTION_1110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1111: x<-K+M+N+U+V #define ACTION_1111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1112: x<-K+M+N+U+W #define ACTION_1112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1113: x<-K+M+N+V+W #define ACTION_1113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1114: x<-K+M+O+P+T #define ACTION_1114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1115: x<-K+M+O+P+U #define ACTION_1115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1116: x<-K+M+O+P+V #define ACTION_1116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1117: x<-K+M+O+P+W #define ACTION_1117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1118: x<-K+M+O+Q+T #define ACTION_1118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1119: x<-K+M+O+Q+U #define ACTION_1119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1120: x<-K+M+O+Q+V #define ACTION_1120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1121: x<-K+M+O+Q+W #define ACTION_1121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1122: x<-K+M+O+S+T #define ACTION_1122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1123: x<-K+M+O+S+U #define ACTION_1123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1124: x<-K+M+O+S+V #define ACTION_1124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1125: x<-K+M+O+S+W #define ACTION_1125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1126: x<-K+M+O+T+U #define ACTION_1126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1127: x<-K+M+O+T+V #define ACTION_1127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1128: x<-K+M+O+T+W #define ACTION_1128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1129: x<-K+M+O+U+V #define ACTION_1129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1130: x<-K+M+O+U+W #define ACTION_1130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1131: x<-K+M+O+V+W #define ACTION_1131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1132: x<-K+M+P+Q+T #define ACTION_1132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1133: x<-K+M+P+Q+U #define ACTION_1133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1134: x<-K+M+P+Q+V #define ACTION_1134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1135: x<-K+M+P+Q+W #define ACTION_1135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1136: x<-K+M+P+R+T #define ACTION_1136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1137: x<-K+M+P+R+U #define ACTION_1137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1138: x<-K+M+P+R+V #define ACTION_1138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1139: x<-K+M+P+R+W #define ACTION_1139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1140: x<-K+M+P+T+U #define ACTION_1140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1141: x<-K+M+P+T+V #define ACTION_1141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1142: x<-K+M+P+T+W #define ACTION_1142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1143: x<-K+M+P+U+V #define ACTION_1143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1144: x<-K+M+P+U+W #define ACTION_1144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1145: x<-K+M+P+V+W #define ACTION_1145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1146: x<-K+M+Q+R+T #define ACTION_1146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1147: x<-K+M+Q+R+U #define ACTION_1147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1148: x<-K+M+Q+R+V #define ACTION_1148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1149: x<-K+M+Q+R+W #define ACTION_1149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1150: x<-K+M+Q+S+T #define ACTION_1150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1151: x<-K+M+Q+S+U #define ACTION_1151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1152: x<-K+M+Q+S+V #define ACTION_1152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1153: x<-K+M+Q+S+W #define ACTION_1153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1154: x<-K+M+Q+T+U #define ACTION_1154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1155: x<-K+M+Q+T+V #define ACTION_1155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1156: x<-K+M+Q+T+W #define ACTION_1156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1157: x<-K+M+Q+U+V #define ACTION_1157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1158: x<-K+M+Q+U+W #define ACTION_1158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1159: x<-K+M+Q+V+W #define ACTION_1159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1160: x<-K+M+R+S+T #define ACTION_1160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1161: x<-K+M+R+S+U #define ACTION_1161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1162: x<-K+M+R+S+V #define ACTION_1162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1163: x<-K+M+R+S+W #define ACTION_1163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1164: x<-K+M+R+T+U #define ACTION_1164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1165: x<-K+M+R+T+V #define ACTION_1165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1166: x<-K+M+R+T+W #define ACTION_1166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1167: x<-K+M+R+U+V #define ACTION_1167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1168: x<-K+M+R+U+W #define ACTION_1168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1169: x<-K+M+R+V+W #define ACTION_1169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1170: x<-K+M+S+T+U #define ACTION_1170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1171: x<-K+M+S+T+V #define ACTION_1171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1172: x<-K+M+S+T+W #define ACTION_1172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1173: x<-K+M+S+U+V #define ACTION_1173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1174: x<-K+M+S+U+W #define ACTION_1174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1175: x<-K+M+S+V+W #define ACTION_1175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1176: x<-K+M+T+U+W #define ACTION_1176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1177: x<-K+M+T+V+W #define ACTION_1177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1178: x<-K+M+U+V+W #define ACTION_1178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1179: x<-K+N+O+R+T #define ACTION_1179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1180: x<-K+N+O+R+U #define ACTION_1180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1181: x<-K+N+O+R+V #define ACTION_1181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1182: x<-K+N+O+R+W #define ACTION_1182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1183: x<-K+N+O+S+T #define ACTION_1183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1184: x<-K+N+O+S+U #define ACTION_1184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1185: x<-K+N+O+S+V #define ACTION_1185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1186: x<-K+N+O+S+W #define ACTION_1186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1187: x<-K+N+O+T+U #define ACTION_1187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1188: x<-K+N+O+T+V #define ACTION_1188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1189: x<-K+N+O+T+W #define ACTION_1189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1190: x<-K+N+O+U+V #define ACTION_1190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1191: x<-K+N+O+U+W #define ACTION_1191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1192: x<-K+N+O+V+W #define ACTION_1192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1193: x<-K+N+P+R+T #define ACTION_1193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1194: x<-K+N+P+R+U #define ACTION_1194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1195: x<-K+N+P+R+V #define ACTION_1195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1196: x<-K+N+P+R+W #define ACTION_1196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1197: x<-K+N+P+S+T #define ACTION_1197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1198: x<-K+N+P+S+U #define ACTION_1198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1199: x<-K+N+P+S+V #define ACTION_1199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1200: x<-K+N+P+S+W #define ACTION_1200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1201: x<-K+N+P+T+U #define ACTION_1201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1202: x<-K+N+P+T+V #define ACTION_1202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1203: x<-K+N+P+T+W #define ACTION_1203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1204: x<-K+N+P+U+V #define ACTION_1204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1205: x<-K+N+P+U+W #define ACTION_1205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1206: x<-K+N+P+V+W #define ACTION_1206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1207: x<-K+N+R+T+U #define ACTION_1207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1208: x<-K+N+R+T+V #define ACTION_1208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1209: x<-K+N+R+T+W #define ACTION_1209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1210: x<-K+N+R+U+V #define ACTION_1210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1211: x<-K+N+R+U+W #define ACTION_1211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1212: x<-K+N+R+V+W #define ACTION_1212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1213: x<-K+N+S+T+U #define ACTION_1213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1214: x<-K+N+S+T+V #define ACTION_1214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1215: x<-K+N+S+T+W #define ACTION_1215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1216: x<-K+N+S+U+V #define ACTION_1216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1217: x<-K+N+S+U+W #define ACTION_1217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1218: x<-K+N+S+V+W #define ACTION_1218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1219: x<-K+N+T+U+W #define ACTION_1219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1220: x<-K+N+T+V+W #define ACTION_1220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1221: x<-K+N+U+V+W #define ACTION_1221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1222: x<-K+O+P+S+T #define ACTION_1222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1223: x<-K+O+P+S+U #define ACTION_1223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1224: x<-K+O+P+S+V #define ACTION_1224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1225: x<-K+O+P+S+W #define ACTION_1225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1226: x<-K+O+P+T+U #define ACTION_1226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1227: x<-K+O+P+T+V #define ACTION_1227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1228: x<-K+O+P+T+W #define ACTION_1228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1229: x<-K+O+P+U+V #define ACTION_1229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1230: x<-K+O+P+U+W #define ACTION_1230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1231: x<-K+O+P+V+W #define ACTION_1231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1232: x<-K+O+Q+R+T #define ACTION_1232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1233: x<-K+O+Q+R+U #define ACTION_1233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1234: x<-K+O+Q+R+V #define ACTION_1234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1235: x<-K+O+Q+R+W #define ACTION_1235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1236: x<-K+O+Q+S+T #define ACTION_1236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1237: x<-K+O+Q+S+U #define ACTION_1237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1238: x<-K+O+Q+S+V #define ACTION_1238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1239: x<-K+O+Q+S+W #define ACTION_1239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1240: x<-K+O+Q+T+U #define ACTION_1240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1241: x<-K+O+Q+T+V #define ACTION_1241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1242: x<-K+O+Q+T+W #define ACTION_1242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1243: x<-K+O+Q+U+V #define ACTION_1243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1244: x<-K+O+Q+U+W #define ACTION_1244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1245: x<-K+O+Q+V+W #define ACTION_1245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1246: x<-K+O+R+S+T #define ACTION_1246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1247: x<-K+O+R+S+U #define ACTION_1247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1248: x<-K+O+R+S+V #define ACTION_1248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1249: x<-K+O+R+S+W #define ACTION_1249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1250: x<-K+O+R+T+U #define ACTION_1250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1251: x<-K+O+R+T+V #define ACTION_1251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1252: x<-K+O+R+T+W #define ACTION_1252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1253: x<-K+O+R+U+V #define ACTION_1253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1254: x<-K+O+R+U+W #define ACTION_1254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1255: x<-K+O+R+V+W #define ACTION_1255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1256: x<-K+O+S+T+U #define ACTION_1256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1257: x<-K+O+S+T+V #define ACTION_1257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1258: x<-K+O+S+T+W #define ACTION_1258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1259: x<-K+O+S+U+V #define ACTION_1259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1260: x<-K+O+S+U+W #define ACTION_1260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1261: x<-K+O+S+V+W #define ACTION_1261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1262: x<-K+O+T+U+W #define ACTION_1262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1263: x<-K+O+T+V+W #define ACTION_1263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1264: x<-K+O+U+V+W #define ACTION_1264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1265: x<-K+P+Q+R+T #define ACTION_1265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1266: x<-K+P+Q+R+U #define ACTION_1266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1267: x<-K+P+Q+R+V #define ACTION_1267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1268: x<-K+P+Q+R+W #define ACTION_1268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1269: x<-K+P+Q+S+T #define ACTION_1269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1270: x<-K+P+Q+S+U #define ACTION_1270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1271: x<-K+P+Q+S+V #define ACTION_1271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1272: x<-K+P+Q+S+W #define ACTION_1272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1273: x<-K+P+Q+T+U #define ACTION_1273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1274: x<-K+P+Q+T+V #define ACTION_1274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1275: x<-K+P+Q+T+W #define ACTION_1275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1276: x<-K+P+Q+U+V #define ACTION_1276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1277: x<-K+P+Q+U+W #define ACTION_1277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1278: x<-K+P+Q+V+W #define ACTION_1278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1279: x<-K+P+R+S+T #define ACTION_1279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1280: x<-K+P+R+S+U #define ACTION_1280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1281: x<-K+P+R+S+V #define ACTION_1281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1282: x<-K+P+R+S+W #define ACTION_1282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1283: x<-K+P+R+T+U #define ACTION_1283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1284: x<-K+P+R+T+V #define ACTION_1284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1285: x<-K+P+R+T+W #define ACTION_1285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1286: x<-K+P+R+U+V #define ACTION_1286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1287: x<-K+P+R+U+W #define ACTION_1287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1288: x<-K+P+R+V+W #define ACTION_1288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1289: x<-K+P+S+T+U #define ACTION_1289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1290: x<-K+P+S+T+V #define ACTION_1290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1291: x<-K+P+S+T+W #define ACTION_1291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1292: x<-K+P+S+U+V #define ACTION_1292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1293: x<-K+P+S+U+W #define ACTION_1293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1294: x<-K+P+S+V+W #define ACTION_1294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1295: x<-K+P+T+U+W #define ACTION_1295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1296: x<-K+P+T+V+W #define ACTION_1296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1297: x<-K+P+U+V+W #define ACTION_1297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1298: x<-K+Q+R+T+U #define ACTION_1298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1299: x<-K+Q+R+T+V #define ACTION_1299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1300: x<-K+Q+R+T+W #define ACTION_1300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1301: x<-K+Q+R+U+V #define ACTION_1301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1302: x<-K+Q+R+U+W #define ACTION_1302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1303: x<-K+Q+R+V+W #define ACTION_1303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1304: x<-K+Q+S+T+U #define ACTION_1304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1305: x<-K+Q+S+T+V #define ACTION_1305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1306: x<-K+Q+S+T+W #define ACTION_1306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1307: x<-K+Q+S+U+V #define ACTION_1307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1308: x<-K+Q+S+U+W #define ACTION_1308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1309: x<-K+Q+S+V+W #define ACTION_1309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1310: x<-K+Q+T+U+W #define ACTION_1310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1311: x<-K+Q+T+V+W #define ACTION_1311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1312: x<-K+Q+U+V+W #define ACTION_1312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1313: x<-K+R+S+T+U #define ACTION_1313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1314: x<-K+R+S+T+V #define ACTION_1314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1315: x<-K+R+S+T+W #define ACTION_1315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1316: x<-K+R+S+U+V #define ACTION_1316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1317: x<-K+R+S+U+W #define ACTION_1317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1318: x<-K+R+S+V+W #define ACTION_1318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1319: x<-K+R+T+U+W #define ACTION_1319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1320: x<-K+R+T+V+W #define ACTION_1320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1321: x<-K+R+U+V+W #define ACTION_1321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1322: x<-K+S+T+U+W #define ACTION_1322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1323: x<-K+S+T+V+W #define ACTION_1323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1324: x<-K+S+U+V+W #define ACTION_1324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1325: x<-L+M+N+O+T #define ACTION_1325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1326: x<-L+M+N+O+U #define ACTION_1326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1327: x<-L+M+N+O+V #define ACTION_1327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1328: x<-L+M+N+O+W #define ACTION_1328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1329: x<-L+M+N+P+T #define ACTION_1329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1330: x<-L+M+N+P+U #define ACTION_1330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1331: x<-L+M+N+P+V #define ACTION_1331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1332: x<-L+M+N+P+W #define ACTION_1332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1333: x<-L+M+N+R+T #define ACTION_1333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1334: x<-L+M+N+R+U #define ACTION_1334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1335: x<-L+M+N+R+V #define ACTION_1335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1336: x<-L+M+N+R+W #define ACTION_1336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1337: x<-L+M+N+S+T #define ACTION_1337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1338: x<-L+M+N+S+U #define ACTION_1338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1339: x<-L+M+N+S+V #define ACTION_1339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1340: x<-L+M+N+S+W #define ACTION_1340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1341: x<-L+M+N+T+U #define ACTION_1341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1342: x<-L+M+N+T+V #define ACTION_1342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1343: x<-L+M+N+T+W #define ACTION_1343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1344: x<-L+M+N+U+V #define ACTION_1344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1345: x<-L+M+N+U+W #define ACTION_1345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1346: x<-L+M+N+V+W #define ACTION_1346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1347: x<-L+M+O+P+T #define ACTION_1347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1348: x<-L+M+O+P+U #define ACTION_1348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1349: x<-L+M+O+P+V #define ACTION_1349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1350: x<-L+M+O+P+W #define ACTION_1350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1351: x<-L+M+O+Q+T #define ACTION_1351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1352: x<-L+M+O+Q+U #define ACTION_1352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1353: x<-L+M+O+Q+V #define ACTION_1353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1354: x<-L+M+O+Q+W #define ACTION_1354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1355: x<-L+M+O+S+T #define ACTION_1355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1356: x<-L+M+O+S+U #define ACTION_1356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1357: x<-L+M+O+S+V #define ACTION_1357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1358: x<-L+M+O+S+W #define ACTION_1358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1359: x<-L+M+O+T+U #define ACTION_1359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1360: x<-L+M+O+T+V #define ACTION_1360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1361: x<-L+M+O+T+W #define ACTION_1361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1362: x<-L+M+O+U+V #define ACTION_1362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1363: x<-L+M+O+U+W #define ACTION_1363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1364: x<-L+M+O+V+W #define ACTION_1364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1365: x<-L+M+P+Q+T #define ACTION_1365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1366: x<-L+M+P+Q+U #define ACTION_1366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1367: x<-L+M+P+Q+V #define ACTION_1367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1368: x<-L+M+P+Q+W #define ACTION_1368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1369: x<-L+M+P+R+T #define ACTION_1369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1370: x<-L+M+P+R+U #define ACTION_1370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1371: x<-L+M+P+R+V #define ACTION_1371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1372: x<-L+M+P+R+W #define ACTION_1372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1373: x<-L+M+P+T+U #define ACTION_1373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1374: x<-L+M+P+T+V #define ACTION_1374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1375: x<-L+M+P+T+W #define ACTION_1375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1376: x<-L+M+P+U+V #define ACTION_1376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1377: x<-L+M+P+U+W #define ACTION_1377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1378: x<-L+M+P+V+W #define ACTION_1378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1379: x<-L+M+Q+R+T #define ACTION_1379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1380: x<-L+M+Q+R+U #define ACTION_1380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1381: x<-L+M+Q+R+V #define ACTION_1381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1382: x<-L+M+Q+R+W #define ACTION_1382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1383: x<-L+M+Q+S+T #define ACTION_1383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1384: x<-L+M+Q+S+U #define ACTION_1384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1385: x<-L+M+Q+S+V #define ACTION_1385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1386: x<-L+M+Q+S+W #define ACTION_1386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1387: x<-L+M+Q+T+U #define ACTION_1387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1388: x<-L+M+Q+T+V #define ACTION_1388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1389: x<-L+M+Q+T+W #define ACTION_1389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1390: x<-L+M+Q+U+V #define ACTION_1390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1391: x<-L+M+Q+U+W #define ACTION_1391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1392: x<-L+M+Q+V+W #define ACTION_1392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1393: x<-L+M+R+S+T #define ACTION_1393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1394: x<-L+M+R+S+U #define ACTION_1394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1395: x<-L+M+R+S+V #define ACTION_1395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1396: x<-L+M+R+S+W #define ACTION_1396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1397: x<-L+M+R+T+U #define ACTION_1397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1398: x<-L+M+R+T+V #define ACTION_1398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1399: x<-L+M+R+T+W #define ACTION_1399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1400: x<-L+M+R+U+V #define ACTION_1400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1401: x<-L+M+R+U+W #define ACTION_1401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1402: x<-L+M+R+V+W #define ACTION_1402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1403: x<-L+M+S+T+U #define ACTION_1403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1404: x<-L+M+S+T+V #define ACTION_1404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1405: x<-L+M+S+T+W #define ACTION_1405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1406: x<-L+M+S+U+V #define ACTION_1406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1407: x<-L+M+S+U+W #define ACTION_1407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1408: x<-L+M+S+V+W #define ACTION_1408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1409: x<-L+M+T+U+W #define ACTION_1409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1410: x<-L+M+T+V+W #define ACTION_1410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1411: x<-L+M+U+V+W #define ACTION_1411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1412: x<-L+N+O+Q+T #define ACTION_1412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1413: x<-L+N+O+Q+U #define ACTION_1413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1414: x<-L+N+O+Q+V #define ACTION_1414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1415: x<-L+N+O+Q+W #define ACTION_1415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1416: x<-L+N+O+T+U #define ACTION_1416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1417: x<-L+N+O+T+V #define ACTION_1417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1418: x<-L+N+O+T+W #define ACTION_1418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1419: x<-L+N+O+U+V #define ACTION_1419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1420: x<-L+N+O+U+W #define ACTION_1420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1421: x<-L+N+O+V+W #define ACTION_1421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1422: x<-L+N+P+Q+T #define ACTION_1422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1423: x<-L+N+P+Q+U #define ACTION_1423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1424: x<-L+N+P+Q+V #define ACTION_1424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1425: x<-L+N+P+Q+W #define ACTION_1425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1426: x<-L+N+P+R+T #define ACTION_1426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1427: x<-L+N+P+R+U #define ACTION_1427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1428: x<-L+N+P+R+V #define ACTION_1428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1429: x<-L+N+P+R+W #define ACTION_1429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1430: x<-L+N+P+S+T #define ACTION_1430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1431: x<-L+N+P+S+U #define ACTION_1431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1432: x<-L+N+P+S+V #define ACTION_1432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1433: x<-L+N+P+S+W #define ACTION_1433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1434: x<-L+N+P+T+U #define ACTION_1434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1435: x<-L+N+P+T+V #define ACTION_1435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1436: x<-L+N+P+T+W #define ACTION_1436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1437: x<-L+N+P+U+V #define ACTION_1437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1438: x<-L+N+P+U+W #define ACTION_1438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1439: x<-L+N+P+V+W #define ACTION_1439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1440: x<-L+N+Q+R+T #define ACTION_1440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1441: x<-L+N+Q+R+U #define ACTION_1441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1442: x<-L+N+Q+R+V #define ACTION_1442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1443: x<-L+N+Q+R+W #define ACTION_1443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1444: x<-L+N+Q+S+T #define ACTION_1444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1445: x<-L+N+Q+S+U #define ACTION_1445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1446: x<-L+N+Q+S+V #define ACTION_1446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1447: x<-L+N+Q+S+W #define ACTION_1447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1448: x<-L+N+Q+T+U #define ACTION_1448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1449: x<-L+N+Q+T+V #define ACTION_1449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1450: x<-L+N+Q+T+W #define ACTION_1450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1451: x<-L+N+Q+U+V #define ACTION_1451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1452: x<-L+N+Q+U+W #define ACTION_1452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1453: x<-L+N+Q+V+W #define ACTION_1453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1454: x<-L+N+R+S+T #define ACTION_1454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1455: x<-L+N+R+S+U #define ACTION_1455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1456: x<-L+N+R+S+V #define ACTION_1456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1457: x<-L+N+R+S+W #define ACTION_1457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1458: x<-L+N+R+T+U #define ACTION_1458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1459: x<-L+N+R+T+V #define ACTION_1459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1460: x<-L+N+R+T+W #define ACTION_1460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1461: x<-L+N+R+U+V #define ACTION_1461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1462: x<-L+N+R+U+W #define ACTION_1462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1463: x<-L+N+R+V+W #define ACTION_1463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1464: x<-L+N+S+T+U #define ACTION_1464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1465: x<-L+N+S+T+V #define ACTION_1465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1466: x<-L+N+S+T+W #define ACTION_1466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1467: x<-L+N+S+U+V #define ACTION_1467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1468: x<-L+N+S+U+W #define ACTION_1468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1469: x<-L+N+S+V+W #define ACTION_1469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1470: x<-L+N+T+U+W #define ACTION_1470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1471: x<-L+N+T+V+W #define ACTION_1471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1472: x<-L+N+U+V+W #define ACTION_1472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1473: x<-L+O+P+S+T #define ACTION_1473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1474: x<-L+O+P+S+U #define ACTION_1474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1475: x<-L+O+P+S+V #define ACTION_1475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1476: x<-L+O+P+S+W #define ACTION_1476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1477: x<-L+O+P+T+U #define ACTION_1477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1478: x<-L+O+P+T+V #define ACTION_1478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1479: x<-L+O+P+T+W #define ACTION_1479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1480: x<-L+O+P+U+V #define ACTION_1480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1481: x<-L+O+P+U+W #define ACTION_1481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1482: x<-L+O+P+V+W #define ACTION_1482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1483: x<-L+O+Q+T+U #define ACTION_1483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1484: x<-L+O+Q+T+V #define ACTION_1484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1485: x<-L+O+Q+T+W #define ACTION_1485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1486: x<-L+O+Q+U+V #define ACTION_1486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1487: x<-L+O+Q+U+W #define ACTION_1487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1488: x<-L+O+Q+V+W #define ACTION_1488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1489: x<-L+O+S+T+U #define ACTION_1489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1490: x<-L+O+S+T+V #define ACTION_1490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1491: x<-L+O+S+T+W #define ACTION_1491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1492: x<-L+O+S+U+V #define ACTION_1492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1493: x<-L+O+S+U+W #define ACTION_1493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1494: x<-L+O+S+V+W #define ACTION_1494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1495: x<-L+O+T+U+W #define ACTION_1495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1496: x<-L+O+T+V+W #define ACTION_1496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1497: x<-L+O+U+V+W #define ACTION_1497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1498: x<-L+P+Q+R+T #define ACTION_1498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1499: x<-L+P+Q+R+U #define ACTION_1499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1500: x<-L+P+Q+R+V #define ACTION_1500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1501: x<-L+P+Q+R+W #define ACTION_1501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1502: x<-L+P+Q+S+T #define ACTION_1502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1503: x<-L+P+Q+S+U #define ACTION_1503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1504: x<-L+P+Q+S+V #define ACTION_1504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1505: x<-L+P+Q+S+W #define ACTION_1505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1506: x<-L+P+Q+T+U #define ACTION_1506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1507: x<-L+P+Q+T+V #define ACTION_1507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1508: x<-L+P+Q+T+W #define ACTION_1508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1509: x<-L+P+Q+U+V #define ACTION_1509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1510: x<-L+P+Q+U+W #define ACTION_1510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1511: x<-L+P+Q+V+W #define ACTION_1511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1512: x<-L+P+R+S+T #define ACTION_1512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1513: x<-L+P+R+S+U #define ACTION_1513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1514: x<-L+P+R+S+V #define ACTION_1514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1515: x<-L+P+R+S+W #define ACTION_1515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1516: x<-L+P+R+T+U #define ACTION_1516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1517: x<-L+P+R+T+V #define ACTION_1517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1518: x<-L+P+R+T+W #define ACTION_1518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1519: x<-L+P+R+U+V #define ACTION_1519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1520: x<-L+P+R+U+W #define ACTION_1520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1521: x<-L+P+R+V+W #define ACTION_1521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1522: x<-L+P+S+T+U #define ACTION_1522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1523: x<-L+P+S+T+V #define ACTION_1523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1524: x<-L+P+S+T+W #define ACTION_1524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1525: x<-L+P+S+U+V #define ACTION_1525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1526: x<-L+P+S+U+W #define ACTION_1526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1527: x<-L+P+S+V+W #define ACTION_1527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1528: x<-L+P+T+U+W #define ACTION_1528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1529: x<-L+P+T+V+W #define ACTION_1529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1530: x<-L+P+U+V+W #define ACTION_1530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1531: x<-L+Q+R+T+U #define ACTION_1531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1532: x<-L+Q+R+T+V #define ACTION_1532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1533: x<-L+Q+R+T+W #define ACTION_1533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1534: x<-L+Q+R+U+V #define ACTION_1534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1535: x<-L+Q+R+U+W #define ACTION_1535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1536: x<-L+Q+R+V+W #define ACTION_1536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1537: x<-L+Q+S+T+U #define ACTION_1537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1538: x<-L+Q+S+T+V #define ACTION_1538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1539: x<-L+Q+S+T+W #define ACTION_1539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1540: x<-L+Q+S+U+V #define ACTION_1540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1541: x<-L+Q+S+U+W #define ACTION_1541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1542: x<-L+Q+S+V+W #define ACTION_1542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1543: x<-L+Q+T+U+W #define ACTION_1543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1544: x<-L+Q+T+V+W #define ACTION_1544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1545: x<-L+Q+U+V+W #define ACTION_1545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1546: x<-L+R+S+T+U #define ACTION_1546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1547: x<-L+R+S+T+V #define ACTION_1547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1548: x<-L+R+S+T+W #define ACTION_1548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1549: x<-L+R+S+U+V #define ACTION_1549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1550: x<-L+R+S+U+W #define ACTION_1550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1551: x<-L+R+S+V+W #define ACTION_1551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1552: x<-L+R+T+U+W #define ACTION_1552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1553: x<-L+R+T+V+W #define ACTION_1553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1554: x<-L+R+U+V+W #define ACTION_1554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1555: x<-L+S+T+U+W #define ACTION_1555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1556: x<-L+S+T+V+W #define ACTION_1556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1557: x<-L+S+U+V+W #define ACTION_1557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1558: x<-M+N+O+Q+T #define ACTION_1558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1559: x<-M+N+O+Q+U #define ACTION_1559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1560: x<-M+N+O+Q+V #define ACTION_1560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1561: x<-M+N+O+Q+W #define ACTION_1561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1562: x<-M+N+O+T+U #define ACTION_1562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1563: x<-M+N+O+T+V #define ACTION_1563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1564: x<-M+N+O+T+W #define ACTION_1564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1565: x<-M+N+O+U+V #define ACTION_1565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1566: x<-M+N+O+U+W #define ACTION_1566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1567: x<-M+N+O+V+W #define ACTION_1567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1568: x<-M+N+P+Q+T #define ACTION_1568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1569: x<-M+N+P+Q+U #define ACTION_1569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1570: x<-M+N+P+Q+V #define ACTION_1570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1571: x<-M+N+P+Q+W #define ACTION_1571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1572: x<-M+N+P+R+T #define ACTION_1572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1573: x<-M+N+P+R+U #define ACTION_1573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1574: x<-M+N+P+R+V #define ACTION_1574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1575: x<-M+N+P+R+W #define ACTION_1575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1576: x<-M+N+P+T+U #define ACTION_1576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1577: x<-M+N+P+T+V #define ACTION_1577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1578: x<-M+N+P+T+W #define ACTION_1578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1579: x<-M+N+P+U+V #define ACTION_1579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1580: x<-M+N+P+U+W #define ACTION_1580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1581: x<-M+N+P+V+W #define ACTION_1581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1582: x<-M+N+Q+R+T #define ACTION_1582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1583: x<-M+N+Q+R+U #define ACTION_1583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1584: x<-M+N+Q+R+V #define ACTION_1584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1585: x<-M+N+Q+R+W #define ACTION_1585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1586: x<-M+N+Q+S+T #define ACTION_1586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1587: x<-M+N+Q+S+U #define ACTION_1587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1588: x<-M+N+Q+S+V #define ACTION_1588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1589: x<-M+N+Q+S+W #define ACTION_1589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1590: x<-M+N+Q+T+U #define ACTION_1590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1591: x<-M+N+Q+T+V #define ACTION_1591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1592: x<-M+N+Q+T+W #define ACTION_1592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1593: x<-M+N+Q+U+V #define ACTION_1593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1594: x<-M+N+Q+U+W #define ACTION_1594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1595: x<-M+N+Q+V+W #define ACTION_1595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1596: x<-M+N+R+S+T #define ACTION_1596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1597: x<-M+N+R+S+U #define ACTION_1597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1598: x<-M+N+R+S+V #define ACTION_1598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1599: x<-M+N+R+S+W #define ACTION_1599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1600: x<-M+N+R+T+U #define ACTION_1600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1601: x<-M+N+R+T+V #define ACTION_1601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1602: x<-M+N+R+T+W #define ACTION_1602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1603: x<-M+N+R+U+V #define ACTION_1603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1604: x<-M+N+R+U+W #define ACTION_1604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1605: x<-M+N+R+V+W #define ACTION_1605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1606: x<-M+N+S+T+U #define ACTION_1606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1607: x<-M+N+S+T+V #define ACTION_1607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1608: x<-M+N+S+T+W #define ACTION_1608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1609: x<-M+N+S+U+V #define ACTION_1609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1610: x<-M+N+S+U+W #define ACTION_1610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1611: x<-M+N+S+V+W #define ACTION_1611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1612: x<-M+N+T+U+W #define ACTION_1612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1613: x<-M+N+T+V+W #define ACTION_1613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1614: x<-M+N+U+V+W #define ACTION_1614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1615: x<-M+O+P+Q+T #define ACTION_1615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1616: x<-M+O+P+Q+U #define ACTION_1616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1617: x<-M+O+P+Q+V #define ACTION_1617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1618: x<-M+O+P+Q+W #define ACTION_1618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1619: x<-M+O+P+R+T #define ACTION_1619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1620: x<-M+O+P+R+U #define ACTION_1620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1621: x<-M+O+P+R+V #define ACTION_1621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1622: x<-M+O+P+R+W #define ACTION_1622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1623: x<-M+O+P+T+U #define ACTION_1623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1624: x<-M+O+P+T+V #define ACTION_1624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1625: x<-M+O+P+T+W #define ACTION_1625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1626: x<-M+O+P+U+V #define ACTION_1626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1627: x<-M+O+P+U+W #define ACTION_1627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1628: x<-M+O+P+V+W #define ACTION_1628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1629: x<-M+O+Q+R+T #define ACTION_1629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1630: x<-M+O+Q+R+U #define ACTION_1630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1631: x<-M+O+Q+R+V #define ACTION_1631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1632: x<-M+O+Q+R+W #define ACTION_1632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1633: x<-M+O+Q+S+T #define ACTION_1633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1634: x<-M+O+Q+S+U #define ACTION_1634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1635: x<-M+O+Q+S+V #define ACTION_1635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1636: x<-M+O+Q+S+W #define ACTION_1636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1637: x<-M+O+Q+T+U #define ACTION_1637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1638: x<-M+O+Q+T+V #define ACTION_1638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1639: x<-M+O+Q+T+W #define ACTION_1639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1640: x<-M+O+Q+U+V #define ACTION_1640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1641: x<-M+O+Q+U+W #define ACTION_1641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1642: x<-M+O+Q+V+W #define ACTION_1642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1643: x<-M+O+R+S+T #define ACTION_1643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1644: x<-M+O+R+S+U #define ACTION_1644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1645: x<-M+O+R+S+V #define ACTION_1645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1646: x<-M+O+R+S+W #define ACTION_1646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1647: x<-M+O+R+T+U #define ACTION_1647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1648: x<-M+O+R+T+V #define ACTION_1648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1649: x<-M+O+R+T+W #define ACTION_1649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1650: x<-M+O+R+U+V #define ACTION_1650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1651: x<-M+O+R+U+W #define ACTION_1651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1652: x<-M+O+R+V+W #define ACTION_1652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1653: x<-M+O+S+T+U #define ACTION_1653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1654: x<-M+O+S+T+V #define ACTION_1654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1655: x<-M+O+S+T+W #define ACTION_1655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1656: x<-M+O+S+U+V #define ACTION_1656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1657: x<-M+O+S+U+W #define ACTION_1657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1658: x<-M+O+S+V+W #define ACTION_1658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1659: x<-M+O+T+U+W #define ACTION_1659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1660: x<-M+O+T+V+W #define ACTION_1660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1661: x<-M+O+U+V+W #define ACTION_1661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1662: x<-M+P+Q+T+U #define ACTION_1662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1663: x<-M+P+Q+T+V #define ACTION_1663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1664: x<-M+P+Q+T+W #define ACTION_1664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1665: x<-M+P+Q+U+V #define ACTION_1665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1666: x<-M+P+Q+U+W #define ACTION_1666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1667: x<-M+P+Q+V+W #define ACTION_1667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1668: x<-M+P+R+T+U #define ACTION_1668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1669: x<-M+P+R+T+V #define ACTION_1669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1670: x<-M+P+R+T+W #define ACTION_1670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1671: x<-M+P+R+U+V #define ACTION_1671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1672: x<-M+P+R+U+W #define ACTION_1672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1673: x<-M+P+R+V+W #define ACTION_1673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1674: x<-M+P+T+U+W #define ACTION_1674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1675: x<-M+P+T+V+W #define ACTION_1675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1676: x<-M+P+U+V+W #define ACTION_1676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1677: x<-M+Q+R+T+U #define ACTION_1677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1678: x<-M+Q+R+T+V #define ACTION_1678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1679: x<-M+Q+R+T+W #define ACTION_1679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1680: x<-M+Q+R+U+V #define ACTION_1680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1681: x<-M+Q+R+U+W #define ACTION_1681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1682: x<-M+Q+R+V+W #define ACTION_1682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1683: x<-M+Q+S+T+U #define ACTION_1683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1684: x<-M+Q+S+T+V #define ACTION_1684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1685: x<-M+Q+S+T+W #define ACTION_1685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1686: x<-M+Q+S+U+V #define ACTION_1686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1687: x<-M+Q+S+U+W #define ACTION_1687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1688: x<-M+Q+S+V+W #define ACTION_1688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1689: x<-M+Q+T+U+W #define ACTION_1689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1690: x<-M+Q+T+V+W #define ACTION_1690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1691: x<-M+Q+U+V+W #define ACTION_1691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1692: x<-M+R+S+T+U #define ACTION_1692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1693: x<-M+R+S+T+V #define ACTION_1693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1694: x<-M+R+S+T+W #define ACTION_1694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1695: x<-M+R+S+U+V #define ACTION_1695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1696: x<-M+R+S+U+W #define ACTION_1696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1697: x<-M+R+S+V+W #define ACTION_1697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1698: x<-M+R+T+U+W #define ACTION_1698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1699: x<-M+R+T+V+W #define ACTION_1699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1700: x<-M+R+U+V+W #define ACTION_1700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1701: x<-M+S+T+U+W #define ACTION_1701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1702: x<-M+S+T+V+W #define ACTION_1702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1703: x<-M+S+U+V+W #define ACTION_1703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1704: x<-N+O+Q+R+T #define ACTION_1704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1705: x<-N+O+Q+R+U #define ACTION_1705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1706: x<-N+O+Q+R+V #define ACTION_1706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1707: x<-N+O+Q+R+W #define ACTION_1707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1708: x<-N+O+Q+S+T #define ACTION_1708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1709: x<-N+O+Q+S+U #define ACTION_1709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1710: x<-N+O+Q+S+V #define ACTION_1710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1711: x<-N+O+Q+S+W #define ACTION_1711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1712: x<-N+O+Q+T+U #define ACTION_1712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1713: x<-N+O+Q+T+V #define ACTION_1713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1714: x<-N+O+Q+T+W #define ACTION_1714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1715: x<-N+O+Q+U+V #define ACTION_1715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1716: x<-N+O+Q+U+W #define ACTION_1716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1717: x<-N+O+Q+V+W #define ACTION_1717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1718: x<-N+O+R+S+T #define ACTION_1718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1719: x<-N+O+R+S+U #define ACTION_1719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1720: x<-N+O+R+S+V #define ACTION_1720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1721: x<-N+O+R+S+W #define ACTION_1721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1722: x<-N+O+R+T+U #define ACTION_1722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1723: x<-N+O+R+T+V #define ACTION_1723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1724: x<-N+O+R+T+W #define ACTION_1724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1725: x<-N+O+R+U+V #define ACTION_1725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1726: x<-N+O+R+U+W #define ACTION_1726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1727: x<-N+O+R+V+W #define ACTION_1727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1728: x<-N+O+S+T+U #define ACTION_1728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1729: x<-N+O+S+T+V #define ACTION_1729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1730: x<-N+O+S+T+W #define ACTION_1730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1731: x<-N+O+S+U+V #define ACTION_1731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1732: x<-N+O+S+U+W #define ACTION_1732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1733: x<-N+O+S+V+W #define ACTION_1733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1734: x<-N+O+T+U+W #define ACTION_1734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1735: x<-N+O+T+V+W #define ACTION_1735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1736: x<-N+O+U+V+W #define ACTION_1736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1737: x<-N+P+Q+R+T #define ACTION_1737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1738: x<-N+P+Q+R+U #define ACTION_1738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1739: x<-N+P+Q+R+V #define ACTION_1739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1740: x<-N+P+Q+R+W #define ACTION_1740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1741: x<-N+P+Q+S+T #define ACTION_1741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1742: x<-N+P+Q+S+U #define ACTION_1742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1743: x<-N+P+Q+S+V #define ACTION_1743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1744: x<-N+P+Q+S+W #define ACTION_1744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1745: x<-N+P+Q+T+U #define ACTION_1745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1746: x<-N+P+Q+T+V #define ACTION_1746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1747: x<-N+P+Q+T+W #define ACTION_1747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1748: x<-N+P+Q+U+V #define ACTION_1748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1749: x<-N+P+Q+U+W #define ACTION_1749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1750: x<-N+P+Q+V+W #define ACTION_1750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1751: x<-N+P+R+S+T #define ACTION_1751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1752: x<-N+P+R+S+U #define ACTION_1752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1753: x<-N+P+R+S+V #define ACTION_1753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1754: x<-N+P+R+S+W #define ACTION_1754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1755: x<-N+P+R+T+U #define ACTION_1755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1756: x<-N+P+R+T+V #define ACTION_1756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1757: x<-N+P+R+T+W #define ACTION_1757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1758: x<-N+P+R+U+V #define ACTION_1758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1759: x<-N+P+R+U+W #define ACTION_1759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1760: x<-N+P+R+V+W #define ACTION_1760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1761: x<-N+P+S+T+U #define ACTION_1761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1762: x<-N+P+S+T+V #define ACTION_1762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1763: x<-N+P+S+T+W #define ACTION_1763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1764: x<-N+P+S+U+V #define ACTION_1764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1765: x<-N+P+S+U+W #define ACTION_1765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1766: x<-N+P+S+V+W #define ACTION_1766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1767: x<-N+P+T+U+W #define ACTION_1767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1768: x<-N+P+T+V+W #define ACTION_1768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1769: x<-N+P+U+V+W #define ACTION_1769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1770: x<-N+Q+R+T+U #define ACTION_1770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1771: x<-N+Q+R+T+V #define ACTION_1771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1772: x<-N+Q+R+T+W #define ACTION_1772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1773: x<-N+Q+R+U+V #define ACTION_1773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1774: x<-N+Q+R+U+W #define ACTION_1774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1775: x<-N+Q+R+V+W #define ACTION_1775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1776: x<-N+Q+S+T+U #define ACTION_1776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1777: x<-N+Q+S+T+V #define ACTION_1777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1778: x<-N+Q+S+T+W #define ACTION_1778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1779: x<-N+Q+S+U+V #define ACTION_1779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1780: x<-N+Q+S+U+W #define ACTION_1780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1781: x<-N+Q+S+V+W #define ACTION_1781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1782: x<-N+Q+T+U+W #define ACTION_1782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1783: x<-N+Q+T+V+W #define ACTION_1783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1784: x<-N+Q+U+V+W #define ACTION_1784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1785: x<-N+R+S+T+U #define ACTION_1785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1786: x<-N+R+S+T+V #define ACTION_1786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1787: x<-N+R+S+T+W #define ACTION_1787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1788: x<-N+R+S+U+V #define ACTION_1788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1789: x<-N+R+S+U+W #define ACTION_1789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1790: x<-N+R+S+V+W #define ACTION_1790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1791: x<-N+R+T+U+W #define ACTION_1791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1792: x<-N+R+T+V+W #define ACTION_1792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1793: x<-N+R+U+V+W #define ACTION_1793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1794: x<-N+S+T+U+W #define ACTION_1794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1795: x<-N+S+T+V+W #define ACTION_1795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1796: x<-N+S+U+V+W #define ACTION_1796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1797: x<-O+P+Q+R+T #define ACTION_1797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1798: x<-O+P+Q+R+U #define ACTION_1798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1799: x<-O+P+Q+R+V #define ACTION_1799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1800: x<-O+P+Q+R+W #define ACTION_1800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1801: x<-O+P+Q+S+T #define ACTION_1801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1802: x<-O+P+Q+S+U #define ACTION_1802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1803: x<-O+P+Q+S+V #define ACTION_1803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1804: x<-O+P+Q+S+W #define ACTION_1804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1805: x<-O+P+Q+T+U #define ACTION_1805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1806: x<-O+P+Q+T+V #define ACTION_1806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1807: x<-O+P+Q+T+W #define ACTION_1807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1808: x<-O+P+Q+U+V #define ACTION_1808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1809: x<-O+P+Q+U+W #define ACTION_1809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1810: x<-O+P+Q+V+W #define ACTION_1810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1811: x<-O+P+R+S+T #define ACTION_1811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1812: x<-O+P+R+S+U #define ACTION_1812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1813: x<-O+P+R+S+V #define ACTION_1813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1814: x<-O+P+R+S+W #define ACTION_1814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1815: x<-O+P+R+T+U #define ACTION_1815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1816: x<-O+P+R+T+V #define ACTION_1816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1817: x<-O+P+R+T+W #define ACTION_1817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1818: x<-O+P+R+U+V #define ACTION_1818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1819: x<-O+P+R+U+W #define ACTION_1819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1820: x<-O+P+R+V+W #define ACTION_1820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1821: x<-O+P+S+T+U #define ACTION_1821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1822: x<-O+P+S+T+V #define ACTION_1822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1823: x<-O+P+S+T+W #define ACTION_1823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1824: x<-O+P+S+U+V #define ACTION_1824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1825: x<-O+P+S+U+W #define ACTION_1825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1826: x<-O+P+S+V+W #define ACTION_1826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1827: x<-O+P+T+U+W #define ACTION_1827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1828: x<-O+P+T+V+W #define ACTION_1828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1829: x<-O+P+U+V+W #define ACTION_1829 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1830: x<-O+Q+R+T+U #define ACTION_1830 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1831: x<-O+Q+R+T+V #define ACTION_1831 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1832: x<-O+Q+R+T+W #define ACTION_1832 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1833: x<-O+Q+R+U+V #define ACTION_1833 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1834: x<-O+Q+R+U+W #define ACTION_1834 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1835: x<-O+Q+R+V+W #define ACTION_1835 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1836: x<-O+Q+S+T+U #define ACTION_1836 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1837: x<-O+Q+S+T+V #define ACTION_1837 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1838: x<-O+Q+S+T+W #define ACTION_1838 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1839: x<-O+Q+S+U+V #define ACTION_1839 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1840: x<-O+Q+S+U+W #define ACTION_1840 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1841: x<-O+Q+S+V+W #define ACTION_1841 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1842: x<-O+Q+T+U+W #define ACTION_1842 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1843: x<-O+Q+T+V+W #define ACTION_1843 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1844: x<-O+Q+U+V+W #define ACTION_1844 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1845: x<-O+R+S+T+U #define ACTION_1845 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1846: x<-O+R+S+T+V #define ACTION_1846 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1847: x<-O+R+S+T+W #define ACTION_1847 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1848: x<-O+R+S+U+V #define ACTION_1848 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1849: x<-O+R+S+U+W #define ACTION_1849 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1850: x<-O+R+S+V+W #define ACTION_1850 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1851: x<-O+R+T+U+W #define ACTION_1851 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1852: x<-O+R+T+V+W #define ACTION_1852 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1853: x<-O+R+U+V+W #define ACTION_1853 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1854: x<-O+S+T+U+W #define ACTION_1854 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1855: x<-O+S+T+V+W #define ACTION_1855 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1856: x<-O+S+U+V+W #define ACTION_1856 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1857: x<-P+Q+R+T+U #define ACTION_1857 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1858: x<-P+Q+R+T+V #define ACTION_1858 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1859: x<-P+Q+R+T+W #define ACTION_1859 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1860: x<-P+Q+R+U+V #define ACTION_1860 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1861: x<-P+Q+R+U+W #define ACTION_1861 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1862: x<-P+Q+R+V+W #define ACTION_1862 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1863: x<-P+Q+S+T+U #define ACTION_1863 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1864: x<-P+Q+S+T+V #define ACTION_1864 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1865: x<-P+Q+S+T+W #define ACTION_1865 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1866: x<-P+Q+S+U+V #define ACTION_1866 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1867: x<-P+Q+S+U+W #define ACTION_1867 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1868: x<-P+Q+S+V+W #define ACTION_1868 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1869: x<-P+Q+T+U+W #define ACTION_1869 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1870: x<-P+Q+T+V+W #define ACTION_1870 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1871: x<-P+Q+U+V+W #define ACTION_1871 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1872: x<-P+R+S+T+U #define ACTION_1872 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1873: x<-P+R+S+T+V #define ACTION_1873 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1874: x<-P+R+S+T+W #define ACTION_1874 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1875: x<-P+R+S+U+V #define ACTION_1875 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1876: x<-P+R+S+U+W #define ACTION_1876 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1877: x<-P+R+S+V+W #define ACTION_1877 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1878: x<-P+R+T+U+W #define ACTION_1878 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1879: x<-P+R+T+V+W #define ACTION_1879 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1880: x<-P+R+U+V+W #define ACTION_1880 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1881: x<-P+S+T+U+W #define ACTION_1881 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1882: x<-P+S+T+V+W #define ACTION_1882 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1883: x<-P+S+U+V+W #define ACTION_1883 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1884: x<-Q+R+T+U+W #define ACTION_1884 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1885: x<-Q+R+T+V+W #define ACTION_1885 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1886: x<-Q+R+U+V+W #define ACTION_1886 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1887: x<-Q+S+T+U+W #define ACTION_1887 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1888: x<-Q+S+T+V+W #define ACTION_1888 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1889: x<-Q+S+U+V+W #define ACTION_1889 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1890: x<-R+S+T+U+W #define ACTION_1890 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1891: x<-R+S+T+V+W #define ACTION_1891 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1892: x<-R+S+U+V+W #define ACTION_1892 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1893: x<-K+L+N+O+T+U #define ACTION_1893 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1894: x<-K+L+N+O+T+V #define ACTION_1894 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1895: x<-K+L+N+O+T+W #define ACTION_1895 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1896: x<-K+L+N+O+U+V #define ACTION_1896 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1897: x<-K+L+N+O+U+W #define ACTION_1897 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1898: x<-K+L+N+O+V+W #define ACTION_1898 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1899: x<-K+L+N+P+T+U #define ACTION_1899 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1900: x<-K+L+N+P+T+V #define ACTION_1900 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1901: x<-K+L+N+P+T+W #define ACTION_1901 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1902: x<-K+L+N+P+U+V #define ACTION_1902 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1903: x<-K+L+N+P+U+W #define ACTION_1903 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1904: x<-K+L+N+P+V+W #define ACTION_1904 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1905: x<-K+L+N+R+T+U #define ACTION_1905 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1906: x<-K+L+N+R+T+V #define ACTION_1906 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1907: x<-K+L+N+R+T+W #define ACTION_1907 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1908: x<-K+L+N+R+U+V #define ACTION_1908 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1909: x<-K+L+N+R+U+W #define ACTION_1909 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1910: x<-K+L+N+R+V+W #define ACTION_1910 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1911: x<-K+L+N+S+T+U #define ACTION_1911 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1912: x<-K+L+N+S+T+V #define ACTION_1912 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1913: x<-K+L+N+S+T+W #define ACTION_1913 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1914: x<-K+L+N+S+U+V #define ACTION_1914 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1915: x<-K+L+N+S+U+W #define ACTION_1915 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1916: x<-K+L+N+S+V+W #define ACTION_1916 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1917: x<-K+L+N+T+U+W #define ACTION_1917 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1918: x<-K+L+N+T+V+W #define ACTION_1918 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1919: x<-K+L+N+U+V+W #define ACTION_1919 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1920: x<-K+L+O+P+T+U #define ACTION_1920 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1921: x<-K+L+O+P+T+V #define ACTION_1921 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1922: x<-K+L+O+P+T+W #define ACTION_1922 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1923: x<-K+L+O+P+U+V #define ACTION_1923 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1924: x<-K+L+O+P+U+W #define ACTION_1924 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1925: x<-K+L+O+P+V+W #define ACTION_1925 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1926: x<-K+L+O+Q+T+U #define ACTION_1926 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1927: x<-K+L+O+Q+T+V #define ACTION_1927 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1928: x<-K+L+O+Q+T+W #define ACTION_1928 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1929: x<-K+L+O+Q+U+V #define ACTION_1929 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1930: x<-K+L+O+Q+U+W #define ACTION_1930 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1931: x<-K+L+O+Q+V+W #define ACTION_1931 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1932: x<-K+L+O+S+T+U #define ACTION_1932 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1933: x<-K+L+O+S+T+V #define ACTION_1933 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1934: x<-K+L+O+S+T+W #define ACTION_1934 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1935: x<-K+L+O+S+U+V #define ACTION_1935 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1936: x<-K+L+O+S+U+W #define ACTION_1936 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1937: x<-K+L+O+S+V+W #define ACTION_1937 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1938: x<-K+L+O+T+U+W #define ACTION_1938 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1939: x<-K+L+O+T+V+W #define ACTION_1939 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1940: x<-K+L+O+U+V+W #define ACTION_1940 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1941: x<-K+L+P+Q+T+U #define ACTION_1941 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1942: x<-K+L+P+Q+T+V #define ACTION_1942 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1943: x<-K+L+P+Q+T+W #define ACTION_1943 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1944: x<-K+L+P+Q+U+V #define ACTION_1944 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1945: x<-K+L+P+Q+U+W #define ACTION_1945 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1946: x<-K+L+P+Q+V+W #define ACTION_1946 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1947: x<-K+L+P+R+T+U #define ACTION_1947 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1948: x<-K+L+P+R+T+V #define ACTION_1948 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1949: x<-K+L+P+R+T+W #define ACTION_1949 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1950: x<-K+L+P+R+U+V #define ACTION_1950 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1951: x<-K+L+P+R+U+W #define ACTION_1951 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1952: x<-K+L+P+R+V+W #define ACTION_1952 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1953: x<-K+L+P+T+U+W #define ACTION_1953 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1954: x<-K+L+P+T+V+W #define ACTION_1954 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1955: x<-K+L+P+U+V+W #define ACTION_1955 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1956: x<-K+L+Q+R+T+U #define ACTION_1956 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1957: x<-K+L+Q+R+T+V #define ACTION_1957 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1958: x<-K+L+Q+R+T+W #define ACTION_1958 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1959: x<-K+L+Q+R+U+V #define ACTION_1959 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1960: x<-K+L+Q+R+U+W #define ACTION_1960 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1961: x<-K+L+Q+R+V+W #define ACTION_1961 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1962: x<-K+L+Q+S+T+U #define ACTION_1962 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1963: x<-K+L+Q+S+T+V #define ACTION_1963 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1964: x<-K+L+Q+S+T+W #define ACTION_1964 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1965: x<-K+L+Q+S+U+V #define ACTION_1965 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1966: x<-K+L+Q+S+U+W #define ACTION_1966 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1967: x<-K+L+Q+S+V+W #define ACTION_1967 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1968: x<-K+L+Q+T+U+W #define ACTION_1968 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1969: x<-K+L+Q+T+V+W #define ACTION_1969 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1970: x<-K+L+Q+U+V+W #define ACTION_1970 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1971: x<-K+L+R+S+T+U #define ACTION_1971 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1972: x<-K+L+R+S+T+V #define ACTION_1972 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1973: x<-K+L+R+S+T+W #define ACTION_1973 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1974: x<-K+L+R+S+U+V #define ACTION_1974 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1975: x<-K+L+R+S+U+W #define ACTION_1975 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1976: x<-K+L+R+S+V+W #define ACTION_1976 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1977: x<-K+L+R+T+U+W #define ACTION_1977 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1978: x<-K+L+R+T+V+W #define ACTION_1978 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1979: x<-K+L+R+U+V+W #define ACTION_1979 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1980: x<-K+L+S+T+U+W #define ACTION_1980 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1981: x<-K+L+S+T+V+W #define ACTION_1981 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1982: x<-K+L+S+U+V+W #define ACTION_1982 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1983: x<-K+M+N+O+T+U #define ACTION_1983 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1984: x<-K+M+N+O+T+V #define ACTION_1984 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1985: x<-K+M+N+O+T+W #define ACTION_1985 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1986: x<-K+M+N+O+U+V #define ACTION_1986 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1987: x<-K+M+N+O+U+W #define ACTION_1987 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1988: x<-K+M+N+O+V+W #define ACTION_1988 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1989: x<-K+M+N+P+T+U #define ACTION_1989 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1990: x<-K+M+N+P+T+V #define ACTION_1990 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1991: x<-K+M+N+P+T+W #define ACTION_1991 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1992: x<-K+M+N+P+U+V #define ACTION_1992 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1993: x<-K+M+N+P+U+W #define ACTION_1993 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1994: x<-K+M+N+P+V+W #define ACTION_1994 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1995: x<-K+M+N+R+T+U #define ACTION_1995 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1996: x<-K+M+N+R+T+V #define ACTION_1996 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1997: x<-K+M+N+R+T+W #define ACTION_1997 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1998: x<-K+M+N+R+U+V #define ACTION_1998 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1999: x<-K+M+N+R+U+W #define ACTION_1999 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2000: x<-K+M+N+R+V+W #define ACTION_2000 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2001: x<-K+M+N+S+T+U #define ACTION_2001 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2002: x<-K+M+N+S+T+V #define ACTION_2002 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2003: x<-K+M+N+S+T+W #define ACTION_2003 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2004: x<-K+M+N+S+U+V #define ACTION_2004 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2005: x<-K+M+N+S+U+W #define ACTION_2005 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2006: x<-K+M+N+S+V+W #define ACTION_2006 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2007: x<-K+M+N+T+U+W #define ACTION_2007 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2008: x<-K+M+N+T+V+W #define ACTION_2008 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2009: x<-K+M+N+U+V+W #define ACTION_2009 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2010: x<-K+M+O+P+T+U #define ACTION_2010 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2011: x<-K+M+O+P+T+V #define ACTION_2011 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2012: x<-K+M+O+P+T+W #define ACTION_2012 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2013: x<-K+M+O+P+U+V #define ACTION_2013 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2014: x<-K+M+O+P+U+W #define ACTION_2014 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2015: x<-K+M+O+P+V+W #define ACTION_2015 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2016: x<-K+M+O+Q+T+U #define ACTION_2016 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2017: x<-K+M+O+Q+T+V #define ACTION_2017 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2018: x<-K+M+O+Q+T+W #define ACTION_2018 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2019: x<-K+M+O+Q+U+V #define ACTION_2019 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2020: x<-K+M+O+Q+U+W #define ACTION_2020 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2021: x<-K+M+O+Q+V+W #define ACTION_2021 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2022: x<-K+M+O+S+T+U #define ACTION_2022 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2023: x<-K+M+O+S+T+V #define ACTION_2023 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2024: x<-K+M+O+S+T+W #define ACTION_2024 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2025: x<-K+M+O+S+U+V #define ACTION_2025 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2026: x<-K+M+O+S+U+W #define ACTION_2026 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2027: x<-K+M+O+S+V+W #define ACTION_2027 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2028: x<-K+M+O+T+U+W #define ACTION_2028 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2029: x<-K+M+O+T+V+W #define ACTION_2029 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2030: x<-K+M+O+U+V+W #define ACTION_2030 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2031: x<-K+M+P+Q+T+U #define ACTION_2031 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2032: x<-K+M+P+Q+T+V #define ACTION_2032 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2033: x<-K+M+P+Q+T+W #define ACTION_2033 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2034: x<-K+M+P+Q+U+V #define ACTION_2034 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2035: x<-K+M+P+Q+U+W #define ACTION_2035 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2036: x<-K+M+P+Q+V+W #define ACTION_2036 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2037: x<-K+M+P+R+T+U #define ACTION_2037 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2038: x<-K+M+P+R+T+V #define ACTION_2038 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2039: x<-K+M+P+R+T+W #define ACTION_2039 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2040: x<-K+M+P+R+U+V #define ACTION_2040 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2041: x<-K+M+P+R+U+W #define ACTION_2041 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2042: x<-K+M+P+R+V+W #define ACTION_2042 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2043: x<-K+M+P+T+U+W #define ACTION_2043 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2044: x<-K+M+P+T+V+W #define ACTION_2044 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2045: x<-K+M+P+U+V+W #define ACTION_2045 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2046: x<-K+M+Q+R+T+U #define ACTION_2046 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2047: x<-K+M+Q+R+T+V #define ACTION_2047 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2048: x<-K+M+Q+R+T+W #define ACTION_2048 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2049: x<-K+M+Q+R+U+V #define ACTION_2049 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2050: x<-K+M+Q+R+U+W #define ACTION_2050 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2051: x<-K+M+Q+R+V+W #define ACTION_2051 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2052: x<-K+M+Q+S+T+U #define ACTION_2052 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2053: x<-K+M+Q+S+T+V #define ACTION_2053 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2054: x<-K+M+Q+S+T+W #define ACTION_2054 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2055: x<-K+M+Q+S+U+V #define ACTION_2055 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2056: x<-K+M+Q+S+U+W #define ACTION_2056 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2057: x<-K+M+Q+S+V+W #define ACTION_2057 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2058: x<-K+M+Q+T+U+W #define ACTION_2058 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2059: x<-K+M+Q+T+V+W #define ACTION_2059 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2060: x<-K+M+Q+U+V+W #define ACTION_2060 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2061: x<-K+M+R+S+T+U #define ACTION_2061 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2062: x<-K+M+R+S+T+V #define ACTION_2062 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2063: x<-K+M+R+S+T+W #define ACTION_2063 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2064: x<-K+M+R+S+U+V #define ACTION_2064 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2065: x<-K+M+R+S+U+W #define ACTION_2065 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2066: x<-K+M+R+S+V+W #define ACTION_2066 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2067: x<-K+M+R+T+U+W #define ACTION_2067 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2068: x<-K+M+R+T+V+W #define ACTION_2068 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2069: x<-K+M+R+U+V+W #define ACTION_2069 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2070: x<-K+M+S+T+U+W #define ACTION_2070 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2071: x<-K+M+S+T+V+W #define ACTION_2071 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2072: x<-K+M+S+U+V+W #define ACTION_2072 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2073: x<-K+N+O+R+T+U #define ACTION_2073 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2074: x<-K+N+O+R+T+V #define ACTION_2074 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2075: x<-K+N+O+R+T+W #define ACTION_2075 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2076: x<-K+N+O+R+U+V #define ACTION_2076 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2077: x<-K+N+O+R+U+W #define ACTION_2077 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2078: x<-K+N+O+R+V+W #define ACTION_2078 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2079: x<-K+N+O+S+T+U #define ACTION_2079 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2080: x<-K+N+O+S+T+V #define ACTION_2080 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2081: x<-K+N+O+S+T+W #define ACTION_2081 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2082: x<-K+N+O+S+U+V #define ACTION_2082 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2083: x<-K+N+O+S+U+W #define ACTION_2083 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2084: x<-K+N+O+S+V+W #define ACTION_2084 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2085: x<-K+N+O+T+U+W #define ACTION_2085 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2086: x<-K+N+O+T+V+W #define ACTION_2086 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2087: x<-K+N+O+U+V+W #define ACTION_2087 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2088: x<-K+N+P+R+T+U #define ACTION_2088 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2089: x<-K+N+P+R+T+V #define ACTION_2089 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2090: x<-K+N+P+R+T+W #define ACTION_2090 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2091: x<-K+N+P+R+U+V #define ACTION_2091 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2092: x<-K+N+P+R+U+W #define ACTION_2092 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2093: x<-K+N+P+R+V+W #define ACTION_2093 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2094: x<-K+N+P+S+T+U #define ACTION_2094 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2095: x<-K+N+P+S+T+V #define ACTION_2095 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2096: x<-K+N+P+S+T+W #define ACTION_2096 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2097: x<-K+N+P+S+U+V #define ACTION_2097 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2098: x<-K+N+P+S+U+W #define ACTION_2098 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2099: x<-K+N+P+S+V+W #define ACTION_2099 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2100: x<-K+N+P+T+U+W #define ACTION_2100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2101: x<-K+N+P+T+V+W #define ACTION_2101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2102: x<-K+N+P+U+V+W #define ACTION_2102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2103: x<-K+N+R+T+U+W #define ACTION_2103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2104: x<-K+N+R+T+V+W #define ACTION_2104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2105: x<-K+N+R+U+V+W #define ACTION_2105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2106: x<-K+N+S+T+U+W #define ACTION_2106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2107: x<-K+N+S+T+V+W #define ACTION_2107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2108: x<-K+N+S+U+V+W #define ACTION_2108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2109: x<-K+O+P+S+T+U #define ACTION_2109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2110: x<-K+O+P+S+T+V #define ACTION_2110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2111: x<-K+O+P+S+T+W #define ACTION_2111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2112: x<-K+O+P+S+U+V #define ACTION_2112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2113: x<-K+O+P+S+U+W #define ACTION_2113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2114: x<-K+O+P+S+V+W #define ACTION_2114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2115: x<-K+O+P+T+U+W #define ACTION_2115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2116: x<-K+O+P+T+V+W #define ACTION_2116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2117: x<-K+O+P+U+V+W #define ACTION_2117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2118: x<-K+O+Q+R+T+U #define ACTION_2118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2119: x<-K+O+Q+R+T+V #define ACTION_2119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2120: x<-K+O+Q+R+T+W #define ACTION_2120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2121: x<-K+O+Q+R+U+V #define ACTION_2121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2122: x<-K+O+Q+R+U+W #define ACTION_2122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2123: x<-K+O+Q+R+V+W #define ACTION_2123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2124: x<-K+O+Q+S+T+U #define ACTION_2124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2125: x<-K+O+Q+S+T+V #define ACTION_2125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2126: x<-K+O+Q+S+T+W #define ACTION_2126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2127: x<-K+O+Q+S+U+V #define ACTION_2127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2128: x<-K+O+Q+S+U+W #define ACTION_2128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2129: x<-K+O+Q+S+V+W #define ACTION_2129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2130: x<-K+O+Q+T+U+W #define ACTION_2130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2131: x<-K+O+Q+T+V+W #define ACTION_2131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2132: x<-K+O+Q+U+V+W #define ACTION_2132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2133: x<-K+O+R+S+T+U #define ACTION_2133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2134: x<-K+O+R+S+T+V #define ACTION_2134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2135: x<-K+O+R+S+T+W #define ACTION_2135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2136: x<-K+O+R+S+U+V #define ACTION_2136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2137: x<-K+O+R+S+U+W #define ACTION_2137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2138: x<-K+O+R+S+V+W #define ACTION_2138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2139: x<-K+O+R+T+U+W #define ACTION_2139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2140: x<-K+O+R+T+V+W #define ACTION_2140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2141: x<-K+O+R+U+V+W #define ACTION_2141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2142: x<-K+O+S+T+U+W #define ACTION_2142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2143: x<-K+O+S+T+V+W #define ACTION_2143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2144: x<-K+O+S+U+V+W #define ACTION_2144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2145: x<-K+P+Q+R+T+U #define ACTION_2145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2146: x<-K+P+Q+R+T+V #define ACTION_2146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2147: x<-K+P+Q+R+T+W #define ACTION_2147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2148: x<-K+P+Q+R+U+V #define ACTION_2148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2149: x<-K+P+Q+R+U+W #define ACTION_2149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2150: x<-K+P+Q+R+V+W #define ACTION_2150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2151: x<-K+P+Q+S+T+U #define ACTION_2151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2152: x<-K+P+Q+S+T+V #define ACTION_2152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2153: x<-K+P+Q+S+T+W #define ACTION_2153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2154: x<-K+P+Q+S+U+V #define ACTION_2154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2155: x<-K+P+Q+S+U+W #define ACTION_2155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2156: x<-K+P+Q+S+V+W #define ACTION_2156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2157: x<-K+P+Q+T+U+W #define ACTION_2157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2158: x<-K+P+Q+T+V+W #define ACTION_2158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2159: x<-K+P+Q+U+V+W #define ACTION_2159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2160: x<-K+P+R+S+T+U #define ACTION_2160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2161: x<-K+P+R+S+T+V #define ACTION_2161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2162: x<-K+P+R+S+T+W #define ACTION_2162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2163: x<-K+P+R+S+U+V #define ACTION_2163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2164: x<-K+P+R+S+U+W #define ACTION_2164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2165: x<-K+P+R+S+V+W #define ACTION_2165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2166: x<-K+P+R+T+U+W #define ACTION_2166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2167: x<-K+P+R+T+V+W #define ACTION_2167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2168: x<-K+P+R+U+V+W #define ACTION_2168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2169: x<-K+P+S+T+U+W #define ACTION_2169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2170: x<-K+P+S+T+V+W #define ACTION_2170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2171: x<-K+P+S+U+V+W #define ACTION_2171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2172: x<-K+Q+R+T+U+W #define ACTION_2172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2173: x<-K+Q+R+T+V+W #define ACTION_2173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2174: x<-K+Q+R+U+V+W #define ACTION_2174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2175: x<-K+Q+S+T+U+W #define ACTION_2175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2176: x<-K+Q+S+T+V+W #define ACTION_2176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2177: x<-K+Q+S+U+V+W #define ACTION_2177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2178: x<-K+R+S+T+U+W #define ACTION_2178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2179: x<-K+R+S+T+V+W #define ACTION_2179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2180: x<-K+R+S+U+V+W #define ACTION_2180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2181: x<-L+M+N+O+T+U #define ACTION_2181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2182: x<-L+M+N+O+T+V #define ACTION_2182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2183: x<-L+M+N+O+T+W #define ACTION_2183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2184: x<-L+M+N+O+U+V #define ACTION_2184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2185: x<-L+M+N+O+U+W #define ACTION_2185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2186: x<-L+M+N+O+V+W #define ACTION_2186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2187: x<-L+M+N+P+T+U #define ACTION_2187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2188: x<-L+M+N+P+T+V #define ACTION_2188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2189: x<-L+M+N+P+T+W #define ACTION_2189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2190: x<-L+M+N+P+U+V #define ACTION_2190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2191: x<-L+M+N+P+U+W #define ACTION_2191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2192: x<-L+M+N+P+V+W #define ACTION_2192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2193: x<-L+M+N+R+T+U #define ACTION_2193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2194: x<-L+M+N+R+T+V #define ACTION_2194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2195: x<-L+M+N+R+T+W #define ACTION_2195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2196: x<-L+M+N+R+U+V #define ACTION_2196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2197: x<-L+M+N+R+U+W #define ACTION_2197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2198: x<-L+M+N+R+V+W #define ACTION_2198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2199: x<-L+M+N+S+T+U #define ACTION_2199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2200: x<-L+M+N+S+T+V #define ACTION_2200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2201: x<-L+M+N+S+T+W #define ACTION_2201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2202: x<-L+M+N+S+U+V #define ACTION_2202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2203: x<-L+M+N+S+U+W #define ACTION_2203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2204: x<-L+M+N+S+V+W #define ACTION_2204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2205: x<-L+M+N+T+U+W #define ACTION_2205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2206: x<-L+M+N+T+V+W #define ACTION_2206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2207: x<-L+M+N+U+V+W #define ACTION_2207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2208: x<-L+M+O+P+T+U #define ACTION_2208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2209: x<-L+M+O+P+T+V #define ACTION_2209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2210: x<-L+M+O+P+T+W #define ACTION_2210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2211: x<-L+M+O+P+U+V #define ACTION_2211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2212: x<-L+M+O+P+U+W #define ACTION_2212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2213: x<-L+M+O+P+V+W #define ACTION_2213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2214: x<-L+M+O+Q+T+U #define ACTION_2214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2215: x<-L+M+O+Q+T+V #define ACTION_2215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2216: x<-L+M+O+Q+T+W #define ACTION_2216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2217: x<-L+M+O+Q+U+V #define ACTION_2217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2218: x<-L+M+O+Q+U+W #define ACTION_2218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2219: x<-L+M+O+Q+V+W #define ACTION_2219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2220: x<-L+M+O+S+T+U #define ACTION_2220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2221: x<-L+M+O+S+T+V #define ACTION_2221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2222: x<-L+M+O+S+T+W #define ACTION_2222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2223: x<-L+M+O+S+U+V #define ACTION_2223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2224: x<-L+M+O+S+U+W #define ACTION_2224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2225: x<-L+M+O+S+V+W #define ACTION_2225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2226: x<-L+M+O+T+U+W #define ACTION_2226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2227: x<-L+M+O+T+V+W #define ACTION_2227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2228: x<-L+M+O+U+V+W #define ACTION_2228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2229: x<-L+M+P+Q+T+U #define ACTION_2229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2230: x<-L+M+P+Q+T+V #define ACTION_2230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2231: x<-L+M+P+Q+T+W #define ACTION_2231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2232: x<-L+M+P+Q+U+V #define ACTION_2232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2233: x<-L+M+P+Q+U+W #define ACTION_2233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2234: x<-L+M+P+Q+V+W #define ACTION_2234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2235: x<-L+M+P+R+T+U #define ACTION_2235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2236: x<-L+M+P+R+T+V #define ACTION_2236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2237: x<-L+M+P+R+T+W #define ACTION_2237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2238: x<-L+M+P+R+U+V #define ACTION_2238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2239: x<-L+M+P+R+U+W #define ACTION_2239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2240: x<-L+M+P+R+V+W #define ACTION_2240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2241: x<-L+M+P+T+U+W #define ACTION_2241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2242: x<-L+M+P+T+V+W #define ACTION_2242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2243: x<-L+M+P+U+V+W #define ACTION_2243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2244: x<-L+M+Q+R+T+U #define ACTION_2244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2245: x<-L+M+Q+R+T+V #define ACTION_2245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2246: x<-L+M+Q+R+T+W #define ACTION_2246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2247: x<-L+M+Q+R+U+V #define ACTION_2247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2248: x<-L+M+Q+R+U+W #define ACTION_2248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2249: x<-L+M+Q+R+V+W #define ACTION_2249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2250: x<-L+M+Q+S+T+U #define ACTION_2250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2251: x<-L+M+Q+S+T+V #define ACTION_2251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2252: x<-L+M+Q+S+T+W #define ACTION_2252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2253: x<-L+M+Q+S+U+V #define ACTION_2253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2254: x<-L+M+Q+S+U+W #define ACTION_2254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2255: x<-L+M+Q+S+V+W #define ACTION_2255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2256: x<-L+M+Q+T+U+W #define ACTION_2256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2257: x<-L+M+Q+T+V+W #define ACTION_2257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2258: x<-L+M+Q+U+V+W #define ACTION_2258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2259: x<-L+M+R+S+T+U #define ACTION_2259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2260: x<-L+M+R+S+T+V #define ACTION_2260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2261: x<-L+M+R+S+T+W #define ACTION_2261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2262: x<-L+M+R+S+U+V #define ACTION_2262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2263: x<-L+M+R+S+U+W #define ACTION_2263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2264: x<-L+M+R+S+V+W #define ACTION_2264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2265: x<-L+M+R+T+U+W #define ACTION_2265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2266: x<-L+M+R+T+V+W #define ACTION_2266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2267: x<-L+M+R+U+V+W #define ACTION_2267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2268: x<-L+M+S+T+U+W #define ACTION_2268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2269: x<-L+M+S+T+V+W #define ACTION_2269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2270: x<-L+M+S+U+V+W #define ACTION_2270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2271: x<-L+N+O+Q+T+U #define ACTION_2271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2272: x<-L+N+O+Q+T+V #define ACTION_2272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2273: x<-L+N+O+Q+T+W #define ACTION_2273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2274: x<-L+N+O+Q+U+V #define ACTION_2274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2275: x<-L+N+O+Q+U+W #define ACTION_2275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2276: x<-L+N+O+Q+V+W #define ACTION_2276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2277: x<-L+N+O+T+U+W #define ACTION_2277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2278: x<-L+N+O+T+V+W #define ACTION_2278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2279: x<-L+N+O+U+V+W #define ACTION_2279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2280: x<-L+N+P+Q+T+U #define ACTION_2280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2281: x<-L+N+P+Q+T+V #define ACTION_2281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2282: x<-L+N+P+Q+T+W #define ACTION_2282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2283: x<-L+N+P+Q+U+V #define ACTION_2283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2284: x<-L+N+P+Q+U+W #define ACTION_2284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2285: x<-L+N+P+Q+V+W #define ACTION_2285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2286: x<-L+N+P+R+T+U #define ACTION_2286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2287: x<-L+N+P+R+T+V #define ACTION_2287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2288: x<-L+N+P+R+T+W #define ACTION_2288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2289: x<-L+N+P+R+U+V #define ACTION_2289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2290: x<-L+N+P+R+U+W #define ACTION_2290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2291: x<-L+N+P+R+V+W #define ACTION_2291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2292: x<-L+N+P+S+T+U #define ACTION_2292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2293: x<-L+N+P+S+T+V #define ACTION_2293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2294: x<-L+N+P+S+T+W #define ACTION_2294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2295: x<-L+N+P+S+U+V #define ACTION_2295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2296: x<-L+N+P+S+U+W #define ACTION_2296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2297: x<-L+N+P+S+V+W #define ACTION_2297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2298: x<-L+N+P+T+U+W #define ACTION_2298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2299: x<-L+N+P+T+V+W #define ACTION_2299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2300: x<-L+N+P+U+V+W #define ACTION_2300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2301: x<-L+N+Q+R+T+U #define ACTION_2301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2302: x<-L+N+Q+R+T+V #define ACTION_2302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2303: x<-L+N+Q+R+T+W #define ACTION_2303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2304: x<-L+N+Q+R+U+V #define ACTION_2304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2305: x<-L+N+Q+R+U+W #define ACTION_2305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2306: x<-L+N+Q+R+V+W #define ACTION_2306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2307: x<-L+N+Q+S+T+U #define ACTION_2307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2308: x<-L+N+Q+S+T+V #define ACTION_2308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2309: x<-L+N+Q+S+T+W #define ACTION_2309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2310: x<-L+N+Q+S+U+V #define ACTION_2310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2311: x<-L+N+Q+S+U+W #define ACTION_2311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2312: x<-L+N+Q+S+V+W #define ACTION_2312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2313: x<-L+N+Q+T+U+W #define ACTION_2313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2314: x<-L+N+Q+T+V+W #define ACTION_2314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2315: x<-L+N+Q+U+V+W #define ACTION_2315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2316: x<-L+N+R+S+T+U #define ACTION_2316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2317: x<-L+N+R+S+T+V #define ACTION_2317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2318: x<-L+N+R+S+T+W #define ACTION_2318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2319: x<-L+N+R+S+U+V #define ACTION_2319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2320: x<-L+N+R+S+U+W #define ACTION_2320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2321: x<-L+N+R+S+V+W #define ACTION_2321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2322: x<-L+N+R+T+U+W #define ACTION_2322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2323: x<-L+N+R+T+V+W #define ACTION_2323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2324: x<-L+N+R+U+V+W #define ACTION_2324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2325: x<-L+N+S+T+U+W #define ACTION_2325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2326: x<-L+N+S+T+V+W #define ACTION_2326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2327: x<-L+N+S+U+V+W #define ACTION_2327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2328: x<-L+O+P+S+T+U #define ACTION_2328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2329: x<-L+O+P+S+T+V #define ACTION_2329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2330: x<-L+O+P+S+T+W #define ACTION_2330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2331: x<-L+O+P+S+U+V #define ACTION_2331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2332: x<-L+O+P+S+U+W #define ACTION_2332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2333: x<-L+O+P+S+V+W #define ACTION_2333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2334: x<-L+O+P+T+U+W #define ACTION_2334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2335: x<-L+O+P+T+V+W #define ACTION_2335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2336: x<-L+O+P+U+V+W #define ACTION_2336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2337: x<-L+O+Q+T+U+W #define ACTION_2337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2338: x<-L+O+Q+T+V+W #define ACTION_2338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2339: x<-L+O+Q+U+V+W #define ACTION_2339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2340: x<-L+O+S+T+U+W #define ACTION_2340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2341: x<-L+O+S+T+V+W #define ACTION_2341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2342: x<-L+O+S+U+V+W #define ACTION_2342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2343: x<-L+P+Q+R+T+U #define ACTION_2343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2344: x<-L+P+Q+R+T+V #define ACTION_2344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2345: x<-L+P+Q+R+T+W #define ACTION_2345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2346: x<-L+P+Q+R+U+V #define ACTION_2346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2347: x<-L+P+Q+R+U+W #define ACTION_2347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2348: x<-L+P+Q+R+V+W #define ACTION_2348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2349: x<-L+P+Q+S+T+U #define ACTION_2349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2350: x<-L+P+Q+S+T+V #define ACTION_2350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2351: x<-L+P+Q+S+T+W #define ACTION_2351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2352: x<-L+P+Q+S+U+V #define ACTION_2352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2353: x<-L+P+Q+S+U+W #define ACTION_2353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2354: x<-L+P+Q+S+V+W #define ACTION_2354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2355: x<-L+P+Q+T+U+W #define ACTION_2355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2356: x<-L+P+Q+T+V+W #define ACTION_2356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2357: x<-L+P+Q+U+V+W #define ACTION_2357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2358: x<-L+P+R+S+T+U #define ACTION_2358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2359: x<-L+P+R+S+T+V #define ACTION_2359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2360: x<-L+P+R+S+T+W #define ACTION_2360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2361: x<-L+P+R+S+U+V #define ACTION_2361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2362: x<-L+P+R+S+U+W #define ACTION_2362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2363: x<-L+P+R+S+V+W #define ACTION_2363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2364: x<-L+P+R+T+U+W #define ACTION_2364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2365: x<-L+P+R+T+V+W #define ACTION_2365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2366: x<-L+P+R+U+V+W #define ACTION_2366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2367: x<-L+P+S+T+U+W #define ACTION_2367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2368: x<-L+P+S+T+V+W #define ACTION_2368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2369: x<-L+P+S+U+V+W #define ACTION_2369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2370: x<-L+Q+R+T+U+W #define ACTION_2370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2371: x<-L+Q+R+T+V+W #define ACTION_2371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2372: x<-L+Q+R+U+V+W #define ACTION_2372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2373: x<-L+Q+S+T+U+W #define ACTION_2373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2374: x<-L+Q+S+T+V+W #define ACTION_2374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2375: x<-L+Q+S+U+V+W #define ACTION_2375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2376: x<-L+R+S+T+U+W #define ACTION_2376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2377: x<-L+R+S+T+V+W #define ACTION_2377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2378: x<-L+R+S+U+V+W #define ACTION_2378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2379: x<-M+N+O+Q+T+U #define ACTION_2379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2380: x<-M+N+O+Q+T+V #define ACTION_2380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2381: x<-M+N+O+Q+T+W #define ACTION_2381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2382: x<-M+N+O+Q+U+V #define ACTION_2382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2383: x<-M+N+O+Q+U+W #define ACTION_2383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2384: x<-M+N+O+Q+V+W #define ACTION_2384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2385: x<-M+N+O+T+U+W #define ACTION_2385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2386: x<-M+N+O+T+V+W #define ACTION_2386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2387: x<-M+N+O+U+V+W #define ACTION_2387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2388: x<-M+N+P+Q+T+U #define ACTION_2388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2389: x<-M+N+P+Q+T+V #define ACTION_2389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2390: x<-M+N+P+Q+T+W #define ACTION_2390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2391: x<-M+N+P+Q+U+V #define ACTION_2391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2392: x<-M+N+P+Q+U+W #define ACTION_2392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2393: x<-M+N+P+Q+V+W #define ACTION_2393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2394: x<-M+N+P+R+T+U #define ACTION_2394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2395: x<-M+N+P+R+T+V #define ACTION_2395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2396: x<-M+N+P+R+T+W #define ACTION_2396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2397: x<-M+N+P+R+U+V #define ACTION_2397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2398: x<-M+N+P+R+U+W #define ACTION_2398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2399: x<-M+N+P+R+V+W #define ACTION_2399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2400: x<-M+N+P+T+U+W #define ACTION_2400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2401: x<-M+N+P+T+V+W #define ACTION_2401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2402: x<-M+N+P+U+V+W #define ACTION_2402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2403: x<-M+N+Q+R+T+U #define ACTION_2403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2404: x<-M+N+Q+R+T+V #define ACTION_2404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2405: x<-M+N+Q+R+T+W #define ACTION_2405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2406: x<-M+N+Q+R+U+V #define ACTION_2406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2407: x<-M+N+Q+R+U+W #define ACTION_2407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2408: x<-M+N+Q+R+V+W #define ACTION_2408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2409: x<-M+N+Q+S+T+U #define ACTION_2409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2410: x<-M+N+Q+S+T+V #define ACTION_2410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2411: x<-M+N+Q+S+T+W #define ACTION_2411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2412: x<-M+N+Q+S+U+V #define ACTION_2412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2413: x<-M+N+Q+S+U+W #define ACTION_2413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2414: x<-M+N+Q+S+V+W #define ACTION_2414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2415: x<-M+N+Q+T+U+W #define ACTION_2415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2416: x<-M+N+Q+T+V+W #define ACTION_2416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2417: x<-M+N+Q+U+V+W #define ACTION_2417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2418: x<-M+N+R+S+T+U #define ACTION_2418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2419: x<-M+N+R+S+T+V #define ACTION_2419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2420: x<-M+N+R+S+T+W #define ACTION_2420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2421: x<-M+N+R+S+U+V #define ACTION_2421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2422: x<-M+N+R+S+U+W #define ACTION_2422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2423: x<-M+N+R+S+V+W #define ACTION_2423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2424: x<-M+N+R+T+U+W #define ACTION_2424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2425: x<-M+N+R+T+V+W #define ACTION_2425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2426: x<-M+N+R+U+V+W #define ACTION_2426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2427: x<-M+N+S+T+U+W #define ACTION_2427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2428: x<-M+N+S+T+V+W #define ACTION_2428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2429: x<-M+N+S+U+V+W #define ACTION_2429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2430: x<-M+O+P+Q+T+U #define ACTION_2430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2431: x<-M+O+P+Q+T+V #define ACTION_2431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2432: x<-M+O+P+Q+T+W #define ACTION_2432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2433: x<-M+O+P+Q+U+V #define ACTION_2433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2434: x<-M+O+P+Q+U+W #define ACTION_2434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2435: x<-M+O+P+Q+V+W #define ACTION_2435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2436: x<-M+O+P+R+T+U #define ACTION_2436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2437: x<-M+O+P+R+T+V #define ACTION_2437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2438: x<-M+O+P+R+T+W #define ACTION_2438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2439: x<-M+O+P+R+U+V #define ACTION_2439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2440: x<-M+O+P+R+U+W #define ACTION_2440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2441: x<-M+O+P+R+V+W #define ACTION_2441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2442: x<-M+O+P+T+U+W #define ACTION_2442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2443: x<-M+O+P+T+V+W #define ACTION_2443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2444: x<-M+O+P+U+V+W #define ACTION_2444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2445: x<-M+O+Q+R+T+U #define ACTION_2445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2446: x<-M+O+Q+R+T+V #define ACTION_2446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2447: x<-M+O+Q+R+T+W #define ACTION_2447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2448: x<-M+O+Q+R+U+V #define ACTION_2448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2449: x<-M+O+Q+R+U+W #define ACTION_2449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2450: x<-M+O+Q+R+V+W #define ACTION_2450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2451: x<-M+O+Q+S+T+U #define ACTION_2451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2452: x<-M+O+Q+S+T+V #define ACTION_2452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2453: x<-M+O+Q+S+T+W #define ACTION_2453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2454: x<-M+O+Q+S+U+V #define ACTION_2454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2455: x<-M+O+Q+S+U+W #define ACTION_2455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2456: x<-M+O+Q+S+V+W #define ACTION_2456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2457: x<-M+O+Q+T+U+W #define ACTION_2457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2458: x<-M+O+Q+T+V+W #define ACTION_2458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2459: x<-M+O+Q+U+V+W #define ACTION_2459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2460: x<-M+O+R+S+T+U #define ACTION_2460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2461: x<-M+O+R+S+T+V #define ACTION_2461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2462: x<-M+O+R+S+T+W #define ACTION_2462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2463: x<-M+O+R+S+U+V #define ACTION_2463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2464: x<-M+O+R+S+U+W #define ACTION_2464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2465: x<-M+O+R+S+V+W #define ACTION_2465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2466: x<-M+O+R+T+U+W #define ACTION_2466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2467: x<-M+O+R+T+V+W #define ACTION_2467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2468: x<-M+O+R+U+V+W #define ACTION_2468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2469: x<-M+O+S+T+U+W #define ACTION_2469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2470: x<-M+O+S+T+V+W #define ACTION_2470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2471: x<-M+O+S+U+V+W #define ACTION_2471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2472: x<-M+P+Q+T+U+W #define ACTION_2472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2473: x<-M+P+Q+T+V+W #define ACTION_2473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2474: x<-M+P+Q+U+V+W #define ACTION_2474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2475: x<-M+P+R+T+U+W #define ACTION_2475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2476: x<-M+P+R+T+V+W #define ACTION_2476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2477: x<-M+P+R+U+V+W #define ACTION_2477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2478: x<-M+Q+R+T+U+W #define ACTION_2478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2479: x<-M+Q+R+T+V+W #define ACTION_2479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2480: x<-M+Q+R+U+V+W #define ACTION_2480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2481: x<-M+Q+S+T+U+W #define ACTION_2481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2482: x<-M+Q+S+T+V+W #define ACTION_2482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2483: x<-M+Q+S+U+V+W #define ACTION_2483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2484: x<-M+R+S+T+U+W #define ACTION_2484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2485: x<-M+R+S+T+V+W #define ACTION_2485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2486: x<-M+R+S+U+V+W #define ACTION_2486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2487: x<-N+O+Q+R+T+U #define ACTION_2487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2488: x<-N+O+Q+R+T+V #define ACTION_2488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2489: x<-N+O+Q+R+T+W #define ACTION_2489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2490: x<-N+O+Q+R+U+V #define ACTION_2490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2491: x<-N+O+Q+R+U+W #define ACTION_2491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2492: x<-N+O+Q+R+V+W #define ACTION_2492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2493: x<-N+O+Q+S+T+U #define ACTION_2493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2494: x<-N+O+Q+S+T+V #define ACTION_2494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2495: x<-N+O+Q+S+T+W #define ACTION_2495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2496: x<-N+O+Q+S+U+V #define ACTION_2496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2497: x<-N+O+Q+S+U+W #define ACTION_2497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2498: x<-N+O+Q+S+V+W #define ACTION_2498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2499: x<-N+O+Q+T+U+W #define ACTION_2499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2500: x<-N+O+Q+T+V+W #define ACTION_2500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2501: x<-N+O+Q+U+V+W #define ACTION_2501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2502: x<-N+O+R+S+T+U #define ACTION_2502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2503: x<-N+O+R+S+T+V #define ACTION_2503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2504: x<-N+O+R+S+T+W #define ACTION_2504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2505: x<-N+O+R+S+U+V #define ACTION_2505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2506: x<-N+O+R+S+U+W #define ACTION_2506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2507: x<-N+O+R+S+V+W #define ACTION_2507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2508: x<-N+O+R+T+U+W #define ACTION_2508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2509: x<-N+O+R+T+V+W #define ACTION_2509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2510: x<-N+O+R+U+V+W #define ACTION_2510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2511: x<-N+O+S+T+U+W #define ACTION_2511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2512: x<-N+O+S+T+V+W #define ACTION_2512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2513: x<-N+O+S+U+V+W #define ACTION_2513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2514: x<-N+P+Q+R+T+U #define ACTION_2514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2515: x<-N+P+Q+R+T+V #define ACTION_2515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2516: x<-N+P+Q+R+T+W #define ACTION_2516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2517: x<-N+P+Q+R+U+V #define ACTION_2517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2518: x<-N+P+Q+R+U+W #define ACTION_2518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2519: x<-N+P+Q+R+V+W #define ACTION_2519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2520: x<-N+P+Q+S+T+U #define ACTION_2520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2521: x<-N+P+Q+S+T+V #define ACTION_2521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2522: x<-N+P+Q+S+T+W #define ACTION_2522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2523: x<-N+P+Q+S+U+V #define ACTION_2523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2524: x<-N+P+Q+S+U+W #define ACTION_2524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2525: x<-N+P+Q+S+V+W #define ACTION_2525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2526: x<-N+P+Q+T+U+W #define ACTION_2526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2527: x<-N+P+Q+T+V+W #define ACTION_2527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2528: x<-N+P+Q+U+V+W #define ACTION_2528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2529: x<-N+P+R+S+T+U #define ACTION_2529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2530: x<-N+P+R+S+T+V #define ACTION_2530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2531: x<-N+P+R+S+T+W #define ACTION_2531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2532: x<-N+P+R+S+U+V #define ACTION_2532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2533: x<-N+P+R+S+U+W #define ACTION_2533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2534: x<-N+P+R+S+V+W #define ACTION_2534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2535: x<-N+P+R+T+U+W #define ACTION_2535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2536: x<-N+P+R+T+V+W #define ACTION_2536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2537: x<-N+P+R+U+V+W #define ACTION_2537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2538: x<-N+P+S+T+U+W #define ACTION_2538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2539: x<-N+P+S+T+V+W #define ACTION_2539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2540: x<-N+P+S+U+V+W #define ACTION_2540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2541: x<-N+Q+R+T+U+W #define ACTION_2541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2542: x<-N+Q+R+T+V+W #define ACTION_2542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2543: x<-N+Q+R+U+V+W #define ACTION_2543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2544: x<-N+Q+S+T+U+W #define ACTION_2544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2545: x<-N+Q+S+T+V+W #define ACTION_2545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2546: x<-N+Q+S+U+V+W #define ACTION_2546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2547: x<-N+R+S+T+U+W #define ACTION_2547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2548: x<-N+R+S+T+V+W #define ACTION_2548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2549: x<-N+R+S+U+V+W #define ACTION_2549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2550: x<-O+P+Q+R+T+U #define ACTION_2550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2551: x<-O+P+Q+R+T+V #define ACTION_2551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2552: x<-O+P+Q+R+T+W #define ACTION_2552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2553: x<-O+P+Q+R+U+V #define ACTION_2553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2554: x<-O+P+Q+R+U+W #define ACTION_2554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2555: x<-O+P+Q+R+V+W #define ACTION_2555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2556: x<-O+P+Q+S+T+U #define ACTION_2556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2557: x<-O+P+Q+S+T+V #define ACTION_2557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2558: x<-O+P+Q+S+T+W #define ACTION_2558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2559: x<-O+P+Q+S+U+V #define ACTION_2559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2560: x<-O+P+Q+S+U+W #define ACTION_2560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2561: x<-O+P+Q+S+V+W #define ACTION_2561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2562: x<-O+P+Q+T+U+W #define ACTION_2562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2563: x<-O+P+Q+T+V+W #define ACTION_2563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2564: x<-O+P+Q+U+V+W #define ACTION_2564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2565: x<-O+P+R+S+T+U #define ACTION_2565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2566: x<-O+P+R+S+T+V #define ACTION_2566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2567: x<-O+P+R+S+T+W #define ACTION_2567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2568: x<-O+P+R+S+U+V #define ACTION_2568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2569: x<-O+P+R+S+U+W #define ACTION_2569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2570: x<-O+P+R+S+V+W #define ACTION_2570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2571: x<-O+P+R+T+U+W #define ACTION_2571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2572: x<-O+P+R+T+V+W #define ACTION_2572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2573: x<-O+P+R+U+V+W #define ACTION_2573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2574: x<-O+P+S+T+U+W #define ACTION_2574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2575: x<-O+P+S+T+V+W #define ACTION_2575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2576: x<-O+P+S+U+V+W #define ACTION_2576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2577: x<-O+Q+R+T+U+W #define ACTION_2577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2578: x<-O+Q+R+T+V+W #define ACTION_2578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2579: x<-O+Q+R+U+V+W #define ACTION_2579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2580: x<-O+Q+S+T+U+W #define ACTION_2580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2581: x<-O+Q+S+T+V+W #define ACTION_2581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2582: x<-O+Q+S+U+V+W #define ACTION_2582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2583: x<-O+R+S+T+U+W #define ACTION_2583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2584: x<-O+R+S+T+V+W #define ACTION_2584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2585: x<-O+R+S+U+V+W #define ACTION_2585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2586: x<-P+Q+R+T+U+W #define ACTION_2586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2587: x<-P+Q+R+T+V+W #define ACTION_2587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2588: x<-P+Q+R+U+V+W #define ACTION_2588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2589: x<-P+Q+S+T+U+W #define ACTION_2589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2590: x<-P+Q+S+T+V+W #define ACTION_2590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2591: x<-P+Q+S+U+V+W #define ACTION_2591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2592: x<-P+R+S+T+U+W #define ACTION_2592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2593: x<-P+R+S+T+V+W #define ACTION_2593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2594: x<-P+R+S+U+V+W #define ACTION_2594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2595: x<-K+L+N+O+T+U+W #define ACTION_2595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2596: x<-K+L+N+O+T+V+W #define ACTION_2596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2597: x<-K+L+N+O+U+V+W #define ACTION_2597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2598: x<-K+L+N+P+T+U+W #define ACTION_2598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2599: x<-K+L+N+P+T+V+W #define ACTION_2599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2600: x<-K+L+N+P+U+V+W #define ACTION_2600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2601: x<-K+L+N+R+T+U+W #define ACTION_2601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2602: x<-K+L+N+R+T+V+W #define ACTION_2602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2603: x<-K+L+N+R+U+V+W #define ACTION_2603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2604: x<-K+L+N+S+T+U+W #define ACTION_2604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2605: x<-K+L+N+S+T+V+W #define ACTION_2605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2606: x<-K+L+N+S+U+V+W #define ACTION_2606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2607: x<-K+L+O+P+T+U+W #define ACTION_2607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2608: x<-K+L+O+P+T+V+W #define ACTION_2608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2609: x<-K+L+O+P+U+V+W #define ACTION_2609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2610: x<-K+L+O+Q+T+U+W #define ACTION_2610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2611: x<-K+L+O+Q+T+V+W #define ACTION_2611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2612: x<-K+L+O+Q+U+V+W #define ACTION_2612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2613: x<-K+L+O+S+T+U+W #define ACTION_2613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2614: x<-K+L+O+S+T+V+W #define ACTION_2614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2615: x<-K+L+O+S+U+V+W #define ACTION_2615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2616: x<-K+L+P+Q+T+U+W #define ACTION_2616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2617: x<-K+L+P+Q+T+V+W #define ACTION_2617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2618: x<-K+L+P+Q+U+V+W #define ACTION_2618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2619: x<-K+L+P+R+T+U+W #define ACTION_2619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2620: x<-K+L+P+R+T+V+W #define ACTION_2620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2621: x<-K+L+P+R+U+V+W #define ACTION_2621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2622: x<-K+L+Q+R+T+U+W #define ACTION_2622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2623: x<-K+L+Q+R+T+V+W #define ACTION_2623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2624: x<-K+L+Q+R+U+V+W #define ACTION_2624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2625: x<-K+L+Q+S+T+U+W #define ACTION_2625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2626: x<-K+L+Q+S+T+V+W #define ACTION_2626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2627: x<-K+L+Q+S+U+V+W #define ACTION_2627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2628: x<-K+L+R+S+T+U+W #define ACTION_2628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2629: x<-K+L+R+S+T+V+W #define ACTION_2629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2630: x<-K+L+R+S+U+V+W #define ACTION_2630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2631: x<-K+M+N+O+T+U+W #define ACTION_2631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2632: x<-K+M+N+O+T+V+W #define ACTION_2632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2633: x<-K+M+N+O+U+V+W #define ACTION_2633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2634: x<-K+M+N+P+T+U+W #define ACTION_2634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2635: x<-K+M+N+P+T+V+W #define ACTION_2635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2636: x<-K+M+N+P+U+V+W #define ACTION_2636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2637: x<-K+M+N+R+T+U+W #define ACTION_2637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2638: x<-K+M+N+R+T+V+W #define ACTION_2638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2639: x<-K+M+N+R+U+V+W #define ACTION_2639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2640: x<-K+M+N+S+T+U+W #define ACTION_2640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2641: x<-K+M+N+S+T+V+W #define ACTION_2641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2642: x<-K+M+N+S+U+V+W #define ACTION_2642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2643: x<-K+M+O+P+T+U+W #define ACTION_2643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2644: x<-K+M+O+P+T+V+W #define ACTION_2644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2645: x<-K+M+O+P+U+V+W #define ACTION_2645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2646: x<-K+M+O+Q+T+U+W #define ACTION_2646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2647: x<-K+M+O+Q+T+V+W #define ACTION_2647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2648: x<-K+M+O+Q+U+V+W #define ACTION_2648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2649: x<-K+M+O+S+T+U+W #define ACTION_2649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2650: x<-K+M+O+S+T+V+W #define ACTION_2650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2651: x<-K+M+O+S+U+V+W #define ACTION_2651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2652: x<-K+M+P+Q+T+U+W #define ACTION_2652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2653: x<-K+M+P+Q+T+V+W #define ACTION_2653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2654: x<-K+M+P+Q+U+V+W #define ACTION_2654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2655: x<-K+M+P+R+T+U+W #define ACTION_2655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2656: x<-K+M+P+R+T+V+W #define ACTION_2656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2657: x<-K+M+P+R+U+V+W #define ACTION_2657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2658: x<-K+M+Q+R+T+U+W #define ACTION_2658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2659: x<-K+M+Q+R+T+V+W #define ACTION_2659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2660: x<-K+M+Q+R+U+V+W #define ACTION_2660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2661: x<-K+M+Q+S+T+U+W #define ACTION_2661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2662: x<-K+M+Q+S+T+V+W #define ACTION_2662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2663: x<-K+M+Q+S+U+V+W #define ACTION_2663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2664: x<-K+M+R+S+T+U+W #define ACTION_2664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2665: x<-K+M+R+S+T+V+W #define ACTION_2665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2666: x<-K+M+R+S+U+V+W #define ACTION_2666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2667: x<-K+N+O+R+T+U+W #define ACTION_2667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2668: x<-K+N+O+R+T+V+W #define ACTION_2668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2669: x<-K+N+O+R+U+V+W #define ACTION_2669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2670: x<-K+N+O+S+T+U+W #define ACTION_2670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2671: x<-K+N+O+S+T+V+W #define ACTION_2671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2672: x<-K+N+O+S+U+V+W #define ACTION_2672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2673: x<-K+N+P+R+T+U+W #define ACTION_2673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2674: x<-K+N+P+R+T+V+W #define ACTION_2674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2675: x<-K+N+P+R+U+V+W #define ACTION_2675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2676: x<-K+N+P+S+T+U+W #define ACTION_2676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2677: x<-K+N+P+S+T+V+W #define ACTION_2677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2678: x<-K+N+P+S+U+V+W #define ACTION_2678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2679: x<-K+O+P+S+T+U+W #define ACTION_2679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2680: x<-K+O+P+S+T+V+W #define ACTION_2680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2681: x<-K+O+P+S+U+V+W #define ACTION_2681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2682: x<-K+O+Q+R+T+U+W #define ACTION_2682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2683: x<-K+O+Q+R+T+V+W #define ACTION_2683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2684: x<-K+O+Q+R+U+V+W #define ACTION_2684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2685: x<-K+O+Q+S+T+U+W #define ACTION_2685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2686: x<-K+O+Q+S+T+V+W #define ACTION_2686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2687: x<-K+O+Q+S+U+V+W #define ACTION_2687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2688: x<-K+O+R+S+T+U+W #define ACTION_2688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2689: x<-K+O+R+S+T+V+W #define ACTION_2689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2690: x<-K+O+R+S+U+V+W #define ACTION_2690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2691: x<-K+P+Q+R+T+U+W #define ACTION_2691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2692: x<-K+P+Q+R+T+V+W #define ACTION_2692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2693: x<-K+P+Q+R+U+V+W #define ACTION_2693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2694: x<-K+P+Q+S+T+U+W #define ACTION_2694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2695: x<-K+P+Q+S+T+V+W #define ACTION_2695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2696: x<-K+P+Q+S+U+V+W #define ACTION_2696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2697: x<-K+P+R+S+T+U+W #define ACTION_2697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2698: x<-K+P+R+S+T+V+W #define ACTION_2698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2699: x<-K+P+R+S+U+V+W #define ACTION_2699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2700: x<-L+M+N+O+T+U+W #define ACTION_2700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2701: x<-L+M+N+O+T+V+W #define ACTION_2701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2702: x<-L+M+N+O+U+V+W #define ACTION_2702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2703: x<-L+M+N+P+T+U+W #define ACTION_2703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2704: x<-L+M+N+P+T+V+W #define ACTION_2704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2705: x<-L+M+N+P+U+V+W #define ACTION_2705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2706: x<-L+M+N+R+T+U+W #define ACTION_2706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2707: x<-L+M+N+R+T+V+W #define ACTION_2707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2708: x<-L+M+N+R+U+V+W #define ACTION_2708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2709: x<-L+M+N+S+T+U+W #define ACTION_2709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2710: x<-L+M+N+S+T+V+W #define ACTION_2710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2711: x<-L+M+N+S+U+V+W #define ACTION_2711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2712: x<-L+M+O+P+T+U+W #define ACTION_2712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2713: x<-L+M+O+P+T+V+W #define ACTION_2713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2714: x<-L+M+O+P+U+V+W #define ACTION_2714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2715: x<-L+M+O+Q+T+U+W #define ACTION_2715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2716: x<-L+M+O+Q+T+V+W #define ACTION_2716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2717: x<-L+M+O+Q+U+V+W #define ACTION_2717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2718: x<-L+M+O+S+T+U+W #define ACTION_2718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2719: x<-L+M+O+S+T+V+W #define ACTION_2719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2720: x<-L+M+O+S+U+V+W #define ACTION_2720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2721: x<-L+M+P+Q+T+U+W #define ACTION_2721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2722: x<-L+M+P+Q+T+V+W #define ACTION_2722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2723: x<-L+M+P+Q+U+V+W #define ACTION_2723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2724: x<-L+M+P+R+T+U+W #define ACTION_2724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2725: x<-L+M+P+R+T+V+W #define ACTION_2725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2726: x<-L+M+P+R+U+V+W #define ACTION_2726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2727: x<-L+M+Q+R+T+U+W #define ACTION_2727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2728: x<-L+M+Q+R+T+V+W #define ACTION_2728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2729: x<-L+M+Q+R+U+V+W #define ACTION_2729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2730: x<-L+M+Q+S+T+U+W #define ACTION_2730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2731: x<-L+M+Q+S+T+V+W #define ACTION_2731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2732: x<-L+M+Q+S+U+V+W #define ACTION_2732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2733: x<-L+M+R+S+T+U+W #define ACTION_2733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2734: x<-L+M+R+S+T+V+W #define ACTION_2734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2735: x<-L+M+R+S+U+V+W #define ACTION_2735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2736: x<-L+N+O+Q+T+U+W #define ACTION_2736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2737: x<-L+N+O+Q+T+V+W #define ACTION_2737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2738: x<-L+N+O+Q+U+V+W #define ACTION_2738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2739: x<-L+N+P+Q+T+U+W #define ACTION_2739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2740: x<-L+N+P+Q+T+V+W #define ACTION_2740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2741: x<-L+N+P+Q+U+V+W #define ACTION_2741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2742: x<-L+N+P+R+T+U+W #define ACTION_2742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2743: x<-L+N+P+R+T+V+W #define ACTION_2743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2744: x<-L+N+P+R+U+V+W #define ACTION_2744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2745: x<-L+N+P+S+T+U+W #define ACTION_2745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2746: x<-L+N+P+S+T+V+W #define ACTION_2746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2747: x<-L+N+P+S+U+V+W #define ACTION_2747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2748: x<-L+N+Q+R+T+U+W #define ACTION_2748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2749: x<-L+N+Q+R+T+V+W #define ACTION_2749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2750: x<-L+N+Q+R+U+V+W #define ACTION_2750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2751: x<-L+N+Q+S+T+U+W #define ACTION_2751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2752: x<-L+N+Q+S+T+V+W #define ACTION_2752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2753: x<-L+N+Q+S+U+V+W #define ACTION_2753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2754: x<-L+N+R+S+T+U+W #define ACTION_2754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2755: x<-L+N+R+S+T+V+W #define ACTION_2755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2756: x<-L+N+R+S+U+V+W #define ACTION_2756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2757: x<-L+O+P+S+T+U+W #define ACTION_2757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2758: x<-L+O+P+S+T+V+W #define ACTION_2758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2759: x<-L+O+P+S+U+V+W #define ACTION_2759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2760: x<-L+P+Q+R+T+U+W #define ACTION_2760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2761: x<-L+P+Q+R+T+V+W #define ACTION_2761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2762: x<-L+P+Q+R+U+V+W #define ACTION_2762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2763: x<-L+P+Q+S+T+U+W #define ACTION_2763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2764: x<-L+P+Q+S+T+V+W #define ACTION_2764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2765: x<-L+P+Q+S+U+V+W #define ACTION_2765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2766: x<-L+P+R+S+T+U+W #define ACTION_2766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2767: x<-L+P+R+S+T+V+W #define ACTION_2767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2768: x<-L+P+R+S+U+V+W #define ACTION_2768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2769: x<-M+N+O+Q+T+U+W #define ACTION_2769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2770: x<-M+N+O+Q+T+V+W #define ACTION_2770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2771: x<-M+N+O+Q+U+V+W #define ACTION_2771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2772: x<-M+N+P+Q+T+U+W #define ACTION_2772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2773: x<-M+N+P+Q+T+V+W #define ACTION_2773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2774: x<-M+N+P+Q+U+V+W #define ACTION_2774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2775: x<-M+N+P+R+T+U+W #define ACTION_2775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2776: x<-M+N+P+R+T+V+W #define ACTION_2776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2777: x<-M+N+P+R+U+V+W #define ACTION_2777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2778: x<-M+N+Q+R+T+U+W #define ACTION_2778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2779: x<-M+N+Q+R+T+V+W #define ACTION_2779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2780: x<-M+N+Q+R+U+V+W #define ACTION_2780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2781: x<-M+N+Q+S+T+U+W #define ACTION_2781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2782: x<-M+N+Q+S+T+V+W #define ACTION_2782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2783: x<-M+N+Q+S+U+V+W #define ACTION_2783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2784: x<-M+N+R+S+T+U+W #define ACTION_2784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2785: x<-M+N+R+S+T+V+W #define ACTION_2785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2786: x<-M+N+R+S+U+V+W #define ACTION_2786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2787: x<-M+O+P+Q+T+U+W #define ACTION_2787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2788: x<-M+O+P+Q+T+V+W #define ACTION_2788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2789: x<-M+O+P+Q+U+V+W #define ACTION_2789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2790: x<-M+O+P+R+T+U+W #define ACTION_2790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2791: x<-M+O+P+R+T+V+W #define ACTION_2791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2792: x<-M+O+P+R+U+V+W #define ACTION_2792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2793: x<-M+O+Q+R+T+U+W #define ACTION_2793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2794: x<-M+O+Q+R+T+V+W #define ACTION_2794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2795: x<-M+O+Q+R+U+V+W #define ACTION_2795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2796: x<-M+O+Q+S+T+U+W #define ACTION_2796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2797: x<-M+O+Q+S+T+V+W #define ACTION_2797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2798: x<-M+O+Q+S+U+V+W #define ACTION_2798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2799: x<-M+O+R+S+T+U+W #define ACTION_2799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2800: x<-M+O+R+S+T+V+W #define ACTION_2800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2801: x<-M+O+R+S+U+V+W #define ACTION_2801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2802: x<-N+O+Q+R+T+U+W #define ACTION_2802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2803: x<-N+O+Q+R+T+V+W #define ACTION_2803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2804: x<-N+O+Q+R+U+V+W #define ACTION_2804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2805: x<-N+O+Q+S+T+U+W #define ACTION_2805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2806: x<-N+O+Q+S+T+V+W #define ACTION_2806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2807: x<-N+O+Q+S+U+V+W #define ACTION_2807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2808: x<-N+O+R+S+T+U+W #define ACTION_2808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2809: x<-N+O+R+S+T+V+W #define ACTION_2809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2810: x<-N+O+R+S+U+V+W #define ACTION_2810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2811: x<-N+P+Q+R+T+U+W #define ACTION_2811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2812: x<-N+P+Q+R+T+V+W #define ACTION_2812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2813: x<-N+P+Q+R+U+V+W #define ACTION_2813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2814: x<-N+P+Q+S+T+U+W #define ACTION_2814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2815: x<-N+P+Q+S+T+V+W #define ACTION_2815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2816: x<-N+P+Q+S+U+V+W #define ACTION_2816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2817: x<-N+P+R+S+T+U+W #define ACTION_2817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2818: x<-N+P+R+S+T+V+W #define ACTION_2818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2819: x<-N+P+R+S+U+V+W #define ACTION_2819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2820: x<-O+P+Q+R+T+U+W #define ACTION_2820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2821: x<-O+P+Q+R+T+V+W #define ACTION_2821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2822: x<-O+P+Q+R+U+V+W #define ACTION_2822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2823: x<-O+P+Q+S+T+U+W #define ACTION_2823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2824: x<-O+P+Q+S+T+V+W #define ACTION_2824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2825: x<-O+P+Q+S+U+V+W #define ACTION_2825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2826: x<-O+P+R+S+T+U+W #define ACTION_2826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2827: x<-O+P+R+S+T+V+W #define ACTION_2827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2828: x<-O+P+R+S+U+V+W #define ACTION_2828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; ================================================ FILE: include/labeling3D_EPDT_19c_action_def_memory.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany // Action 0: nothing #define ACTION_0 img_labels(s + 0, r + 0, c) = 0;continue; // Action 1: x<-newlabel #define ACTION_1 img_labels(s + 0, r + 0, c) = LabelsSolver::MemNewLabel();continue; // Action 2: x<-K #define ACTION_2 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c - 2);continue; // Action 3: x<-L #define ACTION_3 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c);continue; // Action 4: x<-M #define ACTION_4 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c + 2);continue; // Action 5: x<-N #define ACTION_5 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c - 2);continue; // Action 6: x<-O #define ACTION_6 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c);continue; // Action 7: x<-P #define ACTION_7 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c + 2);continue; // Action 8: x<-Q #define ACTION_8 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c - 2);continue; // Action 9: x<-R #define ACTION_9 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c);continue; // Action 10: x<-S #define ACTION_10 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c + 2);continue; // Action 11: x<-T #define ACTION_11 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c - 2);continue; // Action 12: x<-U #define ACTION_12 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c);continue; // Action 13: x<-V #define ACTION_13 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c + 2);continue; // Action 14: x<-W #define ACTION_14 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r + 0, c - 2);continue; // Action 15: x<-K+L #define ACTION_15 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 16: x<-K+M #define ACTION_16 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 17: x<-K+N #define ACTION_17 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 18: x<-K+O #define ACTION_18 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 19: x<-K+P #define ACTION_19 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 20: x<-K+Q #define ACTION_20 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 21: x<-K+R #define ACTION_21 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 22: x<-K+S #define ACTION_22 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 23: x<-K+T #define ACTION_23 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 24: x<-K+U #define ACTION_24 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 25: x<-K+V #define ACTION_25 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 26: x<-K+W #define ACTION_26 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 27: x<-L+M #define ACTION_27 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 28: x<-L+N #define ACTION_28 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 29: x<-L+O #define ACTION_29 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c));continue; // Action 30: x<-L+P #define ACTION_30 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 31: x<-L+Q #define ACTION_31 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 32: x<-L+R #define ACTION_32 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c));continue; // Action 33: x<-L+S #define ACTION_33 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 34: x<-L+T #define ACTION_34 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 35: x<-L+U #define ACTION_35 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c));continue; // Action 36: x<-L+V #define ACTION_36 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 37: x<-L+W #define ACTION_37 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 38: x<-M+N #define ACTION_38 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 39: x<-M+O #define ACTION_39 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 40: x<-M+P #define ACTION_40 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 41: x<-M+Q #define ACTION_41 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 42: x<-M+R #define ACTION_42 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 43: x<-M+S #define ACTION_43 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 44: x<-M+T #define ACTION_44 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 45: x<-M+U #define ACTION_45 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 46: x<-M+V #define ACTION_46 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 47: x<-M+W #define ACTION_47 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 48: x<-N+O #define ACTION_48 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 49: x<-N+P #define ACTION_49 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 50: x<-N+Q #define ACTION_50 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 51: x<-N+R #define ACTION_51 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 52: x<-N+S #define ACTION_52 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 53: x<-N+T #define ACTION_53 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 54: x<-N+U #define ACTION_54 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 55: x<-N+V #define ACTION_55 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 56: x<-N+W #define ACTION_56 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 57: x<-O+P #define ACTION_57 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 58: x<-O+Q #define ACTION_58 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 59: x<-O+R #define ACTION_59 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c));continue; // Action 60: x<-O+S #define ACTION_60 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 61: x<-O+T #define ACTION_61 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 62: x<-O+U #define ACTION_62 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c));continue; // Action 63: x<-O+V #define ACTION_63 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 64: x<-O+W #define ACTION_64 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 65: x<-P+Q #define ACTION_65 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 66: x<-P+R #define ACTION_66 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2));continue; // Action 67: x<-P+S #define ACTION_67 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 68: x<-P+T #define ACTION_68 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 69: x<-P+U #define ACTION_69 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2));continue; // Action 70: x<-P+V #define ACTION_70 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 71: x<-P+W #define ACTION_71 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 72: x<-Q+R #define ACTION_72 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2));continue; // Action 73: x<-Q+S #define ACTION_73 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 74: x<-Q+T #define ACTION_74 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 75: x<-Q+U #define ACTION_75 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2));continue; // Action 76: x<-Q+V #define ACTION_76 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 77: x<-Q+W #define ACTION_77 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 78: x<-R+S #define ACTION_78 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c));continue; // Action 79: x<-R+T #define ACTION_79 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c));continue; // Action 80: x<-R+U #define ACTION_80 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c));continue; // Action 81: x<-R+V #define ACTION_81 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c));continue; // Action 82: x<-R+W #define ACTION_82 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c));continue; // Action 83: x<-S+T #define ACTION_83 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 84: x<-S+U #define ACTION_84 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2));continue; // Action 85: x<-S+V #define ACTION_85 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 86: x<-S+W #define ACTION_86 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 87: x<-T+U #define ACTION_87 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2));continue; // Action 88: x<-T+V #define ACTION_88 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2));continue; // Action 89: x<-T+W #define ACTION_89 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2));continue; // Action 90: x<-U+V #define ACTION_90 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c));continue; // Action 91: x<-U+W #define ACTION_91 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c));continue; // Action 92: x<-V+W #define ACTION_92 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2));continue; // Action 93: x<-K+L+N #define ACTION_93 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 94: x<-K+L+O #define ACTION_94 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 95: x<-K+L+P #define ACTION_95 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 96: x<-K+L+Q #define ACTION_96 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 97: x<-K+L+R #define ACTION_97 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 98: x<-K+L+S #define ACTION_98 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 99: x<-K+L+T #define ACTION_99 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 100: x<-K+L+U #define ACTION_100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 101: x<-K+L+V #define ACTION_101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 102: x<-K+L+W #define ACTION_102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 103: x<-K+M+N #define ACTION_103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 104: x<-K+M+O #define ACTION_104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 105: x<-K+M+P #define ACTION_105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 106: x<-K+M+Q #define ACTION_106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 107: x<-K+M+R #define ACTION_107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 108: x<-K+M+S #define ACTION_108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 109: x<-K+M+T #define ACTION_109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 110: x<-K+M+U #define ACTION_110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 111: x<-K+M+V #define ACTION_111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 112: x<-K+M+W #define ACTION_112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 113: x<-K+N+O #define ACTION_113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 114: x<-K+N+P #define ACTION_114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 115: x<-K+N+R #define ACTION_115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 116: x<-K+N+S #define ACTION_116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 117: x<-K+N+T #define ACTION_117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 118: x<-K+N+U #define ACTION_118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 119: x<-K+N+V #define ACTION_119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 120: x<-K+N+W #define ACTION_120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 121: x<-K+O+P #define ACTION_121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 122: x<-K+O+Q #define ACTION_122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 123: x<-K+O+R #define ACTION_123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 124: x<-K+O+S #define ACTION_124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 125: x<-K+O+T #define ACTION_125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 126: x<-K+O+U #define ACTION_126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 127: x<-K+O+V #define ACTION_127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 128: x<-K+O+W #define ACTION_128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 129: x<-K+P+Q #define ACTION_129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 130: x<-K+P+R #define ACTION_130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 131: x<-K+P+S #define ACTION_131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 132: x<-K+P+T #define ACTION_132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 133: x<-K+P+U #define ACTION_133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 134: x<-K+P+V #define ACTION_134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 135: x<-K+P+W #define ACTION_135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 136: x<-K+Q+R #define ACTION_136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 137: x<-K+Q+S #define ACTION_137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 138: x<-K+Q+T #define ACTION_138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 139: x<-K+Q+U #define ACTION_139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 140: x<-K+Q+V #define ACTION_140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 141: x<-K+Q+W #define ACTION_141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 142: x<-K+R+S #define ACTION_142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 143: x<-K+R+T #define ACTION_143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 144: x<-K+R+U #define ACTION_144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 145: x<-K+R+V #define ACTION_145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 146: x<-K+R+W #define ACTION_146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 147: x<-K+S+T #define ACTION_147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 148: x<-K+S+U #define ACTION_148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 149: x<-K+S+V #define ACTION_149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 150: x<-K+S+W #define ACTION_150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 151: x<-K+T+U #define ACTION_151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 152: x<-K+T+V #define ACTION_152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 153: x<-K+T+W #define ACTION_153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 154: x<-K+U+V #define ACTION_154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 155: x<-K+U+W #define ACTION_155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 156: x<-K+V+W #define ACTION_156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 157: x<-L+M+N #define ACTION_157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 158: x<-L+M+O #define ACTION_158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 159: x<-L+M+P #define ACTION_159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 160: x<-L+M+Q #define ACTION_160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 161: x<-L+M+R #define ACTION_161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 162: x<-L+M+S #define ACTION_162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 163: x<-L+M+T #define ACTION_163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 164: x<-L+M+U #define ACTION_164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 165: x<-L+M+V #define ACTION_165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 166: x<-L+M+W #define ACTION_166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 167: x<-L+N+O #define ACTION_167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 168: x<-L+N+P #define ACTION_168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 169: x<-L+N+Q #define ACTION_169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 170: x<-L+N+R #define ACTION_170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 171: x<-L+N+S #define ACTION_171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 172: x<-L+N+T #define ACTION_172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 173: x<-L+N+U #define ACTION_173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 174: x<-L+N+V #define ACTION_174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 175: x<-L+N+W #define ACTION_175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 176: x<-L+O+P #define ACTION_176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 177: x<-L+O+Q #define ACTION_177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 178: x<-L+O+S #define ACTION_178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 179: x<-L+O+T #define ACTION_179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 180: x<-L+O+U #define ACTION_180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 181: x<-L+O+V #define ACTION_181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 182: x<-L+O+W #define ACTION_182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 183: x<-L+P+Q #define ACTION_183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 184: x<-L+P+R #define ACTION_184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 185: x<-L+P+S #define ACTION_185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 186: x<-L+P+T #define ACTION_186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 187: x<-L+P+U #define ACTION_187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 188: x<-L+P+V #define ACTION_188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 189: x<-L+P+W #define ACTION_189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 190: x<-L+Q+R #define ACTION_190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 191: x<-L+Q+S #define ACTION_191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 192: x<-L+Q+T #define ACTION_192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 193: x<-L+Q+U #define ACTION_193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 194: x<-L+Q+V #define ACTION_194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 195: x<-L+Q+W #define ACTION_195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 196: x<-L+R+S #define ACTION_196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 197: x<-L+R+T #define ACTION_197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 198: x<-L+R+U #define ACTION_198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 199: x<-L+R+V #define ACTION_199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 200: x<-L+R+W #define ACTION_200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 201: x<-L+S+T #define ACTION_201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 202: x<-L+S+U #define ACTION_202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 203: x<-L+S+V #define ACTION_203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 204: x<-L+S+W #define ACTION_204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 205: x<-L+T+U #define ACTION_205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 206: x<-L+T+V #define ACTION_206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 207: x<-L+T+W #define ACTION_207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 208: x<-L+U+V #define ACTION_208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 209: x<-L+U+W #define ACTION_209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 210: x<-L+V+W #define ACTION_210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 211: x<-M+N+O #define ACTION_211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 212: x<-M+N+P #define ACTION_212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 213: x<-M+N+Q #define ACTION_213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 214: x<-M+N+R #define ACTION_214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 215: x<-M+N+S #define ACTION_215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 216: x<-M+N+T #define ACTION_216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 217: x<-M+N+U #define ACTION_217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 218: x<-M+N+V #define ACTION_218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 219: x<-M+N+W #define ACTION_219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 220: x<-M+O+P #define ACTION_220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 221: x<-M+O+Q #define ACTION_221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 222: x<-M+O+R #define ACTION_222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 223: x<-M+O+S #define ACTION_223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 224: x<-M+O+T #define ACTION_224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 225: x<-M+O+U #define ACTION_225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 226: x<-M+O+V #define ACTION_226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 227: x<-M+O+W #define ACTION_227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 228: x<-M+P+Q #define ACTION_228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 229: x<-M+P+R #define ACTION_229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 230: x<-M+P+T #define ACTION_230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 231: x<-M+P+U #define ACTION_231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 232: x<-M+P+V #define ACTION_232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 233: x<-M+P+W #define ACTION_233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 234: x<-M+Q+R #define ACTION_234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 235: x<-M+Q+S #define ACTION_235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 236: x<-M+Q+T #define ACTION_236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 237: x<-M+Q+U #define ACTION_237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 238: x<-M+Q+V #define ACTION_238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 239: x<-M+Q+W #define ACTION_239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 240: x<-M+R+S #define ACTION_240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 241: x<-M+R+T #define ACTION_241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 242: x<-M+R+U #define ACTION_242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 243: x<-M+R+V #define ACTION_243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 244: x<-M+R+W #define ACTION_244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 245: x<-M+S+T #define ACTION_245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 246: x<-M+S+U #define ACTION_246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 247: x<-M+S+V #define ACTION_247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 248: x<-M+S+W #define ACTION_248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 249: x<-M+T+U #define ACTION_249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 250: x<-M+T+V #define ACTION_250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 251: x<-M+T+W #define ACTION_251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 252: x<-M+U+V #define ACTION_252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 253: x<-M+U+W #define ACTION_253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 254: x<-M+V+W #define ACTION_254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 255: x<-N+O+Q #define ACTION_255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 256: x<-N+O+R #define ACTION_256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 257: x<-N+O+S #define ACTION_257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 258: x<-N+O+T #define ACTION_258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 259: x<-N+O+U #define ACTION_259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 260: x<-N+O+V #define ACTION_260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 261: x<-N+O+W #define ACTION_261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 262: x<-N+P+Q #define ACTION_262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 263: x<-N+P+R #define ACTION_263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 264: x<-N+P+S #define ACTION_264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 265: x<-N+P+T #define ACTION_265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 266: x<-N+P+U #define ACTION_266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 267: x<-N+P+V #define ACTION_267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 268: x<-N+P+W #define ACTION_268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 269: x<-N+Q+R #define ACTION_269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 270: x<-N+Q+S #define ACTION_270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 271: x<-N+Q+T #define ACTION_271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 272: x<-N+Q+U #define ACTION_272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 273: x<-N+Q+V #define ACTION_273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 274: x<-N+Q+W #define ACTION_274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 275: x<-N+R+S #define ACTION_275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 276: x<-N+R+T #define ACTION_276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 277: x<-N+R+U #define ACTION_277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 278: x<-N+R+V #define ACTION_278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 279: x<-N+R+W #define ACTION_279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 280: x<-N+S+T #define ACTION_280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 281: x<-N+S+U #define ACTION_281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 282: x<-N+S+V #define ACTION_282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 283: x<-N+S+W #define ACTION_283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 284: x<-N+T+U #define ACTION_284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 285: x<-N+T+V #define ACTION_285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 286: x<-N+T+W #define ACTION_286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 287: x<-N+U+V #define ACTION_287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 288: x<-N+U+W #define ACTION_288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 289: x<-N+V+W #define ACTION_289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 290: x<-O+P+Q #define ACTION_290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 291: x<-O+P+R #define ACTION_291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 292: x<-O+P+S #define ACTION_292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 293: x<-O+P+T #define ACTION_293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 294: x<-O+P+U #define ACTION_294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 295: x<-O+P+V #define ACTION_295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 296: x<-O+P+W #define ACTION_296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 297: x<-O+Q+R #define ACTION_297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 298: x<-O+Q+S #define ACTION_298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 299: x<-O+Q+T #define ACTION_299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 300: x<-O+Q+U #define ACTION_300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 301: x<-O+Q+V #define ACTION_301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 302: x<-O+Q+W #define ACTION_302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 303: x<-O+R+S #define ACTION_303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 304: x<-O+R+T #define ACTION_304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 305: x<-O+R+U #define ACTION_305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 306: x<-O+R+V #define ACTION_306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 307: x<-O+R+W #define ACTION_307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 308: x<-O+S+T #define ACTION_308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 309: x<-O+S+U #define ACTION_309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 310: x<-O+S+V #define ACTION_310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 311: x<-O+S+W #define ACTION_311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 312: x<-O+T+U #define ACTION_312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 313: x<-O+T+V #define ACTION_313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 314: x<-O+T+W #define ACTION_314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 315: x<-O+U+V #define ACTION_315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 316: x<-O+U+W #define ACTION_316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 317: x<-O+V+W #define ACTION_317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 318: x<-P+Q+R #define ACTION_318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 319: x<-P+Q+S #define ACTION_319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 320: x<-P+Q+T #define ACTION_320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 321: x<-P+Q+U #define ACTION_321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 322: x<-P+Q+V #define ACTION_322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 323: x<-P+Q+W #define ACTION_323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 324: x<-P+R+S #define ACTION_324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 325: x<-P+R+T #define ACTION_325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 326: x<-P+R+U #define ACTION_326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 327: x<-P+R+V #define ACTION_327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 328: x<-P+R+W #define ACTION_328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 329: x<-P+S+T #define ACTION_329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 330: x<-P+S+U #define ACTION_330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 331: x<-P+S+V #define ACTION_331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 332: x<-P+S+W #define ACTION_332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 333: x<-P+T+U #define ACTION_333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 334: x<-P+T+V #define ACTION_334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 335: x<-P+T+W #define ACTION_335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 336: x<-P+U+V #define ACTION_336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 337: x<-P+U+W #define ACTION_337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 338: x<-P+V+W #define ACTION_338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 339: x<-Q+R+T #define ACTION_339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 340: x<-Q+R+U #define ACTION_340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 341: x<-Q+R+V #define ACTION_341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 342: x<-Q+R+W #define ACTION_342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 343: x<-Q+S+T #define ACTION_343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 344: x<-Q+S+U #define ACTION_344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 345: x<-Q+S+V #define ACTION_345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 346: x<-Q+S+W #define ACTION_346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 347: x<-Q+T+U #define ACTION_347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 348: x<-Q+T+V #define ACTION_348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 349: x<-Q+T+W #define ACTION_349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 350: x<-Q+U+V #define ACTION_350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 351: x<-Q+U+W #define ACTION_351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 352: x<-Q+V+W #define ACTION_352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 353: x<-R+S+T #define ACTION_353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 354: x<-R+S+U #define ACTION_354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 355: x<-R+S+V #define ACTION_355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 356: x<-R+S+W #define ACTION_356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 357: x<-R+T+U #define ACTION_357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 358: x<-R+T+V #define ACTION_358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 359: x<-R+T+W #define ACTION_359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 360: x<-R+U+V #define ACTION_360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c));continue; // Action 361: x<-R+U+W #define ACTION_361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c));continue; // Action 362: x<-R+V+W #define ACTION_362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 363: x<-S+T+U #define ACTION_363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 364: x<-S+T+V #define ACTION_364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 365: x<-S+T+W #define ACTION_365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 366: x<-S+U+V #define ACTION_366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2));continue; // Action 367: x<-S+U+W #define ACTION_367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2));continue; // Action 368: x<-S+V+W #define ACTION_368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 369: x<-T+U+W #define ACTION_369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2));continue; // Action 370: x<-T+V+W #define ACTION_370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2));continue; // Action 371: x<-U+V+W #define ACTION_371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c));continue; // Action 372: x<-K+L+N+O #define ACTION_372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 373: x<-K+L+N+P #define ACTION_373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 374: x<-K+L+N+R #define ACTION_374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 375: x<-K+L+N+S #define ACTION_375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 376: x<-K+L+N+T #define ACTION_376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 377: x<-K+L+N+U #define ACTION_377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 378: x<-K+L+N+V #define ACTION_378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 379: x<-K+L+N+W #define ACTION_379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 380: x<-K+L+O+P #define ACTION_380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 381: x<-K+L+O+Q #define ACTION_381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 382: x<-K+L+O+S #define ACTION_382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 383: x<-K+L+O+T #define ACTION_383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 384: x<-K+L+O+U #define ACTION_384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 385: x<-K+L+O+V #define ACTION_385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 386: x<-K+L+O+W #define ACTION_386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 387: x<-K+L+P+Q #define ACTION_387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 388: x<-K+L+P+R #define ACTION_388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 389: x<-K+L+P+T #define ACTION_389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 390: x<-K+L+P+U #define ACTION_390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 391: x<-K+L+P+V #define ACTION_391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 392: x<-K+L+P+W #define ACTION_392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 393: x<-K+L+Q+R #define ACTION_393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 394: x<-K+L+Q+S #define ACTION_394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 395: x<-K+L+Q+T #define ACTION_395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 396: x<-K+L+Q+U #define ACTION_396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 397: x<-K+L+Q+V #define ACTION_397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 398: x<-K+L+Q+W #define ACTION_398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 399: x<-K+L+R+S #define ACTION_399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 400: x<-K+L+R+T #define ACTION_400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 401: x<-K+L+R+U #define ACTION_401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 402: x<-K+L+R+V #define ACTION_402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 403: x<-K+L+R+W #define ACTION_403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 404: x<-K+L+S+T #define ACTION_404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 405: x<-K+L+S+U #define ACTION_405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 406: x<-K+L+S+V #define ACTION_406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 407: x<-K+L+S+W #define ACTION_407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 408: x<-K+L+T+U #define ACTION_408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 409: x<-K+L+T+V #define ACTION_409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 410: x<-K+L+T+W #define ACTION_410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 411: x<-K+L+U+V #define ACTION_411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 412: x<-K+L+U+W #define ACTION_412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 413: x<-K+L+V+W #define ACTION_413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 414: x<-K+M+N+O #define ACTION_414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 415: x<-K+M+N+P #define ACTION_415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 416: x<-K+M+N+R #define ACTION_416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 417: x<-K+M+N+S #define ACTION_417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 418: x<-K+M+N+T #define ACTION_418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 419: x<-K+M+N+U #define ACTION_419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 420: x<-K+M+N+V #define ACTION_420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 421: x<-K+M+N+W #define ACTION_421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 422: x<-K+M+O+P #define ACTION_422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 423: x<-K+M+O+Q #define ACTION_423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 424: x<-K+M+O+S #define ACTION_424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 425: x<-K+M+O+T #define ACTION_425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 426: x<-K+M+O+U #define ACTION_426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 427: x<-K+M+O+V #define ACTION_427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 428: x<-K+M+O+W #define ACTION_428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 429: x<-K+M+P+Q #define ACTION_429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 430: x<-K+M+P+R #define ACTION_430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 431: x<-K+M+P+T #define ACTION_431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 432: x<-K+M+P+U #define ACTION_432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 433: x<-K+M+P+V #define ACTION_433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 434: x<-K+M+P+W #define ACTION_434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 435: x<-K+M+Q+R #define ACTION_435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 436: x<-K+M+Q+S #define ACTION_436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 437: x<-K+M+Q+T #define ACTION_437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 438: x<-K+M+Q+U #define ACTION_438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 439: x<-K+M+Q+V #define ACTION_439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 440: x<-K+M+Q+W #define ACTION_440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 441: x<-K+M+R+S #define ACTION_441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 442: x<-K+M+R+T #define ACTION_442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 443: x<-K+M+R+U #define ACTION_443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 444: x<-K+M+R+V #define ACTION_444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 445: x<-K+M+R+W #define ACTION_445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 446: x<-K+M+S+T #define ACTION_446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 447: x<-K+M+S+U #define ACTION_447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 448: x<-K+M+S+V #define ACTION_448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 449: x<-K+M+S+W #define ACTION_449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 450: x<-K+M+T+U #define ACTION_450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 451: x<-K+M+T+V #define ACTION_451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 452: x<-K+M+T+W #define ACTION_452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 453: x<-K+M+U+V #define ACTION_453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 454: x<-K+M+U+W #define ACTION_454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 455: x<-K+M+V+W #define ACTION_455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 456: x<-K+N+O+R #define ACTION_456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 457: x<-K+N+O+S #define ACTION_457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 458: x<-K+N+O+T #define ACTION_458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 459: x<-K+N+O+U #define ACTION_459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 460: x<-K+N+O+V #define ACTION_460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 461: x<-K+N+O+W #define ACTION_461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 462: x<-K+N+P+R #define ACTION_462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 463: x<-K+N+P+S #define ACTION_463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 464: x<-K+N+P+T #define ACTION_464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 465: x<-K+N+P+U #define ACTION_465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 466: x<-K+N+P+V #define ACTION_466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 467: x<-K+N+P+W #define ACTION_467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 468: x<-K+N+R+T #define ACTION_468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 469: x<-K+N+R+U #define ACTION_469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 470: x<-K+N+R+V #define ACTION_470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 471: x<-K+N+R+W #define ACTION_471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 472: x<-K+N+S+T #define ACTION_472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 473: x<-K+N+S+U #define ACTION_473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 474: x<-K+N+S+V #define ACTION_474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 475: x<-K+N+S+W #define ACTION_475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 476: x<-K+N+T+U #define ACTION_476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 477: x<-K+N+T+V #define ACTION_477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 478: x<-K+N+T+W #define ACTION_478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 479: x<-K+N+U+V #define ACTION_479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 480: x<-K+N+U+W #define ACTION_480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 481: x<-K+N+V+W #define ACTION_481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 482: x<-K+O+P+S #define ACTION_482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 483: x<-K+O+P+T #define ACTION_483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 484: x<-K+O+P+U #define ACTION_484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 485: x<-K+O+P+V #define ACTION_485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 486: x<-K+O+P+W #define ACTION_486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 487: x<-K+O+Q+R #define ACTION_487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 488: x<-K+O+Q+S #define ACTION_488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 489: x<-K+O+Q+T #define ACTION_489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 490: x<-K+O+Q+U #define ACTION_490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 491: x<-K+O+Q+V #define ACTION_491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 492: x<-K+O+Q+W #define ACTION_492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 493: x<-K+O+R+S #define ACTION_493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 494: x<-K+O+R+T #define ACTION_494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 495: x<-K+O+R+U #define ACTION_495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 496: x<-K+O+R+V #define ACTION_496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 497: x<-K+O+R+W #define ACTION_497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 498: x<-K+O+S+T #define ACTION_498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 499: x<-K+O+S+U #define ACTION_499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 500: x<-K+O+S+V #define ACTION_500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 501: x<-K+O+S+W #define ACTION_501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 502: x<-K+O+T+U #define ACTION_502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 503: x<-K+O+T+V #define ACTION_503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 504: x<-K+O+T+W #define ACTION_504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 505: x<-K+O+U+V #define ACTION_505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 506: x<-K+O+U+W #define ACTION_506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 507: x<-K+O+V+W #define ACTION_507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 508: x<-K+P+Q+R #define ACTION_508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 509: x<-K+P+Q+S #define ACTION_509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 510: x<-K+P+Q+T #define ACTION_510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 511: x<-K+P+Q+U #define ACTION_511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 512: x<-K+P+Q+V #define ACTION_512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 513: x<-K+P+Q+W #define ACTION_513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 514: x<-K+P+R+S #define ACTION_514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 515: x<-K+P+R+T #define ACTION_515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 516: x<-K+P+R+U #define ACTION_516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 517: x<-K+P+R+V #define ACTION_517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 518: x<-K+P+R+W #define ACTION_518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 519: x<-K+P+S+T #define ACTION_519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 520: x<-K+P+S+U #define ACTION_520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 521: x<-K+P+S+V #define ACTION_521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 522: x<-K+P+S+W #define ACTION_522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 523: x<-K+P+T+U #define ACTION_523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 524: x<-K+P+T+V #define ACTION_524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 525: x<-K+P+T+W #define ACTION_525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 526: x<-K+P+U+V #define ACTION_526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 527: x<-K+P+U+W #define ACTION_527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 528: x<-K+P+V+W #define ACTION_528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 529: x<-K+Q+R+T #define ACTION_529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 530: x<-K+Q+R+U #define ACTION_530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 531: x<-K+Q+R+V #define ACTION_531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 532: x<-K+Q+R+W #define ACTION_532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 533: x<-K+Q+S+T #define ACTION_533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 534: x<-K+Q+S+U #define ACTION_534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 535: x<-K+Q+S+V #define ACTION_535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 536: x<-K+Q+S+W #define ACTION_536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 537: x<-K+Q+T+U #define ACTION_537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 538: x<-K+Q+T+V #define ACTION_538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 539: x<-K+Q+T+W #define ACTION_539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 540: x<-K+Q+U+V #define ACTION_540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 541: x<-K+Q+U+W #define ACTION_541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 542: x<-K+Q+V+W #define ACTION_542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 543: x<-K+R+S+T #define ACTION_543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 544: x<-K+R+S+U #define ACTION_544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 545: x<-K+R+S+V #define ACTION_545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 546: x<-K+R+S+W #define ACTION_546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 547: x<-K+R+T+U #define ACTION_547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 548: x<-K+R+T+V #define ACTION_548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 549: x<-K+R+T+W #define ACTION_549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 550: x<-K+R+U+V #define ACTION_550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 551: x<-K+R+U+W #define ACTION_551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 552: x<-K+R+V+W #define ACTION_552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 553: x<-K+S+T+U #define ACTION_553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 554: x<-K+S+T+V #define ACTION_554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 555: x<-K+S+T+W #define ACTION_555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 556: x<-K+S+U+V #define ACTION_556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 557: x<-K+S+U+W #define ACTION_557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 558: x<-K+S+V+W #define ACTION_558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 559: x<-K+T+U+W #define ACTION_559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 560: x<-K+T+V+W #define ACTION_560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 561: x<-K+U+V+W #define ACTION_561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 562: x<-L+M+N+O #define ACTION_562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 563: x<-L+M+N+P #define ACTION_563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 564: x<-L+M+N+R #define ACTION_564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 565: x<-L+M+N+S #define ACTION_565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 566: x<-L+M+N+T #define ACTION_566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 567: x<-L+M+N+U #define ACTION_567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 568: x<-L+M+N+V #define ACTION_568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 569: x<-L+M+N+W #define ACTION_569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 570: x<-L+M+O+P #define ACTION_570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 571: x<-L+M+O+Q #define ACTION_571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 572: x<-L+M+O+S #define ACTION_572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 573: x<-L+M+O+T #define ACTION_573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 574: x<-L+M+O+U #define ACTION_574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 575: x<-L+M+O+V #define ACTION_575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 576: x<-L+M+O+W #define ACTION_576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 577: x<-L+M+P+Q #define ACTION_577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 578: x<-L+M+P+R #define ACTION_578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 579: x<-L+M+P+T #define ACTION_579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 580: x<-L+M+P+U #define ACTION_580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 581: x<-L+M+P+V #define ACTION_581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 582: x<-L+M+P+W #define ACTION_582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 583: x<-L+M+Q+R #define ACTION_583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 584: x<-L+M+Q+S #define ACTION_584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 585: x<-L+M+Q+T #define ACTION_585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 586: x<-L+M+Q+U #define ACTION_586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 587: x<-L+M+Q+V #define ACTION_587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 588: x<-L+M+Q+W #define ACTION_588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 589: x<-L+M+R+S #define ACTION_589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 590: x<-L+M+R+T #define ACTION_590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 591: x<-L+M+R+U #define ACTION_591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 592: x<-L+M+R+V #define ACTION_592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 593: x<-L+M+R+W #define ACTION_593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 594: x<-L+M+S+T #define ACTION_594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 595: x<-L+M+S+U #define ACTION_595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 596: x<-L+M+S+V #define ACTION_596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 597: x<-L+M+S+W #define ACTION_597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 598: x<-L+M+T+U #define ACTION_598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 599: x<-L+M+T+V #define ACTION_599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 600: x<-L+M+T+W #define ACTION_600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 601: x<-L+M+U+V #define ACTION_601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 602: x<-L+M+U+W #define ACTION_602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 603: x<-L+M+V+W #define ACTION_603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 604: x<-L+N+O+Q #define ACTION_604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 605: x<-L+N+O+T #define ACTION_605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 606: x<-L+N+O+U #define ACTION_606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 607: x<-L+N+O+V #define ACTION_607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 608: x<-L+N+O+W #define ACTION_608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 609: x<-L+N+P+Q #define ACTION_609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 610: x<-L+N+P+R #define ACTION_610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 611: x<-L+N+P+S #define ACTION_611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 612: x<-L+N+P+T #define ACTION_612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 613: x<-L+N+P+U #define ACTION_613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 614: x<-L+N+P+V #define ACTION_614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 615: x<-L+N+P+W #define ACTION_615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 616: x<-L+N+Q+R #define ACTION_616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 617: x<-L+N+Q+S #define ACTION_617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 618: x<-L+N+Q+T #define ACTION_618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 619: x<-L+N+Q+U #define ACTION_619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 620: x<-L+N+Q+V #define ACTION_620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 621: x<-L+N+Q+W #define ACTION_621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 622: x<-L+N+R+S #define ACTION_622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 623: x<-L+N+R+T #define ACTION_623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 624: x<-L+N+R+U #define ACTION_624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 625: x<-L+N+R+V #define ACTION_625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 626: x<-L+N+R+W #define ACTION_626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 627: x<-L+N+S+T #define ACTION_627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 628: x<-L+N+S+U #define ACTION_628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 629: x<-L+N+S+V #define ACTION_629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 630: x<-L+N+S+W #define ACTION_630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 631: x<-L+N+T+U #define ACTION_631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 632: x<-L+N+T+V #define ACTION_632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 633: x<-L+N+T+W #define ACTION_633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 634: x<-L+N+U+V #define ACTION_634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 635: x<-L+N+U+W #define ACTION_635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 636: x<-L+N+V+W #define ACTION_636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 637: x<-L+O+P+S #define ACTION_637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 638: x<-L+O+P+T #define ACTION_638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 639: x<-L+O+P+U #define ACTION_639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 640: x<-L+O+P+V #define ACTION_640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 641: x<-L+O+P+W #define ACTION_641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 642: x<-L+O+Q+T #define ACTION_642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 643: x<-L+O+Q+U #define ACTION_643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 644: x<-L+O+Q+V #define ACTION_644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 645: x<-L+O+Q+W #define ACTION_645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 646: x<-L+O+S+T #define ACTION_646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 647: x<-L+O+S+U #define ACTION_647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 648: x<-L+O+S+V #define ACTION_648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 649: x<-L+O+S+W #define ACTION_649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 650: x<-L+O+T+U #define ACTION_650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 651: x<-L+O+T+V #define ACTION_651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 652: x<-L+O+T+W #define ACTION_652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 653: x<-L+O+U+V #define ACTION_653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 654: x<-L+O+U+W #define ACTION_654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 655: x<-L+O+V+W #define ACTION_655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 656: x<-L+P+Q+R #define ACTION_656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 657: x<-L+P+Q+S #define ACTION_657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 658: x<-L+P+Q+T #define ACTION_658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 659: x<-L+P+Q+U #define ACTION_659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 660: x<-L+P+Q+V #define ACTION_660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 661: x<-L+P+Q+W #define ACTION_661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 662: x<-L+P+R+S #define ACTION_662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 663: x<-L+P+R+T #define ACTION_663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 664: x<-L+P+R+U #define ACTION_664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 665: x<-L+P+R+V #define ACTION_665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 666: x<-L+P+R+W #define ACTION_666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 667: x<-L+P+S+T #define ACTION_667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 668: x<-L+P+S+U #define ACTION_668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 669: x<-L+P+S+V #define ACTION_669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 670: x<-L+P+S+W #define ACTION_670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 671: x<-L+P+T+U #define ACTION_671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 672: x<-L+P+T+V #define ACTION_672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 673: x<-L+P+T+W #define ACTION_673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 674: x<-L+P+U+V #define ACTION_674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 675: x<-L+P+U+W #define ACTION_675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 676: x<-L+P+V+W #define ACTION_676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 677: x<-L+Q+R+T #define ACTION_677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 678: x<-L+Q+R+U #define ACTION_678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 679: x<-L+Q+R+V #define ACTION_679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 680: x<-L+Q+R+W #define ACTION_680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 681: x<-L+Q+S+T #define ACTION_681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 682: x<-L+Q+S+U #define ACTION_682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 683: x<-L+Q+S+V #define ACTION_683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 684: x<-L+Q+S+W #define ACTION_684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 685: x<-L+Q+T+U #define ACTION_685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 686: x<-L+Q+T+V #define ACTION_686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 687: x<-L+Q+T+W #define ACTION_687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 688: x<-L+Q+U+V #define ACTION_688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 689: x<-L+Q+U+W #define ACTION_689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 690: x<-L+Q+V+W #define ACTION_690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 691: x<-L+R+S+T #define ACTION_691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 692: x<-L+R+S+U #define ACTION_692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 693: x<-L+R+S+V #define ACTION_693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 694: x<-L+R+S+W #define ACTION_694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 695: x<-L+R+T+U #define ACTION_695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 696: x<-L+R+T+V #define ACTION_696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 697: x<-L+R+T+W #define ACTION_697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 698: x<-L+R+U+V #define ACTION_698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 699: x<-L+R+U+W #define ACTION_699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 700: x<-L+R+V+W #define ACTION_700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 701: x<-L+S+T+U #define ACTION_701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 702: x<-L+S+T+V #define ACTION_702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 703: x<-L+S+T+W #define ACTION_703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 704: x<-L+S+U+V #define ACTION_704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 705: x<-L+S+U+W #define ACTION_705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 706: x<-L+S+V+W #define ACTION_706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 707: x<-L+T+U+W #define ACTION_707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 708: x<-L+T+V+W #define ACTION_708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 709: x<-L+U+V+W #define ACTION_709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 710: x<-M+N+O+Q #define ACTION_710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 711: x<-M+N+O+T #define ACTION_711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 712: x<-M+N+O+U #define ACTION_712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 713: x<-M+N+O+V #define ACTION_713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 714: x<-M+N+O+W #define ACTION_714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 715: x<-M+N+P+Q #define ACTION_715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 716: x<-M+N+P+R #define ACTION_716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 717: x<-M+N+P+T #define ACTION_717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 718: x<-M+N+P+U #define ACTION_718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 719: x<-M+N+P+V #define ACTION_719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 720: x<-M+N+P+W #define ACTION_720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 721: x<-M+N+Q+R #define ACTION_721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 722: x<-M+N+Q+S #define ACTION_722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 723: x<-M+N+Q+T #define ACTION_723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 724: x<-M+N+Q+U #define ACTION_724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 725: x<-M+N+Q+V #define ACTION_725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 726: x<-M+N+Q+W #define ACTION_726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 727: x<-M+N+R+S #define ACTION_727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 728: x<-M+N+R+T #define ACTION_728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 729: x<-M+N+R+U #define ACTION_729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 730: x<-M+N+R+V #define ACTION_730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 731: x<-M+N+R+W #define ACTION_731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 732: x<-M+N+S+T #define ACTION_732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 733: x<-M+N+S+U #define ACTION_733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 734: x<-M+N+S+V #define ACTION_734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 735: x<-M+N+S+W #define ACTION_735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 736: x<-M+N+T+U #define ACTION_736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 737: x<-M+N+T+V #define ACTION_737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 738: x<-M+N+T+W #define ACTION_738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 739: x<-M+N+U+V #define ACTION_739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 740: x<-M+N+U+W #define ACTION_740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 741: x<-M+N+V+W #define ACTION_741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 742: x<-M+O+P+Q #define ACTION_742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 743: x<-M+O+P+R #define ACTION_743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 744: x<-M+O+P+T #define ACTION_744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 745: x<-M+O+P+U #define ACTION_745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 746: x<-M+O+P+V #define ACTION_746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 747: x<-M+O+P+W #define ACTION_747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 748: x<-M+O+Q+R #define ACTION_748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 749: x<-M+O+Q+S #define ACTION_749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 750: x<-M+O+Q+T #define ACTION_750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 751: x<-M+O+Q+U #define ACTION_751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 752: x<-M+O+Q+V #define ACTION_752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 753: x<-M+O+Q+W #define ACTION_753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 754: x<-M+O+R+S #define ACTION_754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 755: x<-M+O+R+T #define ACTION_755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 756: x<-M+O+R+U #define ACTION_756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 757: x<-M+O+R+V #define ACTION_757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 758: x<-M+O+R+W #define ACTION_758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 759: x<-M+O+S+T #define ACTION_759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 760: x<-M+O+S+U #define ACTION_760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 761: x<-M+O+S+V #define ACTION_761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 762: x<-M+O+S+W #define ACTION_762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 763: x<-M+O+T+U #define ACTION_763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 764: x<-M+O+T+V #define ACTION_764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 765: x<-M+O+T+W #define ACTION_765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 766: x<-M+O+U+V #define ACTION_766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 767: x<-M+O+U+W #define ACTION_767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 768: x<-M+O+V+W #define ACTION_768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 769: x<-M+P+Q+T #define ACTION_769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 770: x<-M+P+Q+U #define ACTION_770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 771: x<-M+P+Q+V #define ACTION_771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 772: x<-M+P+Q+W #define ACTION_772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 773: x<-M+P+R+T #define ACTION_773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 774: x<-M+P+R+U #define ACTION_774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 775: x<-M+P+R+V #define ACTION_775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 776: x<-M+P+R+W #define ACTION_776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 777: x<-M+P+T+U #define ACTION_777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 778: x<-M+P+T+V #define ACTION_778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 779: x<-M+P+T+W #define ACTION_779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 780: x<-M+P+U+V #define ACTION_780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 781: x<-M+P+U+W #define ACTION_781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 782: x<-M+P+V+W #define ACTION_782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 783: x<-M+Q+R+T #define ACTION_783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 784: x<-M+Q+R+U #define ACTION_784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 785: x<-M+Q+R+V #define ACTION_785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 786: x<-M+Q+R+W #define ACTION_786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 787: x<-M+Q+S+T #define ACTION_787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 788: x<-M+Q+S+U #define ACTION_788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 789: x<-M+Q+S+V #define ACTION_789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 790: x<-M+Q+S+W #define ACTION_790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 791: x<-M+Q+T+U #define ACTION_791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 792: x<-M+Q+T+V #define ACTION_792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 793: x<-M+Q+T+W #define ACTION_793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 794: x<-M+Q+U+V #define ACTION_794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 795: x<-M+Q+U+W #define ACTION_795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 796: x<-M+Q+V+W #define ACTION_796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 797: x<-M+R+S+T #define ACTION_797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 798: x<-M+R+S+U #define ACTION_798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 799: x<-M+R+S+V #define ACTION_799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 800: x<-M+R+S+W #define ACTION_800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 801: x<-M+R+T+U #define ACTION_801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 802: x<-M+R+T+V #define ACTION_802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 803: x<-M+R+T+W #define ACTION_803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 804: x<-M+R+U+V #define ACTION_804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 805: x<-M+R+U+W #define ACTION_805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 806: x<-M+R+V+W #define ACTION_806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 807: x<-M+S+T+U #define ACTION_807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 808: x<-M+S+T+V #define ACTION_808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 809: x<-M+S+T+W #define ACTION_809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 810: x<-M+S+U+V #define ACTION_810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 811: x<-M+S+U+W #define ACTION_811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 812: x<-M+S+V+W #define ACTION_812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 813: x<-M+T+U+W #define ACTION_813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 814: x<-M+T+V+W #define ACTION_814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 815: x<-M+U+V+W #define ACTION_815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 816: x<-N+O+Q+R #define ACTION_816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 817: x<-N+O+Q+S #define ACTION_817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 818: x<-N+O+Q+T #define ACTION_818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 819: x<-N+O+Q+U #define ACTION_819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 820: x<-N+O+Q+V #define ACTION_820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 821: x<-N+O+Q+W #define ACTION_821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 822: x<-N+O+R+S #define ACTION_822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 823: x<-N+O+R+T #define ACTION_823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 824: x<-N+O+R+U #define ACTION_824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 825: x<-N+O+R+V #define ACTION_825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 826: x<-N+O+R+W #define ACTION_826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 827: x<-N+O+S+T #define ACTION_827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 828: x<-N+O+S+U #define ACTION_828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 829: x<-N+O+S+V #define ACTION_829 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 830: x<-N+O+S+W #define ACTION_830 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 831: x<-N+O+T+U #define ACTION_831 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 832: x<-N+O+T+V #define ACTION_832 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 833: x<-N+O+T+W #define ACTION_833 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 834: x<-N+O+U+V #define ACTION_834 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 835: x<-N+O+U+W #define ACTION_835 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 836: x<-N+O+V+W #define ACTION_836 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 837: x<-N+P+Q+R #define ACTION_837 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 838: x<-N+P+Q+S #define ACTION_838 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 839: x<-N+P+Q+T #define ACTION_839 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 840: x<-N+P+Q+U #define ACTION_840 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 841: x<-N+P+Q+V #define ACTION_841 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 842: x<-N+P+Q+W #define ACTION_842 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 843: x<-N+P+R+S #define ACTION_843 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 844: x<-N+P+R+T #define ACTION_844 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 845: x<-N+P+R+U #define ACTION_845 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 846: x<-N+P+R+V #define ACTION_846 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 847: x<-N+P+R+W #define ACTION_847 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 848: x<-N+P+S+T #define ACTION_848 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 849: x<-N+P+S+U #define ACTION_849 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 850: x<-N+P+S+V #define ACTION_850 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 851: x<-N+P+S+W #define ACTION_851 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 852: x<-N+P+T+U #define ACTION_852 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 853: x<-N+P+T+V #define ACTION_853 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 854: x<-N+P+T+W #define ACTION_854 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 855: x<-N+P+U+V #define ACTION_855 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 856: x<-N+P+U+W #define ACTION_856 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 857: x<-N+P+V+W #define ACTION_857 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 858: x<-N+Q+R+T #define ACTION_858 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 859: x<-N+Q+R+U #define ACTION_859 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 860: x<-N+Q+R+V #define ACTION_860 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 861: x<-N+Q+R+W #define ACTION_861 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 862: x<-N+Q+S+T #define ACTION_862 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 863: x<-N+Q+S+U #define ACTION_863 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 864: x<-N+Q+S+V #define ACTION_864 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 865: x<-N+Q+S+W #define ACTION_865 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 866: x<-N+Q+T+U #define ACTION_866 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 867: x<-N+Q+T+V #define ACTION_867 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 868: x<-N+Q+T+W #define ACTION_868 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 869: x<-N+Q+U+V #define ACTION_869 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 870: x<-N+Q+U+W #define ACTION_870 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 871: x<-N+Q+V+W #define ACTION_871 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 872: x<-N+R+S+T #define ACTION_872 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 873: x<-N+R+S+U #define ACTION_873 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 874: x<-N+R+S+V #define ACTION_874 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 875: x<-N+R+S+W #define ACTION_875 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 876: x<-N+R+T+U #define ACTION_876 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 877: x<-N+R+T+V #define ACTION_877 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 878: x<-N+R+T+W #define ACTION_878 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 879: x<-N+R+U+V #define ACTION_879 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 880: x<-N+R+U+W #define ACTION_880 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 881: x<-N+R+V+W #define ACTION_881 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 882: x<-N+S+T+U #define ACTION_882 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 883: x<-N+S+T+V #define ACTION_883 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 884: x<-N+S+T+W #define ACTION_884 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 885: x<-N+S+U+V #define ACTION_885 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 886: x<-N+S+U+W #define ACTION_886 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 887: x<-N+S+V+W #define ACTION_887 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 888: x<-N+T+U+W #define ACTION_888 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 889: x<-N+T+V+W #define ACTION_889 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 890: x<-N+U+V+W #define ACTION_890 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 891: x<-O+P+Q+R #define ACTION_891 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 892: x<-O+P+Q+S #define ACTION_892 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 893: x<-O+P+Q+T #define ACTION_893 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 894: x<-O+P+Q+U #define ACTION_894 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 895: x<-O+P+Q+V #define ACTION_895 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 896: x<-O+P+Q+W #define ACTION_896 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 897: x<-O+P+R+S #define ACTION_897 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 898: x<-O+P+R+T #define ACTION_898 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 899: x<-O+P+R+U #define ACTION_899 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 900: x<-O+P+R+V #define ACTION_900 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 901: x<-O+P+R+W #define ACTION_901 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 902: x<-O+P+S+T #define ACTION_902 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 903: x<-O+P+S+U #define ACTION_903 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 904: x<-O+P+S+V #define ACTION_904 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 905: x<-O+P+S+W #define ACTION_905 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 906: x<-O+P+T+U #define ACTION_906 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 907: x<-O+P+T+V #define ACTION_907 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 908: x<-O+P+T+W #define ACTION_908 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 909: x<-O+P+U+V #define ACTION_909 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 910: x<-O+P+U+W #define ACTION_910 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 911: x<-O+P+V+W #define ACTION_911 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 912: x<-O+Q+R+T #define ACTION_912 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 913: x<-O+Q+R+U #define ACTION_913 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 914: x<-O+Q+R+V #define ACTION_914 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 915: x<-O+Q+R+W #define ACTION_915 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 916: x<-O+Q+S+T #define ACTION_916 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 917: x<-O+Q+S+U #define ACTION_917 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 918: x<-O+Q+S+V #define ACTION_918 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 919: x<-O+Q+S+W #define ACTION_919 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 920: x<-O+Q+T+U #define ACTION_920 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 921: x<-O+Q+T+V #define ACTION_921 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 922: x<-O+Q+T+W #define ACTION_922 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 923: x<-O+Q+U+V #define ACTION_923 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 924: x<-O+Q+U+W #define ACTION_924 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 925: x<-O+Q+V+W #define ACTION_925 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 926: x<-O+R+S+T #define ACTION_926 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 927: x<-O+R+S+U #define ACTION_927 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 928: x<-O+R+S+V #define ACTION_928 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 929: x<-O+R+S+W #define ACTION_929 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 930: x<-O+R+T+U #define ACTION_930 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 931: x<-O+R+T+V #define ACTION_931 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 932: x<-O+R+T+W #define ACTION_932 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 933: x<-O+R+U+V #define ACTION_933 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 934: x<-O+R+U+W #define ACTION_934 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 935: x<-O+R+V+W #define ACTION_935 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 936: x<-O+S+T+U #define ACTION_936 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 937: x<-O+S+T+V #define ACTION_937 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 938: x<-O+S+T+W #define ACTION_938 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 939: x<-O+S+U+V #define ACTION_939 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 940: x<-O+S+U+W #define ACTION_940 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 941: x<-O+S+V+W #define ACTION_941 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 942: x<-O+T+U+W #define ACTION_942 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 943: x<-O+T+V+W #define ACTION_943 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 944: x<-O+U+V+W #define ACTION_944 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 945: x<-P+Q+R+T #define ACTION_945 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 946: x<-P+Q+R+U #define ACTION_946 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 947: x<-P+Q+R+V #define ACTION_947 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 948: x<-P+Q+R+W #define ACTION_948 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 949: x<-P+Q+S+T #define ACTION_949 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 950: x<-P+Q+S+U #define ACTION_950 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 951: x<-P+Q+S+V #define ACTION_951 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 952: x<-P+Q+S+W #define ACTION_952 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 953: x<-P+Q+T+U #define ACTION_953 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 954: x<-P+Q+T+V #define ACTION_954 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 955: x<-P+Q+T+W #define ACTION_955 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 956: x<-P+Q+U+V #define ACTION_956 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 957: x<-P+Q+U+W #define ACTION_957 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 958: x<-P+Q+V+W #define ACTION_958 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 959: x<-P+R+S+T #define ACTION_959 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 960: x<-P+R+S+U #define ACTION_960 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 961: x<-P+R+S+V #define ACTION_961 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 962: x<-P+R+S+W #define ACTION_962 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 963: x<-P+R+T+U #define ACTION_963 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 964: x<-P+R+T+V #define ACTION_964 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 965: x<-P+R+T+W #define ACTION_965 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 966: x<-P+R+U+V #define ACTION_966 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 967: x<-P+R+U+W #define ACTION_967 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 968: x<-P+R+V+W #define ACTION_968 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 969: x<-P+S+T+U #define ACTION_969 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 970: x<-P+S+T+V #define ACTION_970 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 971: x<-P+S+T+W #define ACTION_971 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 972: x<-P+S+U+V #define ACTION_972 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 973: x<-P+S+U+W #define ACTION_973 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 974: x<-P+S+V+W #define ACTION_974 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 975: x<-P+T+U+W #define ACTION_975 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 976: x<-P+T+V+W #define ACTION_976 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 977: x<-P+U+V+W #define ACTION_977 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 978: x<-Q+R+T+U #define ACTION_978 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 979: x<-Q+R+T+V #define ACTION_979 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 980: x<-Q+R+T+W #define ACTION_980 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 981: x<-Q+R+U+V #define ACTION_981 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 982: x<-Q+R+U+W #define ACTION_982 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 983: x<-Q+R+V+W #define ACTION_983 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 984: x<-Q+S+T+U #define ACTION_984 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 985: x<-Q+S+T+V #define ACTION_985 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 986: x<-Q+S+T+W #define ACTION_986 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 987: x<-Q+S+U+V #define ACTION_987 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 988: x<-Q+S+U+W #define ACTION_988 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 989: x<-Q+S+V+W #define ACTION_989 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 990: x<-Q+T+U+W #define ACTION_990 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 991: x<-Q+T+V+W #define ACTION_991 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 992: x<-Q+U+V+W #define ACTION_992 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 993: x<-R+S+T+U #define ACTION_993 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 994: x<-R+S+T+V #define ACTION_994 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 995: x<-R+S+T+W #define ACTION_995 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 996: x<-R+S+U+V #define ACTION_996 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 997: x<-R+S+U+W #define ACTION_997 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 998: x<-R+S+V+W #define ACTION_998 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 999: x<-R+T+U+W #define ACTION_999 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)));continue; // Action 1000: x<-R+T+V+W #define ACTION_1000 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)));continue; // Action 1001: x<-R+U+V+W #define ACTION_1001 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)));continue; // Action 1002: x<-S+T+U+W #define ACTION_1002 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1003: x<-S+T+V+W #define ACTION_1003 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1004: x<-S+U+V+W #define ACTION_1004 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1005: x<-K+L+N+O+T #define ACTION_1005 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1006: x<-K+L+N+O+U #define ACTION_1006 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1007: x<-K+L+N+O+V #define ACTION_1007 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1008: x<-K+L+N+O+W #define ACTION_1008 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1009: x<-K+L+N+P+T #define ACTION_1009 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1010: x<-K+L+N+P+U #define ACTION_1010 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1011: x<-K+L+N+P+V #define ACTION_1011 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1012: x<-K+L+N+P+W #define ACTION_1012 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1013: x<-K+L+N+R+T #define ACTION_1013 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1014: x<-K+L+N+R+U #define ACTION_1014 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1015: x<-K+L+N+R+V #define ACTION_1015 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1016: x<-K+L+N+R+W #define ACTION_1016 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1017: x<-K+L+N+S+T #define ACTION_1017 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1018: x<-K+L+N+S+U #define ACTION_1018 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1019: x<-K+L+N+S+V #define ACTION_1019 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1020: x<-K+L+N+S+W #define ACTION_1020 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1021: x<-K+L+N+T+U #define ACTION_1021 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1022: x<-K+L+N+T+V #define ACTION_1022 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1023: x<-K+L+N+T+W #define ACTION_1023 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1024: x<-K+L+N+U+V #define ACTION_1024 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1025: x<-K+L+N+U+W #define ACTION_1025 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1026: x<-K+L+N+V+W #define ACTION_1026 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1027: x<-K+L+O+P+T #define ACTION_1027 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1028: x<-K+L+O+P+U #define ACTION_1028 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1029: x<-K+L+O+P+V #define ACTION_1029 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1030: x<-K+L+O+P+W #define ACTION_1030 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1031: x<-K+L+O+Q+T #define ACTION_1031 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1032: x<-K+L+O+Q+U #define ACTION_1032 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1033: x<-K+L+O+Q+V #define ACTION_1033 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1034: x<-K+L+O+Q+W #define ACTION_1034 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1035: x<-K+L+O+S+T #define ACTION_1035 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1036: x<-K+L+O+S+U #define ACTION_1036 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1037: x<-K+L+O+S+V #define ACTION_1037 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1038: x<-K+L+O+S+W #define ACTION_1038 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1039: x<-K+L+O+T+U #define ACTION_1039 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1040: x<-K+L+O+T+V #define ACTION_1040 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1041: x<-K+L+O+T+W #define ACTION_1041 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1042: x<-K+L+O+U+V #define ACTION_1042 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1043: x<-K+L+O+U+W #define ACTION_1043 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1044: x<-K+L+O+V+W #define ACTION_1044 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1045: x<-K+L+P+Q+T #define ACTION_1045 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1046: x<-K+L+P+Q+U #define ACTION_1046 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1047: x<-K+L+P+Q+V #define ACTION_1047 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1048: x<-K+L+P+Q+W #define ACTION_1048 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1049: x<-K+L+P+R+T #define ACTION_1049 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1050: x<-K+L+P+R+U #define ACTION_1050 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1051: x<-K+L+P+R+V #define ACTION_1051 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1052: x<-K+L+P+R+W #define ACTION_1052 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1053: x<-K+L+P+T+U #define ACTION_1053 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1054: x<-K+L+P+T+V #define ACTION_1054 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1055: x<-K+L+P+T+W #define ACTION_1055 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1056: x<-K+L+P+U+V #define ACTION_1056 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1057: x<-K+L+P+U+W #define ACTION_1057 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1058: x<-K+L+P+V+W #define ACTION_1058 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1059: x<-K+L+Q+R+T #define ACTION_1059 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1060: x<-K+L+Q+R+U #define ACTION_1060 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1061: x<-K+L+Q+R+V #define ACTION_1061 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1062: x<-K+L+Q+R+W #define ACTION_1062 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1063: x<-K+L+Q+S+T #define ACTION_1063 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1064: x<-K+L+Q+S+U #define ACTION_1064 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1065: x<-K+L+Q+S+V #define ACTION_1065 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1066: x<-K+L+Q+S+W #define ACTION_1066 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1067: x<-K+L+Q+T+U #define ACTION_1067 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1068: x<-K+L+Q+T+V #define ACTION_1068 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1069: x<-K+L+Q+T+W #define ACTION_1069 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1070: x<-K+L+Q+U+V #define ACTION_1070 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1071: x<-K+L+Q+U+W #define ACTION_1071 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1072: x<-K+L+Q+V+W #define ACTION_1072 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1073: x<-K+L+R+S+T #define ACTION_1073 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1074: x<-K+L+R+S+U #define ACTION_1074 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1075: x<-K+L+R+S+V #define ACTION_1075 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1076: x<-K+L+R+S+W #define ACTION_1076 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1077: x<-K+L+R+T+U #define ACTION_1077 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1078: x<-K+L+R+T+V #define ACTION_1078 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1079: x<-K+L+R+T+W #define ACTION_1079 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1080: x<-K+L+R+U+V #define ACTION_1080 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1081: x<-K+L+R+U+W #define ACTION_1081 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1082: x<-K+L+R+V+W #define ACTION_1082 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1083: x<-K+L+S+T+U #define ACTION_1083 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1084: x<-K+L+S+T+V #define ACTION_1084 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1085: x<-K+L+S+T+W #define ACTION_1085 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1086: x<-K+L+S+U+V #define ACTION_1086 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1087: x<-K+L+S+U+W #define ACTION_1087 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1088: x<-K+L+S+V+W #define ACTION_1088 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1089: x<-K+L+T+U+W #define ACTION_1089 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1090: x<-K+L+T+V+W #define ACTION_1090 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1091: x<-K+L+U+V+W #define ACTION_1091 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1092: x<-K+M+N+O+T #define ACTION_1092 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1093: x<-K+M+N+O+U #define ACTION_1093 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1094: x<-K+M+N+O+V #define ACTION_1094 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1095: x<-K+M+N+O+W #define ACTION_1095 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1096: x<-K+M+N+P+T #define ACTION_1096 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1097: x<-K+M+N+P+U #define ACTION_1097 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1098: x<-K+M+N+P+V #define ACTION_1098 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1099: x<-K+M+N+P+W #define ACTION_1099 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1100: x<-K+M+N+R+T #define ACTION_1100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1101: x<-K+M+N+R+U #define ACTION_1101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1102: x<-K+M+N+R+V #define ACTION_1102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1103: x<-K+M+N+R+W #define ACTION_1103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1104: x<-K+M+N+S+T #define ACTION_1104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1105: x<-K+M+N+S+U #define ACTION_1105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1106: x<-K+M+N+S+V #define ACTION_1106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1107: x<-K+M+N+S+W #define ACTION_1107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1108: x<-K+M+N+T+U #define ACTION_1108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1109: x<-K+M+N+T+V #define ACTION_1109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1110: x<-K+M+N+T+W #define ACTION_1110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1111: x<-K+M+N+U+V #define ACTION_1111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1112: x<-K+M+N+U+W #define ACTION_1112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1113: x<-K+M+N+V+W #define ACTION_1113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1114: x<-K+M+O+P+T #define ACTION_1114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1115: x<-K+M+O+P+U #define ACTION_1115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1116: x<-K+M+O+P+V #define ACTION_1116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1117: x<-K+M+O+P+W #define ACTION_1117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1118: x<-K+M+O+Q+T #define ACTION_1118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1119: x<-K+M+O+Q+U #define ACTION_1119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1120: x<-K+M+O+Q+V #define ACTION_1120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1121: x<-K+M+O+Q+W #define ACTION_1121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1122: x<-K+M+O+S+T #define ACTION_1122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1123: x<-K+M+O+S+U #define ACTION_1123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1124: x<-K+M+O+S+V #define ACTION_1124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1125: x<-K+M+O+S+W #define ACTION_1125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1126: x<-K+M+O+T+U #define ACTION_1126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1127: x<-K+M+O+T+V #define ACTION_1127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1128: x<-K+M+O+T+W #define ACTION_1128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1129: x<-K+M+O+U+V #define ACTION_1129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1130: x<-K+M+O+U+W #define ACTION_1130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1131: x<-K+M+O+V+W #define ACTION_1131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1132: x<-K+M+P+Q+T #define ACTION_1132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1133: x<-K+M+P+Q+U #define ACTION_1133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1134: x<-K+M+P+Q+V #define ACTION_1134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1135: x<-K+M+P+Q+W #define ACTION_1135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1136: x<-K+M+P+R+T #define ACTION_1136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1137: x<-K+M+P+R+U #define ACTION_1137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1138: x<-K+M+P+R+V #define ACTION_1138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1139: x<-K+M+P+R+W #define ACTION_1139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1140: x<-K+M+P+T+U #define ACTION_1140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1141: x<-K+M+P+T+V #define ACTION_1141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1142: x<-K+M+P+T+W #define ACTION_1142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1143: x<-K+M+P+U+V #define ACTION_1143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1144: x<-K+M+P+U+W #define ACTION_1144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1145: x<-K+M+P+V+W #define ACTION_1145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1146: x<-K+M+Q+R+T #define ACTION_1146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1147: x<-K+M+Q+R+U #define ACTION_1147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1148: x<-K+M+Q+R+V #define ACTION_1148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1149: x<-K+M+Q+R+W #define ACTION_1149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1150: x<-K+M+Q+S+T #define ACTION_1150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1151: x<-K+M+Q+S+U #define ACTION_1151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1152: x<-K+M+Q+S+V #define ACTION_1152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1153: x<-K+M+Q+S+W #define ACTION_1153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1154: x<-K+M+Q+T+U #define ACTION_1154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1155: x<-K+M+Q+T+V #define ACTION_1155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1156: x<-K+M+Q+T+W #define ACTION_1156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1157: x<-K+M+Q+U+V #define ACTION_1157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1158: x<-K+M+Q+U+W #define ACTION_1158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1159: x<-K+M+Q+V+W #define ACTION_1159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1160: x<-K+M+R+S+T #define ACTION_1160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1161: x<-K+M+R+S+U #define ACTION_1161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1162: x<-K+M+R+S+V #define ACTION_1162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1163: x<-K+M+R+S+W #define ACTION_1163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1164: x<-K+M+R+T+U #define ACTION_1164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1165: x<-K+M+R+T+V #define ACTION_1165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1166: x<-K+M+R+T+W #define ACTION_1166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1167: x<-K+M+R+U+V #define ACTION_1167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1168: x<-K+M+R+U+W #define ACTION_1168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1169: x<-K+M+R+V+W #define ACTION_1169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1170: x<-K+M+S+T+U #define ACTION_1170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1171: x<-K+M+S+T+V #define ACTION_1171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1172: x<-K+M+S+T+W #define ACTION_1172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1173: x<-K+M+S+U+V #define ACTION_1173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1174: x<-K+M+S+U+W #define ACTION_1174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1175: x<-K+M+S+V+W #define ACTION_1175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1176: x<-K+M+T+U+W #define ACTION_1176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1177: x<-K+M+T+V+W #define ACTION_1177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1178: x<-K+M+U+V+W #define ACTION_1178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1179: x<-K+N+O+R+T #define ACTION_1179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1180: x<-K+N+O+R+U #define ACTION_1180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1181: x<-K+N+O+R+V #define ACTION_1181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1182: x<-K+N+O+R+W #define ACTION_1182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1183: x<-K+N+O+S+T #define ACTION_1183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1184: x<-K+N+O+S+U #define ACTION_1184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1185: x<-K+N+O+S+V #define ACTION_1185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1186: x<-K+N+O+S+W #define ACTION_1186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1187: x<-K+N+O+T+U #define ACTION_1187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1188: x<-K+N+O+T+V #define ACTION_1188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1189: x<-K+N+O+T+W #define ACTION_1189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1190: x<-K+N+O+U+V #define ACTION_1190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1191: x<-K+N+O+U+W #define ACTION_1191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1192: x<-K+N+O+V+W #define ACTION_1192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1193: x<-K+N+P+R+T #define ACTION_1193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1194: x<-K+N+P+R+U #define ACTION_1194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1195: x<-K+N+P+R+V #define ACTION_1195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1196: x<-K+N+P+R+W #define ACTION_1196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1197: x<-K+N+P+S+T #define ACTION_1197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1198: x<-K+N+P+S+U #define ACTION_1198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1199: x<-K+N+P+S+V #define ACTION_1199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1200: x<-K+N+P+S+W #define ACTION_1200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1201: x<-K+N+P+T+U #define ACTION_1201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1202: x<-K+N+P+T+V #define ACTION_1202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1203: x<-K+N+P+T+W #define ACTION_1203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1204: x<-K+N+P+U+V #define ACTION_1204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1205: x<-K+N+P+U+W #define ACTION_1205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1206: x<-K+N+P+V+W #define ACTION_1206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1207: x<-K+N+R+T+U #define ACTION_1207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1208: x<-K+N+R+T+V #define ACTION_1208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1209: x<-K+N+R+T+W #define ACTION_1209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1210: x<-K+N+R+U+V #define ACTION_1210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1211: x<-K+N+R+U+W #define ACTION_1211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1212: x<-K+N+R+V+W #define ACTION_1212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1213: x<-K+N+S+T+U #define ACTION_1213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1214: x<-K+N+S+T+V #define ACTION_1214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1215: x<-K+N+S+T+W #define ACTION_1215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1216: x<-K+N+S+U+V #define ACTION_1216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1217: x<-K+N+S+U+W #define ACTION_1217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1218: x<-K+N+S+V+W #define ACTION_1218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1219: x<-K+N+T+U+W #define ACTION_1219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1220: x<-K+N+T+V+W #define ACTION_1220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1221: x<-K+N+U+V+W #define ACTION_1221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1222: x<-K+O+P+S+T #define ACTION_1222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1223: x<-K+O+P+S+U #define ACTION_1223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1224: x<-K+O+P+S+V #define ACTION_1224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1225: x<-K+O+P+S+W #define ACTION_1225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1226: x<-K+O+P+T+U #define ACTION_1226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1227: x<-K+O+P+T+V #define ACTION_1227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1228: x<-K+O+P+T+W #define ACTION_1228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1229: x<-K+O+P+U+V #define ACTION_1229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1230: x<-K+O+P+U+W #define ACTION_1230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1231: x<-K+O+P+V+W #define ACTION_1231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1232: x<-K+O+Q+R+T #define ACTION_1232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1233: x<-K+O+Q+R+U #define ACTION_1233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1234: x<-K+O+Q+R+V #define ACTION_1234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1235: x<-K+O+Q+R+W #define ACTION_1235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1236: x<-K+O+Q+S+T #define ACTION_1236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1237: x<-K+O+Q+S+U #define ACTION_1237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1238: x<-K+O+Q+S+V #define ACTION_1238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1239: x<-K+O+Q+S+W #define ACTION_1239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1240: x<-K+O+Q+T+U #define ACTION_1240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1241: x<-K+O+Q+T+V #define ACTION_1241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1242: x<-K+O+Q+T+W #define ACTION_1242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1243: x<-K+O+Q+U+V #define ACTION_1243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1244: x<-K+O+Q+U+W #define ACTION_1244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1245: x<-K+O+Q+V+W #define ACTION_1245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1246: x<-K+O+R+S+T #define ACTION_1246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1247: x<-K+O+R+S+U #define ACTION_1247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1248: x<-K+O+R+S+V #define ACTION_1248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1249: x<-K+O+R+S+W #define ACTION_1249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1250: x<-K+O+R+T+U #define ACTION_1250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1251: x<-K+O+R+T+V #define ACTION_1251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1252: x<-K+O+R+T+W #define ACTION_1252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1253: x<-K+O+R+U+V #define ACTION_1253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1254: x<-K+O+R+U+W #define ACTION_1254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1255: x<-K+O+R+V+W #define ACTION_1255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1256: x<-K+O+S+T+U #define ACTION_1256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1257: x<-K+O+S+T+V #define ACTION_1257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1258: x<-K+O+S+T+W #define ACTION_1258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1259: x<-K+O+S+U+V #define ACTION_1259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1260: x<-K+O+S+U+W #define ACTION_1260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1261: x<-K+O+S+V+W #define ACTION_1261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1262: x<-K+O+T+U+W #define ACTION_1262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1263: x<-K+O+T+V+W #define ACTION_1263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1264: x<-K+O+U+V+W #define ACTION_1264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1265: x<-K+P+Q+R+T #define ACTION_1265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1266: x<-K+P+Q+R+U #define ACTION_1266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1267: x<-K+P+Q+R+V #define ACTION_1267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1268: x<-K+P+Q+R+W #define ACTION_1268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1269: x<-K+P+Q+S+T #define ACTION_1269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1270: x<-K+P+Q+S+U #define ACTION_1270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1271: x<-K+P+Q+S+V #define ACTION_1271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1272: x<-K+P+Q+S+W #define ACTION_1272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1273: x<-K+P+Q+T+U #define ACTION_1273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1274: x<-K+P+Q+T+V #define ACTION_1274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1275: x<-K+P+Q+T+W #define ACTION_1275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1276: x<-K+P+Q+U+V #define ACTION_1276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1277: x<-K+P+Q+U+W #define ACTION_1277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1278: x<-K+P+Q+V+W #define ACTION_1278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1279: x<-K+P+R+S+T #define ACTION_1279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1280: x<-K+P+R+S+U #define ACTION_1280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1281: x<-K+P+R+S+V #define ACTION_1281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1282: x<-K+P+R+S+W #define ACTION_1282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1283: x<-K+P+R+T+U #define ACTION_1283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1284: x<-K+P+R+T+V #define ACTION_1284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1285: x<-K+P+R+T+W #define ACTION_1285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1286: x<-K+P+R+U+V #define ACTION_1286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1287: x<-K+P+R+U+W #define ACTION_1287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1288: x<-K+P+R+V+W #define ACTION_1288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1289: x<-K+P+S+T+U #define ACTION_1289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1290: x<-K+P+S+T+V #define ACTION_1290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1291: x<-K+P+S+T+W #define ACTION_1291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1292: x<-K+P+S+U+V #define ACTION_1292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1293: x<-K+P+S+U+W #define ACTION_1293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1294: x<-K+P+S+V+W #define ACTION_1294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1295: x<-K+P+T+U+W #define ACTION_1295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1296: x<-K+P+T+V+W #define ACTION_1296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1297: x<-K+P+U+V+W #define ACTION_1297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1298: x<-K+Q+R+T+U #define ACTION_1298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1299: x<-K+Q+R+T+V #define ACTION_1299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1300: x<-K+Q+R+T+W #define ACTION_1300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1301: x<-K+Q+R+U+V #define ACTION_1301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1302: x<-K+Q+R+U+W #define ACTION_1302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1303: x<-K+Q+R+V+W #define ACTION_1303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1304: x<-K+Q+S+T+U #define ACTION_1304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1305: x<-K+Q+S+T+V #define ACTION_1305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1306: x<-K+Q+S+T+W #define ACTION_1306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1307: x<-K+Q+S+U+V #define ACTION_1307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1308: x<-K+Q+S+U+W #define ACTION_1308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1309: x<-K+Q+S+V+W #define ACTION_1309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1310: x<-K+Q+T+U+W #define ACTION_1310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1311: x<-K+Q+T+V+W #define ACTION_1311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1312: x<-K+Q+U+V+W #define ACTION_1312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1313: x<-K+R+S+T+U #define ACTION_1313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1314: x<-K+R+S+T+V #define ACTION_1314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1315: x<-K+R+S+T+W #define ACTION_1315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1316: x<-K+R+S+U+V #define ACTION_1316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1317: x<-K+R+S+U+W #define ACTION_1317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1318: x<-K+R+S+V+W #define ACTION_1318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1319: x<-K+R+T+U+W #define ACTION_1319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1320: x<-K+R+T+V+W #define ACTION_1320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1321: x<-K+R+U+V+W #define ACTION_1321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1322: x<-K+S+T+U+W #define ACTION_1322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1323: x<-K+S+T+V+W #define ACTION_1323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1324: x<-K+S+U+V+W #define ACTION_1324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1325: x<-L+M+N+O+T #define ACTION_1325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1326: x<-L+M+N+O+U #define ACTION_1326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1327: x<-L+M+N+O+V #define ACTION_1327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1328: x<-L+M+N+O+W #define ACTION_1328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1329: x<-L+M+N+P+T #define ACTION_1329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1330: x<-L+M+N+P+U #define ACTION_1330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1331: x<-L+M+N+P+V #define ACTION_1331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1332: x<-L+M+N+P+W #define ACTION_1332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1333: x<-L+M+N+R+T #define ACTION_1333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1334: x<-L+M+N+R+U #define ACTION_1334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1335: x<-L+M+N+R+V #define ACTION_1335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1336: x<-L+M+N+R+W #define ACTION_1336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1337: x<-L+M+N+S+T #define ACTION_1337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1338: x<-L+M+N+S+U #define ACTION_1338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1339: x<-L+M+N+S+V #define ACTION_1339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1340: x<-L+M+N+S+W #define ACTION_1340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1341: x<-L+M+N+T+U #define ACTION_1341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1342: x<-L+M+N+T+V #define ACTION_1342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1343: x<-L+M+N+T+W #define ACTION_1343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1344: x<-L+M+N+U+V #define ACTION_1344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1345: x<-L+M+N+U+W #define ACTION_1345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1346: x<-L+M+N+V+W #define ACTION_1346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1347: x<-L+M+O+P+T #define ACTION_1347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1348: x<-L+M+O+P+U #define ACTION_1348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1349: x<-L+M+O+P+V #define ACTION_1349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1350: x<-L+M+O+P+W #define ACTION_1350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1351: x<-L+M+O+Q+T #define ACTION_1351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1352: x<-L+M+O+Q+U #define ACTION_1352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1353: x<-L+M+O+Q+V #define ACTION_1353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1354: x<-L+M+O+Q+W #define ACTION_1354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1355: x<-L+M+O+S+T #define ACTION_1355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1356: x<-L+M+O+S+U #define ACTION_1356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1357: x<-L+M+O+S+V #define ACTION_1357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1358: x<-L+M+O+S+W #define ACTION_1358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1359: x<-L+M+O+T+U #define ACTION_1359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1360: x<-L+M+O+T+V #define ACTION_1360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1361: x<-L+M+O+T+W #define ACTION_1361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1362: x<-L+M+O+U+V #define ACTION_1362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1363: x<-L+M+O+U+W #define ACTION_1363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1364: x<-L+M+O+V+W #define ACTION_1364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1365: x<-L+M+P+Q+T #define ACTION_1365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1366: x<-L+M+P+Q+U #define ACTION_1366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1367: x<-L+M+P+Q+V #define ACTION_1367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1368: x<-L+M+P+Q+W #define ACTION_1368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1369: x<-L+M+P+R+T #define ACTION_1369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1370: x<-L+M+P+R+U #define ACTION_1370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1371: x<-L+M+P+R+V #define ACTION_1371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1372: x<-L+M+P+R+W #define ACTION_1372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1373: x<-L+M+P+T+U #define ACTION_1373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1374: x<-L+M+P+T+V #define ACTION_1374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1375: x<-L+M+P+T+W #define ACTION_1375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1376: x<-L+M+P+U+V #define ACTION_1376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1377: x<-L+M+P+U+W #define ACTION_1377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1378: x<-L+M+P+V+W #define ACTION_1378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1379: x<-L+M+Q+R+T #define ACTION_1379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1380: x<-L+M+Q+R+U #define ACTION_1380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1381: x<-L+M+Q+R+V #define ACTION_1381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1382: x<-L+M+Q+R+W #define ACTION_1382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1383: x<-L+M+Q+S+T #define ACTION_1383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1384: x<-L+M+Q+S+U #define ACTION_1384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1385: x<-L+M+Q+S+V #define ACTION_1385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1386: x<-L+M+Q+S+W #define ACTION_1386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1387: x<-L+M+Q+T+U #define ACTION_1387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1388: x<-L+M+Q+T+V #define ACTION_1388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1389: x<-L+M+Q+T+W #define ACTION_1389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1390: x<-L+M+Q+U+V #define ACTION_1390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1391: x<-L+M+Q+U+W #define ACTION_1391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1392: x<-L+M+Q+V+W #define ACTION_1392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1393: x<-L+M+R+S+T #define ACTION_1393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1394: x<-L+M+R+S+U #define ACTION_1394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1395: x<-L+M+R+S+V #define ACTION_1395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1396: x<-L+M+R+S+W #define ACTION_1396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1397: x<-L+M+R+T+U #define ACTION_1397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1398: x<-L+M+R+T+V #define ACTION_1398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1399: x<-L+M+R+T+W #define ACTION_1399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1400: x<-L+M+R+U+V #define ACTION_1400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1401: x<-L+M+R+U+W #define ACTION_1401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1402: x<-L+M+R+V+W #define ACTION_1402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1403: x<-L+M+S+T+U #define ACTION_1403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1404: x<-L+M+S+T+V #define ACTION_1404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1405: x<-L+M+S+T+W #define ACTION_1405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1406: x<-L+M+S+U+V #define ACTION_1406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1407: x<-L+M+S+U+W #define ACTION_1407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1408: x<-L+M+S+V+W #define ACTION_1408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1409: x<-L+M+T+U+W #define ACTION_1409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1410: x<-L+M+T+V+W #define ACTION_1410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1411: x<-L+M+U+V+W #define ACTION_1411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1412: x<-L+N+O+Q+T #define ACTION_1412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1413: x<-L+N+O+Q+U #define ACTION_1413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1414: x<-L+N+O+Q+V #define ACTION_1414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1415: x<-L+N+O+Q+W #define ACTION_1415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1416: x<-L+N+O+T+U #define ACTION_1416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1417: x<-L+N+O+T+V #define ACTION_1417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1418: x<-L+N+O+T+W #define ACTION_1418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1419: x<-L+N+O+U+V #define ACTION_1419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1420: x<-L+N+O+U+W #define ACTION_1420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1421: x<-L+N+O+V+W #define ACTION_1421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1422: x<-L+N+P+Q+T #define ACTION_1422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1423: x<-L+N+P+Q+U #define ACTION_1423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1424: x<-L+N+P+Q+V #define ACTION_1424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1425: x<-L+N+P+Q+W #define ACTION_1425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1426: x<-L+N+P+R+T #define ACTION_1426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1427: x<-L+N+P+R+U #define ACTION_1427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1428: x<-L+N+P+R+V #define ACTION_1428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1429: x<-L+N+P+R+W #define ACTION_1429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1430: x<-L+N+P+S+T #define ACTION_1430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1431: x<-L+N+P+S+U #define ACTION_1431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1432: x<-L+N+P+S+V #define ACTION_1432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1433: x<-L+N+P+S+W #define ACTION_1433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1434: x<-L+N+P+T+U #define ACTION_1434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1435: x<-L+N+P+T+V #define ACTION_1435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1436: x<-L+N+P+T+W #define ACTION_1436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1437: x<-L+N+P+U+V #define ACTION_1437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1438: x<-L+N+P+U+W #define ACTION_1438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1439: x<-L+N+P+V+W #define ACTION_1439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1440: x<-L+N+Q+R+T #define ACTION_1440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1441: x<-L+N+Q+R+U #define ACTION_1441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1442: x<-L+N+Q+R+V #define ACTION_1442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1443: x<-L+N+Q+R+W #define ACTION_1443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1444: x<-L+N+Q+S+T #define ACTION_1444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1445: x<-L+N+Q+S+U #define ACTION_1445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1446: x<-L+N+Q+S+V #define ACTION_1446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1447: x<-L+N+Q+S+W #define ACTION_1447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1448: x<-L+N+Q+T+U #define ACTION_1448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1449: x<-L+N+Q+T+V #define ACTION_1449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1450: x<-L+N+Q+T+W #define ACTION_1450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1451: x<-L+N+Q+U+V #define ACTION_1451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1452: x<-L+N+Q+U+W #define ACTION_1452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1453: x<-L+N+Q+V+W #define ACTION_1453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1454: x<-L+N+R+S+T #define ACTION_1454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1455: x<-L+N+R+S+U #define ACTION_1455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1456: x<-L+N+R+S+V #define ACTION_1456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1457: x<-L+N+R+S+W #define ACTION_1457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1458: x<-L+N+R+T+U #define ACTION_1458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1459: x<-L+N+R+T+V #define ACTION_1459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1460: x<-L+N+R+T+W #define ACTION_1460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1461: x<-L+N+R+U+V #define ACTION_1461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1462: x<-L+N+R+U+W #define ACTION_1462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1463: x<-L+N+R+V+W #define ACTION_1463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1464: x<-L+N+S+T+U #define ACTION_1464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1465: x<-L+N+S+T+V #define ACTION_1465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1466: x<-L+N+S+T+W #define ACTION_1466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1467: x<-L+N+S+U+V #define ACTION_1467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1468: x<-L+N+S+U+W #define ACTION_1468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1469: x<-L+N+S+V+W #define ACTION_1469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1470: x<-L+N+T+U+W #define ACTION_1470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1471: x<-L+N+T+V+W #define ACTION_1471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1472: x<-L+N+U+V+W #define ACTION_1472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1473: x<-L+O+P+S+T #define ACTION_1473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1474: x<-L+O+P+S+U #define ACTION_1474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1475: x<-L+O+P+S+V #define ACTION_1475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1476: x<-L+O+P+S+W #define ACTION_1476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1477: x<-L+O+P+T+U #define ACTION_1477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1478: x<-L+O+P+T+V #define ACTION_1478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1479: x<-L+O+P+T+W #define ACTION_1479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1480: x<-L+O+P+U+V #define ACTION_1480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1481: x<-L+O+P+U+W #define ACTION_1481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1482: x<-L+O+P+V+W #define ACTION_1482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1483: x<-L+O+Q+T+U #define ACTION_1483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1484: x<-L+O+Q+T+V #define ACTION_1484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1485: x<-L+O+Q+T+W #define ACTION_1485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1486: x<-L+O+Q+U+V #define ACTION_1486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1487: x<-L+O+Q+U+W #define ACTION_1487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1488: x<-L+O+Q+V+W #define ACTION_1488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1489: x<-L+O+S+T+U #define ACTION_1489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1490: x<-L+O+S+T+V #define ACTION_1490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1491: x<-L+O+S+T+W #define ACTION_1491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1492: x<-L+O+S+U+V #define ACTION_1492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1493: x<-L+O+S+U+W #define ACTION_1493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1494: x<-L+O+S+V+W #define ACTION_1494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1495: x<-L+O+T+U+W #define ACTION_1495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1496: x<-L+O+T+V+W #define ACTION_1496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1497: x<-L+O+U+V+W #define ACTION_1497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1498: x<-L+P+Q+R+T #define ACTION_1498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1499: x<-L+P+Q+R+U #define ACTION_1499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1500: x<-L+P+Q+R+V #define ACTION_1500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1501: x<-L+P+Q+R+W #define ACTION_1501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1502: x<-L+P+Q+S+T #define ACTION_1502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1503: x<-L+P+Q+S+U #define ACTION_1503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1504: x<-L+P+Q+S+V #define ACTION_1504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1505: x<-L+P+Q+S+W #define ACTION_1505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1506: x<-L+P+Q+T+U #define ACTION_1506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1507: x<-L+P+Q+T+V #define ACTION_1507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1508: x<-L+P+Q+T+W #define ACTION_1508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1509: x<-L+P+Q+U+V #define ACTION_1509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1510: x<-L+P+Q+U+W #define ACTION_1510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1511: x<-L+P+Q+V+W #define ACTION_1511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1512: x<-L+P+R+S+T #define ACTION_1512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1513: x<-L+P+R+S+U #define ACTION_1513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1514: x<-L+P+R+S+V #define ACTION_1514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1515: x<-L+P+R+S+W #define ACTION_1515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1516: x<-L+P+R+T+U #define ACTION_1516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1517: x<-L+P+R+T+V #define ACTION_1517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1518: x<-L+P+R+T+W #define ACTION_1518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1519: x<-L+P+R+U+V #define ACTION_1519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1520: x<-L+P+R+U+W #define ACTION_1520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1521: x<-L+P+R+V+W #define ACTION_1521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1522: x<-L+P+S+T+U #define ACTION_1522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1523: x<-L+P+S+T+V #define ACTION_1523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1524: x<-L+P+S+T+W #define ACTION_1524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1525: x<-L+P+S+U+V #define ACTION_1525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1526: x<-L+P+S+U+W #define ACTION_1526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1527: x<-L+P+S+V+W #define ACTION_1527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1528: x<-L+P+T+U+W #define ACTION_1528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1529: x<-L+P+T+V+W #define ACTION_1529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1530: x<-L+P+U+V+W #define ACTION_1530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1531: x<-L+Q+R+T+U #define ACTION_1531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1532: x<-L+Q+R+T+V #define ACTION_1532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1533: x<-L+Q+R+T+W #define ACTION_1533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1534: x<-L+Q+R+U+V #define ACTION_1534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1535: x<-L+Q+R+U+W #define ACTION_1535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1536: x<-L+Q+R+V+W #define ACTION_1536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1537: x<-L+Q+S+T+U #define ACTION_1537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1538: x<-L+Q+S+T+V #define ACTION_1538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1539: x<-L+Q+S+T+W #define ACTION_1539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1540: x<-L+Q+S+U+V #define ACTION_1540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1541: x<-L+Q+S+U+W #define ACTION_1541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1542: x<-L+Q+S+V+W #define ACTION_1542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1543: x<-L+Q+T+U+W #define ACTION_1543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1544: x<-L+Q+T+V+W #define ACTION_1544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1545: x<-L+Q+U+V+W #define ACTION_1545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1546: x<-L+R+S+T+U #define ACTION_1546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1547: x<-L+R+S+T+V #define ACTION_1547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1548: x<-L+R+S+T+W #define ACTION_1548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1549: x<-L+R+S+U+V #define ACTION_1549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1550: x<-L+R+S+U+W #define ACTION_1550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1551: x<-L+R+S+V+W #define ACTION_1551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1552: x<-L+R+T+U+W #define ACTION_1552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1553: x<-L+R+T+V+W #define ACTION_1553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1554: x<-L+R+U+V+W #define ACTION_1554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1555: x<-L+S+T+U+W #define ACTION_1555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1556: x<-L+S+T+V+W #define ACTION_1556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1557: x<-L+S+U+V+W #define ACTION_1557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1558: x<-M+N+O+Q+T #define ACTION_1558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1559: x<-M+N+O+Q+U #define ACTION_1559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1560: x<-M+N+O+Q+V #define ACTION_1560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1561: x<-M+N+O+Q+W #define ACTION_1561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1562: x<-M+N+O+T+U #define ACTION_1562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1563: x<-M+N+O+T+V #define ACTION_1563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1564: x<-M+N+O+T+W #define ACTION_1564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1565: x<-M+N+O+U+V #define ACTION_1565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1566: x<-M+N+O+U+W #define ACTION_1566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1567: x<-M+N+O+V+W #define ACTION_1567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1568: x<-M+N+P+Q+T #define ACTION_1568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1569: x<-M+N+P+Q+U #define ACTION_1569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1570: x<-M+N+P+Q+V #define ACTION_1570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1571: x<-M+N+P+Q+W #define ACTION_1571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1572: x<-M+N+P+R+T #define ACTION_1572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1573: x<-M+N+P+R+U #define ACTION_1573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1574: x<-M+N+P+R+V #define ACTION_1574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1575: x<-M+N+P+R+W #define ACTION_1575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1576: x<-M+N+P+T+U #define ACTION_1576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1577: x<-M+N+P+T+V #define ACTION_1577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1578: x<-M+N+P+T+W #define ACTION_1578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1579: x<-M+N+P+U+V #define ACTION_1579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1580: x<-M+N+P+U+W #define ACTION_1580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1581: x<-M+N+P+V+W #define ACTION_1581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1582: x<-M+N+Q+R+T #define ACTION_1582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1583: x<-M+N+Q+R+U #define ACTION_1583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1584: x<-M+N+Q+R+V #define ACTION_1584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1585: x<-M+N+Q+R+W #define ACTION_1585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1586: x<-M+N+Q+S+T #define ACTION_1586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1587: x<-M+N+Q+S+U #define ACTION_1587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1588: x<-M+N+Q+S+V #define ACTION_1588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1589: x<-M+N+Q+S+W #define ACTION_1589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1590: x<-M+N+Q+T+U #define ACTION_1590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1591: x<-M+N+Q+T+V #define ACTION_1591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1592: x<-M+N+Q+T+W #define ACTION_1592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1593: x<-M+N+Q+U+V #define ACTION_1593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1594: x<-M+N+Q+U+W #define ACTION_1594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1595: x<-M+N+Q+V+W #define ACTION_1595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1596: x<-M+N+R+S+T #define ACTION_1596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1597: x<-M+N+R+S+U #define ACTION_1597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1598: x<-M+N+R+S+V #define ACTION_1598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1599: x<-M+N+R+S+W #define ACTION_1599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1600: x<-M+N+R+T+U #define ACTION_1600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1601: x<-M+N+R+T+V #define ACTION_1601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1602: x<-M+N+R+T+W #define ACTION_1602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1603: x<-M+N+R+U+V #define ACTION_1603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1604: x<-M+N+R+U+W #define ACTION_1604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1605: x<-M+N+R+V+W #define ACTION_1605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1606: x<-M+N+S+T+U #define ACTION_1606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1607: x<-M+N+S+T+V #define ACTION_1607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1608: x<-M+N+S+T+W #define ACTION_1608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1609: x<-M+N+S+U+V #define ACTION_1609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1610: x<-M+N+S+U+W #define ACTION_1610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1611: x<-M+N+S+V+W #define ACTION_1611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1612: x<-M+N+T+U+W #define ACTION_1612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1613: x<-M+N+T+V+W #define ACTION_1613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1614: x<-M+N+U+V+W #define ACTION_1614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1615: x<-M+O+P+Q+T #define ACTION_1615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1616: x<-M+O+P+Q+U #define ACTION_1616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1617: x<-M+O+P+Q+V #define ACTION_1617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1618: x<-M+O+P+Q+W #define ACTION_1618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1619: x<-M+O+P+R+T #define ACTION_1619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1620: x<-M+O+P+R+U #define ACTION_1620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1621: x<-M+O+P+R+V #define ACTION_1621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1622: x<-M+O+P+R+W #define ACTION_1622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1623: x<-M+O+P+T+U #define ACTION_1623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1624: x<-M+O+P+T+V #define ACTION_1624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1625: x<-M+O+P+T+W #define ACTION_1625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1626: x<-M+O+P+U+V #define ACTION_1626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1627: x<-M+O+P+U+W #define ACTION_1627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1628: x<-M+O+P+V+W #define ACTION_1628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1629: x<-M+O+Q+R+T #define ACTION_1629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1630: x<-M+O+Q+R+U #define ACTION_1630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1631: x<-M+O+Q+R+V #define ACTION_1631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1632: x<-M+O+Q+R+W #define ACTION_1632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1633: x<-M+O+Q+S+T #define ACTION_1633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1634: x<-M+O+Q+S+U #define ACTION_1634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1635: x<-M+O+Q+S+V #define ACTION_1635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1636: x<-M+O+Q+S+W #define ACTION_1636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1637: x<-M+O+Q+T+U #define ACTION_1637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1638: x<-M+O+Q+T+V #define ACTION_1638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1639: x<-M+O+Q+T+W #define ACTION_1639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1640: x<-M+O+Q+U+V #define ACTION_1640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1641: x<-M+O+Q+U+W #define ACTION_1641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1642: x<-M+O+Q+V+W #define ACTION_1642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1643: x<-M+O+R+S+T #define ACTION_1643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1644: x<-M+O+R+S+U #define ACTION_1644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1645: x<-M+O+R+S+V #define ACTION_1645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1646: x<-M+O+R+S+W #define ACTION_1646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1647: x<-M+O+R+T+U #define ACTION_1647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1648: x<-M+O+R+T+V #define ACTION_1648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1649: x<-M+O+R+T+W #define ACTION_1649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1650: x<-M+O+R+U+V #define ACTION_1650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1651: x<-M+O+R+U+W #define ACTION_1651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1652: x<-M+O+R+V+W #define ACTION_1652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1653: x<-M+O+S+T+U #define ACTION_1653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1654: x<-M+O+S+T+V #define ACTION_1654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1655: x<-M+O+S+T+W #define ACTION_1655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1656: x<-M+O+S+U+V #define ACTION_1656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1657: x<-M+O+S+U+W #define ACTION_1657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1658: x<-M+O+S+V+W #define ACTION_1658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1659: x<-M+O+T+U+W #define ACTION_1659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1660: x<-M+O+T+V+W #define ACTION_1660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1661: x<-M+O+U+V+W #define ACTION_1661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1662: x<-M+P+Q+T+U #define ACTION_1662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1663: x<-M+P+Q+T+V #define ACTION_1663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1664: x<-M+P+Q+T+W #define ACTION_1664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1665: x<-M+P+Q+U+V #define ACTION_1665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1666: x<-M+P+Q+U+W #define ACTION_1666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1667: x<-M+P+Q+V+W #define ACTION_1667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1668: x<-M+P+R+T+U #define ACTION_1668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1669: x<-M+P+R+T+V #define ACTION_1669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1670: x<-M+P+R+T+W #define ACTION_1670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1671: x<-M+P+R+U+V #define ACTION_1671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1672: x<-M+P+R+U+W #define ACTION_1672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1673: x<-M+P+R+V+W #define ACTION_1673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1674: x<-M+P+T+U+W #define ACTION_1674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1675: x<-M+P+T+V+W #define ACTION_1675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1676: x<-M+P+U+V+W #define ACTION_1676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1677: x<-M+Q+R+T+U #define ACTION_1677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1678: x<-M+Q+R+T+V #define ACTION_1678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1679: x<-M+Q+R+T+W #define ACTION_1679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1680: x<-M+Q+R+U+V #define ACTION_1680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1681: x<-M+Q+R+U+W #define ACTION_1681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1682: x<-M+Q+R+V+W #define ACTION_1682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1683: x<-M+Q+S+T+U #define ACTION_1683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1684: x<-M+Q+S+T+V #define ACTION_1684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1685: x<-M+Q+S+T+W #define ACTION_1685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1686: x<-M+Q+S+U+V #define ACTION_1686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1687: x<-M+Q+S+U+W #define ACTION_1687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1688: x<-M+Q+S+V+W #define ACTION_1688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1689: x<-M+Q+T+U+W #define ACTION_1689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1690: x<-M+Q+T+V+W #define ACTION_1690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1691: x<-M+Q+U+V+W #define ACTION_1691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1692: x<-M+R+S+T+U #define ACTION_1692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1693: x<-M+R+S+T+V #define ACTION_1693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1694: x<-M+R+S+T+W #define ACTION_1694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1695: x<-M+R+S+U+V #define ACTION_1695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1696: x<-M+R+S+U+W #define ACTION_1696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1697: x<-M+R+S+V+W #define ACTION_1697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1698: x<-M+R+T+U+W #define ACTION_1698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1699: x<-M+R+T+V+W #define ACTION_1699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1700: x<-M+R+U+V+W #define ACTION_1700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1701: x<-M+S+T+U+W #define ACTION_1701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1702: x<-M+S+T+V+W #define ACTION_1702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1703: x<-M+S+U+V+W #define ACTION_1703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1704: x<-N+O+Q+R+T #define ACTION_1704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1705: x<-N+O+Q+R+U #define ACTION_1705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1706: x<-N+O+Q+R+V #define ACTION_1706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1707: x<-N+O+Q+R+W #define ACTION_1707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1708: x<-N+O+Q+S+T #define ACTION_1708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1709: x<-N+O+Q+S+U #define ACTION_1709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1710: x<-N+O+Q+S+V #define ACTION_1710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1711: x<-N+O+Q+S+W #define ACTION_1711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1712: x<-N+O+Q+T+U #define ACTION_1712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1713: x<-N+O+Q+T+V #define ACTION_1713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1714: x<-N+O+Q+T+W #define ACTION_1714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1715: x<-N+O+Q+U+V #define ACTION_1715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1716: x<-N+O+Q+U+W #define ACTION_1716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1717: x<-N+O+Q+V+W #define ACTION_1717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1718: x<-N+O+R+S+T #define ACTION_1718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1719: x<-N+O+R+S+U #define ACTION_1719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1720: x<-N+O+R+S+V #define ACTION_1720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1721: x<-N+O+R+S+W #define ACTION_1721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1722: x<-N+O+R+T+U #define ACTION_1722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1723: x<-N+O+R+T+V #define ACTION_1723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1724: x<-N+O+R+T+W #define ACTION_1724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1725: x<-N+O+R+U+V #define ACTION_1725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1726: x<-N+O+R+U+W #define ACTION_1726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1727: x<-N+O+R+V+W #define ACTION_1727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1728: x<-N+O+S+T+U #define ACTION_1728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1729: x<-N+O+S+T+V #define ACTION_1729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1730: x<-N+O+S+T+W #define ACTION_1730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1731: x<-N+O+S+U+V #define ACTION_1731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1732: x<-N+O+S+U+W #define ACTION_1732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1733: x<-N+O+S+V+W #define ACTION_1733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1734: x<-N+O+T+U+W #define ACTION_1734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1735: x<-N+O+T+V+W #define ACTION_1735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1736: x<-N+O+U+V+W #define ACTION_1736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1737: x<-N+P+Q+R+T #define ACTION_1737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1738: x<-N+P+Q+R+U #define ACTION_1738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1739: x<-N+P+Q+R+V #define ACTION_1739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1740: x<-N+P+Q+R+W #define ACTION_1740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1741: x<-N+P+Q+S+T #define ACTION_1741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1742: x<-N+P+Q+S+U #define ACTION_1742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1743: x<-N+P+Q+S+V #define ACTION_1743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1744: x<-N+P+Q+S+W #define ACTION_1744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1745: x<-N+P+Q+T+U #define ACTION_1745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1746: x<-N+P+Q+T+V #define ACTION_1746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1747: x<-N+P+Q+T+W #define ACTION_1747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1748: x<-N+P+Q+U+V #define ACTION_1748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1749: x<-N+P+Q+U+W #define ACTION_1749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1750: x<-N+P+Q+V+W #define ACTION_1750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1751: x<-N+P+R+S+T #define ACTION_1751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1752: x<-N+P+R+S+U #define ACTION_1752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1753: x<-N+P+R+S+V #define ACTION_1753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1754: x<-N+P+R+S+W #define ACTION_1754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1755: x<-N+P+R+T+U #define ACTION_1755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1756: x<-N+P+R+T+V #define ACTION_1756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1757: x<-N+P+R+T+W #define ACTION_1757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1758: x<-N+P+R+U+V #define ACTION_1758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1759: x<-N+P+R+U+W #define ACTION_1759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1760: x<-N+P+R+V+W #define ACTION_1760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1761: x<-N+P+S+T+U #define ACTION_1761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1762: x<-N+P+S+T+V #define ACTION_1762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1763: x<-N+P+S+T+W #define ACTION_1763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1764: x<-N+P+S+U+V #define ACTION_1764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1765: x<-N+P+S+U+W #define ACTION_1765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1766: x<-N+P+S+V+W #define ACTION_1766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1767: x<-N+P+T+U+W #define ACTION_1767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1768: x<-N+P+T+V+W #define ACTION_1768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1769: x<-N+P+U+V+W #define ACTION_1769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1770: x<-N+Q+R+T+U #define ACTION_1770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1771: x<-N+Q+R+T+V #define ACTION_1771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1772: x<-N+Q+R+T+W #define ACTION_1772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1773: x<-N+Q+R+U+V #define ACTION_1773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1774: x<-N+Q+R+U+W #define ACTION_1774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1775: x<-N+Q+R+V+W #define ACTION_1775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1776: x<-N+Q+S+T+U #define ACTION_1776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1777: x<-N+Q+S+T+V #define ACTION_1777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1778: x<-N+Q+S+T+W #define ACTION_1778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1779: x<-N+Q+S+U+V #define ACTION_1779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1780: x<-N+Q+S+U+W #define ACTION_1780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1781: x<-N+Q+S+V+W #define ACTION_1781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1782: x<-N+Q+T+U+W #define ACTION_1782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1783: x<-N+Q+T+V+W #define ACTION_1783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1784: x<-N+Q+U+V+W #define ACTION_1784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1785: x<-N+R+S+T+U #define ACTION_1785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1786: x<-N+R+S+T+V #define ACTION_1786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1787: x<-N+R+S+T+W #define ACTION_1787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1788: x<-N+R+S+U+V #define ACTION_1788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1789: x<-N+R+S+U+W #define ACTION_1789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1790: x<-N+R+S+V+W #define ACTION_1790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1791: x<-N+R+T+U+W #define ACTION_1791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1792: x<-N+R+T+V+W #define ACTION_1792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1793: x<-N+R+U+V+W #define ACTION_1793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1794: x<-N+S+T+U+W #define ACTION_1794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1795: x<-N+S+T+V+W #define ACTION_1795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1796: x<-N+S+U+V+W #define ACTION_1796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1797: x<-O+P+Q+R+T #define ACTION_1797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1798: x<-O+P+Q+R+U #define ACTION_1798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1799: x<-O+P+Q+R+V #define ACTION_1799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1800: x<-O+P+Q+R+W #define ACTION_1800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1801: x<-O+P+Q+S+T #define ACTION_1801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1802: x<-O+P+Q+S+U #define ACTION_1802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1803: x<-O+P+Q+S+V #define ACTION_1803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1804: x<-O+P+Q+S+W #define ACTION_1804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1805: x<-O+P+Q+T+U #define ACTION_1805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1806: x<-O+P+Q+T+V #define ACTION_1806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1807: x<-O+P+Q+T+W #define ACTION_1807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1808: x<-O+P+Q+U+V #define ACTION_1808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1809: x<-O+P+Q+U+W #define ACTION_1809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1810: x<-O+P+Q+V+W #define ACTION_1810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1811: x<-O+P+R+S+T #define ACTION_1811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1812: x<-O+P+R+S+U #define ACTION_1812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1813: x<-O+P+R+S+V #define ACTION_1813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1814: x<-O+P+R+S+W #define ACTION_1814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1815: x<-O+P+R+T+U #define ACTION_1815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1816: x<-O+P+R+T+V #define ACTION_1816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1817: x<-O+P+R+T+W #define ACTION_1817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1818: x<-O+P+R+U+V #define ACTION_1818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1819: x<-O+P+R+U+W #define ACTION_1819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1820: x<-O+P+R+V+W #define ACTION_1820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1821: x<-O+P+S+T+U #define ACTION_1821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1822: x<-O+P+S+T+V #define ACTION_1822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1823: x<-O+P+S+T+W #define ACTION_1823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1824: x<-O+P+S+U+V #define ACTION_1824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1825: x<-O+P+S+U+W #define ACTION_1825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1826: x<-O+P+S+V+W #define ACTION_1826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1827: x<-O+P+T+U+W #define ACTION_1827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1828: x<-O+P+T+V+W #define ACTION_1828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1829: x<-O+P+U+V+W #define ACTION_1829 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1830: x<-O+Q+R+T+U #define ACTION_1830 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1831: x<-O+Q+R+T+V #define ACTION_1831 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1832: x<-O+Q+R+T+W #define ACTION_1832 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1833: x<-O+Q+R+U+V #define ACTION_1833 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1834: x<-O+Q+R+U+W #define ACTION_1834 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1835: x<-O+Q+R+V+W #define ACTION_1835 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1836: x<-O+Q+S+T+U #define ACTION_1836 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1837: x<-O+Q+S+T+V #define ACTION_1837 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1838: x<-O+Q+S+T+W #define ACTION_1838 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1839: x<-O+Q+S+U+V #define ACTION_1839 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1840: x<-O+Q+S+U+W #define ACTION_1840 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1841: x<-O+Q+S+V+W #define ACTION_1841 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1842: x<-O+Q+T+U+W #define ACTION_1842 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1843: x<-O+Q+T+V+W #define ACTION_1843 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1844: x<-O+Q+U+V+W #define ACTION_1844 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1845: x<-O+R+S+T+U #define ACTION_1845 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1846: x<-O+R+S+T+V #define ACTION_1846 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1847: x<-O+R+S+T+W #define ACTION_1847 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1848: x<-O+R+S+U+V #define ACTION_1848 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1849: x<-O+R+S+U+W #define ACTION_1849 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1850: x<-O+R+S+V+W #define ACTION_1850 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1851: x<-O+R+T+U+W #define ACTION_1851 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1852: x<-O+R+T+V+W #define ACTION_1852 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1853: x<-O+R+U+V+W #define ACTION_1853 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1854: x<-O+S+T+U+W #define ACTION_1854 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1855: x<-O+S+T+V+W #define ACTION_1855 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1856: x<-O+S+U+V+W #define ACTION_1856 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1857: x<-P+Q+R+T+U #define ACTION_1857 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1858: x<-P+Q+R+T+V #define ACTION_1858 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1859: x<-P+Q+R+T+W #define ACTION_1859 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1860: x<-P+Q+R+U+V #define ACTION_1860 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1861: x<-P+Q+R+U+W #define ACTION_1861 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1862: x<-P+Q+R+V+W #define ACTION_1862 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1863: x<-P+Q+S+T+U #define ACTION_1863 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1864: x<-P+Q+S+T+V #define ACTION_1864 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1865: x<-P+Q+S+T+W #define ACTION_1865 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1866: x<-P+Q+S+U+V #define ACTION_1866 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1867: x<-P+Q+S+U+W #define ACTION_1867 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1868: x<-P+Q+S+V+W #define ACTION_1868 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1869: x<-P+Q+T+U+W #define ACTION_1869 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1870: x<-P+Q+T+V+W #define ACTION_1870 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1871: x<-P+Q+U+V+W #define ACTION_1871 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1872: x<-P+R+S+T+U #define ACTION_1872 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1873: x<-P+R+S+T+V #define ACTION_1873 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1874: x<-P+R+S+T+W #define ACTION_1874 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1875: x<-P+R+S+U+V #define ACTION_1875 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1876: x<-P+R+S+U+W #define ACTION_1876 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1877: x<-P+R+S+V+W #define ACTION_1877 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1878: x<-P+R+T+U+W #define ACTION_1878 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1879: x<-P+R+T+V+W #define ACTION_1879 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1880: x<-P+R+U+V+W #define ACTION_1880 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1881: x<-P+S+T+U+W #define ACTION_1881 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1882: x<-P+S+T+V+W #define ACTION_1882 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1883: x<-P+S+U+V+W #define ACTION_1883 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1884: x<-Q+R+T+U+W #define ACTION_1884 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1885: x<-Q+R+T+V+W #define ACTION_1885 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1886: x<-Q+R+U+V+W #define ACTION_1886 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1887: x<-Q+S+T+U+W #define ACTION_1887 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1888: x<-Q+S+T+V+W #define ACTION_1888 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1889: x<-Q+S+U+V+W #define ACTION_1889 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1890: x<-R+S+T+U+W #define ACTION_1890 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1891: x<-R+S+T+V+W #define ACTION_1891 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1892: x<-R+S+U+V+W #define ACTION_1892 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1893: x<-K+L+N+O+T+U #define ACTION_1893 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1894: x<-K+L+N+O+T+V #define ACTION_1894 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1895: x<-K+L+N+O+T+W #define ACTION_1895 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1896: x<-K+L+N+O+U+V #define ACTION_1896 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1897: x<-K+L+N+O+U+W #define ACTION_1897 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1898: x<-K+L+N+O+V+W #define ACTION_1898 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1899: x<-K+L+N+P+T+U #define ACTION_1899 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1900: x<-K+L+N+P+T+V #define ACTION_1900 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1901: x<-K+L+N+P+T+W #define ACTION_1901 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1902: x<-K+L+N+P+U+V #define ACTION_1902 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1903: x<-K+L+N+P+U+W #define ACTION_1903 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1904: x<-K+L+N+P+V+W #define ACTION_1904 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1905: x<-K+L+N+R+T+U #define ACTION_1905 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1906: x<-K+L+N+R+T+V #define ACTION_1906 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1907: x<-K+L+N+R+T+W #define ACTION_1907 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1908: x<-K+L+N+R+U+V #define ACTION_1908 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1909: x<-K+L+N+R+U+W #define ACTION_1909 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1910: x<-K+L+N+R+V+W #define ACTION_1910 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1911: x<-K+L+N+S+T+U #define ACTION_1911 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1912: x<-K+L+N+S+T+V #define ACTION_1912 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1913: x<-K+L+N+S+T+W #define ACTION_1913 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1914: x<-K+L+N+S+U+V #define ACTION_1914 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1915: x<-K+L+N+S+U+W #define ACTION_1915 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1916: x<-K+L+N+S+V+W #define ACTION_1916 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1917: x<-K+L+N+T+U+W #define ACTION_1917 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1918: x<-K+L+N+T+V+W #define ACTION_1918 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1919: x<-K+L+N+U+V+W #define ACTION_1919 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1920: x<-K+L+O+P+T+U #define ACTION_1920 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1921: x<-K+L+O+P+T+V #define ACTION_1921 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1922: x<-K+L+O+P+T+W #define ACTION_1922 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1923: x<-K+L+O+P+U+V #define ACTION_1923 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1924: x<-K+L+O+P+U+W #define ACTION_1924 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1925: x<-K+L+O+P+V+W #define ACTION_1925 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1926: x<-K+L+O+Q+T+U #define ACTION_1926 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1927: x<-K+L+O+Q+T+V #define ACTION_1927 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1928: x<-K+L+O+Q+T+W #define ACTION_1928 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1929: x<-K+L+O+Q+U+V #define ACTION_1929 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1930: x<-K+L+O+Q+U+W #define ACTION_1930 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1931: x<-K+L+O+Q+V+W #define ACTION_1931 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1932: x<-K+L+O+S+T+U #define ACTION_1932 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1933: x<-K+L+O+S+T+V #define ACTION_1933 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1934: x<-K+L+O+S+T+W #define ACTION_1934 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1935: x<-K+L+O+S+U+V #define ACTION_1935 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1936: x<-K+L+O+S+U+W #define ACTION_1936 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1937: x<-K+L+O+S+V+W #define ACTION_1937 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1938: x<-K+L+O+T+U+W #define ACTION_1938 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1939: x<-K+L+O+T+V+W #define ACTION_1939 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1940: x<-K+L+O+U+V+W #define ACTION_1940 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1941: x<-K+L+P+Q+T+U #define ACTION_1941 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1942: x<-K+L+P+Q+T+V #define ACTION_1942 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1943: x<-K+L+P+Q+T+W #define ACTION_1943 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1944: x<-K+L+P+Q+U+V #define ACTION_1944 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1945: x<-K+L+P+Q+U+W #define ACTION_1945 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1946: x<-K+L+P+Q+V+W #define ACTION_1946 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1947: x<-K+L+P+R+T+U #define ACTION_1947 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1948: x<-K+L+P+R+T+V #define ACTION_1948 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1949: x<-K+L+P+R+T+W #define ACTION_1949 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1950: x<-K+L+P+R+U+V #define ACTION_1950 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1951: x<-K+L+P+R+U+W #define ACTION_1951 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1952: x<-K+L+P+R+V+W #define ACTION_1952 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1953: x<-K+L+P+T+U+W #define ACTION_1953 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1954: x<-K+L+P+T+V+W #define ACTION_1954 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1955: x<-K+L+P+U+V+W #define ACTION_1955 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1956: x<-K+L+Q+R+T+U #define ACTION_1956 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1957: x<-K+L+Q+R+T+V #define ACTION_1957 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1958: x<-K+L+Q+R+T+W #define ACTION_1958 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1959: x<-K+L+Q+R+U+V #define ACTION_1959 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1960: x<-K+L+Q+R+U+W #define ACTION_1960 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1961: x<-K+L+Q+R+V+W #define ACTION_1961 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1962: x<-K+L+Q+S+T+U #define ACTION_1962 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1963: x<-K+L+Q+S+T+V #define ACTION_1963 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1964: x<-K+L+Q+S+T+W #define ACTION_1964 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1965: x<-K+L+Q+S+U+V #define ACTION_1965 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1966: x<-K+L+Q+S+U+W #define ACTION_1966 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1967: x<-K+L+Q+S+V+W #define ACTION_1967 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1968: x<-K+L+Q+T+U+W #define ACTION_1968 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1969: x<-K+L+Q+T+V+W #define ACTION_1969 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1970: x<-K+L+Q+U+V+W #define ACTION_1970 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1971: x<-K+L+R+S+T+U #define ACTION_1971 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1972: x<-K+L+R+S+T+V #define ACTION_1972 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1973: x<-K+L+R+S+T+W #define ACTION_1973 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1974: x<-K+L+R+S+U+V #define ACTION_1974 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1975: x<-K+L+R+S+U+W #define ACTION_1975 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1976: x<-K+L+R+S+V+W #define ACTION_1976 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1977: x<-K+L+R+T+U+W #define ACTION_1977 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1978: x<-K+L+R+T+V+W #define ACTION_1978 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1979: x<-K+L+R+U+V+W #define ACTION_1979 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1980: x<-K+L+S+T+U+W #define ACTION_1980 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1981: x<-K+L+S+T+V+W #define ACTION_1981 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1982: x<-K+L+S+U+V+W #define ACTION_1982 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1983: x<-K+M+N+O+T+U #define ACTION_1983 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1984: x<-K+M+N+O+T+V #define ACTION_1984 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1985: x<-K+M+N+O+T+W #define ACTION_1985 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1986: x<-K+M+N+O+U+V #define ACTION_1986 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1987: x<-K+M+N+O+U+W #define ACTION_1987 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1988: x<-K+M+N+O+V+W #define ACTION_1988 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1989: x<-K+M+N+P+T+U #define ACTION_1989 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1990: x<-K+M+N+P+T+V #define ACTION_1990 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1991: x<-K+M+N+P+T+W #define ACTION_1991 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1992: x<-K+M+N+P+U+V #define ACTION_1992 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1993: x<-K+M+N+P+U+W #define ACTION_1993 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1994: x<-K+M+N+P+V+W #define ACTION_1994 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1995: x<-K+M+N+R+T+U #define ACTION_1995 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1996: x<-K+M+N+R+T+V #define ACTION_1996 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1997: x<-K+M+N+R+T+W #define ACTION_1997 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1998: x<-K+M+N+R+U+V #define ACTION_1998 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1999: x<-K+M+N+R+U+W #define ACTION_1999 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2000: x<-K+M+N+R+V+W #define ACTION_2000 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2001: x<-K+M+N+S+T+U #define ACTION_2001 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2002: x<-K+M+N+S+T+V #define ACTION_2002 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2003: x<-K+M+N+S+T+W #define ACTION_2003 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2004: x<-K+M+N+S+U+V #define ACTION_2004 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2005: x<-K+M+N+S+U+W #define ACTION_2005 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2006: x<-K+M+N+S+V+W #define ACTION_2006 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2007: x<-K+M+N+T+U+W #define ACTION_2007 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2008: x<-K+M+N+T+V+W #define ACTION_2008 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2009: x<-K+M+N+U+V+W #define ACTION_2009 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2010: x<-K+M+O+P+T+U #define ACTION_2010 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2011: x<-K+M+O+P+T+V #define ACTION_2011 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2012: x<-K+M+O+P+T+W #define ACTION_2012 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2013: x<-K+M+O+P+U+V #define ACTION_2013 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2014: x<-K+M+O+P+U+W #define ACTION_2014 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2015: x<-K+M+O+P+V+W #define ACTION_2015 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2016: x<-K+M+O+Q+T+U #define ACTION_2016 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2017: x<-K+M+O+Q+T+V #define ACTION_2017 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2018: x<-K+M+O+Q+T+W #define ACTION_2018 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2019: x<-K+M+O+Q+U+V #define ACTION_2019 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2020: x<-K+M+O+Q+U+W #define ACTION_2020 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2021: x<-K+M+O+Q+V+W #define ACTION_2021 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2022: x<-K+M+O+S+T+U #define ACTION_2022 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2023: x<-K+M+O+S+T+V #define ACTION_2023 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2024: x<-K+M+O+S+T+W #define ACTION_2024 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2025: x<-K+M+O+S+U+V #define ACTION_2025 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2026: x<-K+M+O+S+U+W #define ACTION_2026 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2027: x<-K+M+O+S+V+W #define ACTION_2027 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2028: x<-K+M+O+T+U+W #define ACTION_2028 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2029: x<-K+M+O+T+V+W #define ACTION_2029 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2030: x<-K+M+O+U+V+W #define ACTION_2030 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2031: x<-K+M+P+Q+T+U #define ACTION_2031 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2032: x<-K+M+P+Q+T+V #define ACTION_2032 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2033: x<-K+M+P+Q+T+W #define ACTION_2033 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2034: x<-K+M+P+Q+U+V #define ACTION_2034 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2035: x<-K+M+P+Q+U+W #define ACTION_2035 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2036: x<-K+M+P+Q+V+W #define ACTION_2036 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2037: x<-K+M+P+R+T+U #define ACTION_2037 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2038: x<-K+M+P+R+T+V #define ACTION_2038 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2039: x<-K+M+P+R+T+W #define ACTION_2039 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2040: x<-K+M+P+R+U+V #define ACTION_2040 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2041: x<-K+M+P+R+U+W #define ACTION_2041 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2042: x<-K+M+P+R+V+W #define ACTION_2042 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2043: x<-K+M+P+T+U+W #define ACTION_2043 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2044: x<-K+M+P+T+V+W #define ACTION_2044 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2045: x<-K+M+P+U+V+W #define ACTION_2045 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2046: x<-K+M+Q+R+T+U #define ACTION_2046 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2047: x<-K+M+Q+R+T+V #define ACTION_2047 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2048: x<-K+M+Q+R+T+W #define ACTION_2048 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2049: x<-K+M+Q+R+U+V #define ACTION_2049 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2050: x<-K+M+Q+R+U+W #define ACTION_2050 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2051: x<-K+M+Q+R+V+W #define ACTION_2051 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2052: x<-K+M+Q+S+T+U #define ACTION_2052 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2053: x<-K+M+Q+S+T+V #define ACTION_2053 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2054: x<-K+M+Q+S+T+W #define ACTION_2054 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2055: x<-K+M+Q+S+U+V #define ACTION_2055 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2056: x<-K+M+Q+S+U+W #define ACTION_2056 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2057: x<-K+M+Q+S+V+W #define ACTION_2057 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2058: x<-K+M+Q+T+U+W #define ACTION_2058 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2059: x<-K+M+Q+T+V+W #define ACTION_2059 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2060: x<-K+M+Q+U+V+W #define ACTION_2060 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2061: x<-K+M+R+S+T+U #define ACTION_2061 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2062: x<-K+M+R+S+T+V #define ACTION_2062 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2063: x<-K+M+R+S+T+W #define ACTION_2063 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2064: x<-K+M+R+S+U+V #define ACTION_2064 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2065: x<-K+M+R+S+U+W #define ACTION_2065 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2066: x<-K+M+R+S+V+W #define ACTION_2066 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2067: x<-K+M+R+T+U+W #define ACTION_2067 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2068: x<-K+M+R+T+V+W #define ACTION_2068 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2069: x<-K+M+R+U+V+W #define ACTION_2069 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2070: x<-K+M+S+T+U+W #define ACTION_2070 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2071: x<-K+M+S+T+V+W #define ACTION_2071 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2072: x<-K+M+S+U+V+W #define ACTION_2072 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2073: x<-K+N+O+R+T+U #define ACTION_2073 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2074: x<-K+N+O+R+T+V #define ACTION_2074 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2075: x<-K+N+O+R+T+W #define ACTION_2075 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2076: x<-K+N+O+R+U+V #define ACTION_2076 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2077: x<-K+N+O+R+U+W #define ACTION_2077 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2078: x<-K+N+O+R+V+W #define ACTION_2078 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2079: x<-K+N+O+S+T+U #define ACTION_2079 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2080: x<-K+N+O+S+T+V #define ACTION_2080 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2081: x<-K+N+O+S+T+W #define ACTION_2081 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2082: x<-K+N+O+S+U+V #define ACTION_2082 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2083: x<-K+N+O+S+U+W #define ACTION_2083 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2084: x<-K+N+O+S+V+W #define ACTION_2084 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2085: x<-K+N+O+T+U+W #define ACTION_2085 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2086: x<-K+N+O+T+V+W #define ACTION_2086 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2087: x<-K+N+O+U+V+W #define ACTION_2087 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2088: x<-K+N+P+R+T+U #define ACTION_2088 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2089: x<-K+N+P+R+T+V #define ACTION_2089 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2090: x<-K+N+P+R+T+W #define ACTION_2090 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2091: x<-K+N+P+R+U+V #define ACTION_2091 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2092: x<-K+N+P+R+U+W #define ACTION_2092 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2093: x<-K+N+P+R+V+W #define ACTION_2093 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2094: x<-K+N+P+S+T+U #define ACTION_2094 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2095: x<-K+N+P+S+T+V #define ACTION_2095 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2096: x<-K+N+P+S+T+W #define ACTION_2096 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2097: x<-K+N+P+S+U+V #define ACTION_2097 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2098: x<-K+N+P+S+U+W #define ACTION_2098 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2099: x<-K+N+P+S+V+W #define ACTION_2099 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2100: x<-K+N+P+T+U+W #define ACTION_2100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2101: x<-K+N+P+T+V+W #define ACTION_2101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2102: x<-K+N+P+U+V+W #define ACTION_2102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2103: x<-K+N+R+T+U+W #define ACTION_2103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2104: x<-K+N+R+T+V+W #define ACTION_2104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2105: x<-K+N+R+U+V+W #define ACTION_2105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2106: x<-K+N+S+T+U+W #define ACTION_2106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2107: x<-K+N+S+T+V+W #define ACTION_2107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2108: x<-K+N+S+U+V+W #define ACTION_2108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2109: x<-K+O+P+S+T+U #define ACTION_2109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2110: x<-K+O+P+S+T+V #define ACTION_2110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2111: x<-K+O+P+S+T+W #define ACTION_2111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2112: x<-K+O+P+S+U+V #define ACTION_2112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2113: x<-K+O+P+S+U+W #define ACTION_2113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2114: x<-K+O+P+S+V+W #define ACTION_2114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2115: x<-K+O+P+T+U+W #define ACTION_2115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2116: x<-K+O+P+T+V+W #define ACTION_2116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2117: x<-K+O+P+U+V+W #define ACTION_2117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2118: x<-K+O+Q+R+T+U #define ACTION_2118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2119: x<-K+O+Q+R+T+V #define ACTION_2119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2120: x<-K+O+Q+R+T+W #define ACTION_2120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2121: x<-K+O+Q+R+U+V #define ACTION_2121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2122: x<-K+O+Q+R+U+W #define ACTION_2122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2123: x<-K+O+Q+R+V+W #define ACTION_2123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2124: x<-K+O+Q+S+T+U #define ACTION_2124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2125: x<-K+O+Q+S+T+V #define ACTION_2125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2126: x<-K+O+Q+S+T+W #define ACTION_2126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2127: x<-K+O+Q+S+U+V #define ACTION_2127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2128: x<-K+O+Q+S+U+W #define ACTION_2128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2129: x<-K+O+Q+S+V+W #define ACTION_2129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2130: x<-K+O+Q+T+U+W #define ACTION_2130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2131: x<-K+O+Q+T+V+W #define ACTION_2131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2132: x<-K+O+Q+U+V+W #define ACTION_2132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2133: x<-K+O+R+S+T+U #define ACTION_2133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2134: x<-K+O+R+S+T+V #define ACTION_2134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2135: x<-K+O+R+S+T+W #define ACTION_2135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2136: x<-K+O+R+S+U+V #define ACTION_2136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2137: x<-K+O+R+S+U+W #define ACTION_2137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2138: x<-K+O+R+S+V+W #define ACTION_2138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2139: x<-K+O+R+T+U+W #define ACTION_2139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2140: x<-K+O+R+T+V+W #define ACTION_2140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2141: x<-K+O+R+U+V+W #define ACTION_2141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2142: x<-K+O+S+T+U+W #define ACTION_2142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2143: x<-K+O+S+T+V+W #define ACTION_2143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2144: x<-K+O+S+U+V+W #define ACTION_2144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2145: x<-K+P+Q+R+T+U #define ACTION_2145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2146: x<-K+P+Q+R+T+V #define ACTION_2146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2147: x<-K+P+Q+R+T+W #define ACTION_2147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2148: x<-K+P+Q+R+U+V #define ACTION_2148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2149: x<-K+P+Q+R+U+W #define ACTION_2149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2150: x<-K+P+Q+R+V+W #define ACTION_2150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2151: x<-K+P+Q+S+T+U #define ACTION_2151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2152: x<-K+P+Q+S+T+V #define ACTION_2152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2153: x<-K+P+Q+S+T+W #define ACTION_2153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2154: x<-K+P+Q+S+U+V #define ACTION_2154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2155: x<-K+P+Q+S+U+W #define ACTION_2155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2156: x<-K+P+Q+S+V+W #define ACTION_2156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2157: x<-K+P+Q+T+U+W #define ACTION_2157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2158: x<-K+P+Q+T+V+W #define ACTION_2158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2159: x<-K+P+Q+U+V+W #define ACTION_2159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2160: x<-K+P+R+S+T+U #define ACTION_2160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2161: x<-K+P+R+S+T+V #define ACTION_2161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2162: x<-K+P+R+S+T+W #define ACTION_2162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2163: x<-K+P+R+S+U+V #define ACTION_2163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2164: x<-K+P+R+S+U+W #define ACTION_2164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2165: x<-K+P+R+S+V+W #define ACTION_2165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2166: x<-K+P+R+T+U+W #define ACTION_2166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2167: x<-K+P+R+T+V+W #define ACTION_2167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2168: x<-K+P+R+U+V+W #define ACTION_2168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2169: x<-K+P+S+T+U+W #define ACTION_2169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2170: x<-K+P+S+T+V+W #define ACTION_2170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2171: x<-K+P+S+U+V+W #define ACTION_2171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2172: x<-K+Q+R+T+U+W #define ACTION_2172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2173: x<-K+Q+R+T+V+W #define ACTION_2173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2174: x<-K+Q+R+U+V+W #define ACTION_2174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2175: x<-K+Q+S+T+U+W #define ACTION_2175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2176: x<-K+Q+S+T+V+W #define ACTION_2176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2177: x<-K+Q+S+U+V+W #define ACTION_2177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2178: x<-K+R+S+T+U+W #define ACTION_2178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2179: x<-K+R+S+T+V+W #define ACTION_2179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2180: x<-K+R+S+U+V+W #define ACTION_2180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2181: x<-L+M+N+O+T+U #define ACTION_2181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2182: x<-L+M+N+O+T+V #define ACTION_2182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2183: x<-L+M+N+O+T+W #define ACTION_2183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2184: x<-L+M+N+O+U+V #define ACTION_2184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2185: x<-L+M+N+O+U+W #define ACTION_2185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2186: x<-L+M+N+O+V+W #define ACTION_2186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2187: x<-L+M+N+P+T+U #define ACTION_2187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2188: x<-L+M+N+P+T+V #define ACTION_2188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2189: x<-L+M+N+P+T+W #define ACTION_2189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2190: x<-L+M+N+P+U+V #define ACTION_2190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2191: x<-L+M+N+P+U+W #define ACTION_2191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2192: x<-L+M+N+P+V+W #define ACTION_2192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2193: x<-L+M+N+R+T+U #define ACTION_2193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2194: x<-L+M+N+R+T+V #define ACTION_2194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2195: x<-L+M+N+R+T+W #define ACTION_2195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2196: x<-L+M+N+R+U+V #define ACTION_2196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2197: x<-L+M+N+R+U+W #define ACTION_2197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2198: x<-L+M+N+R+V+W #define ACTION_2198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2199: x<-L+M+N+S+T+U #define ACTION_2199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2200: x<-L+M+N+S+T+V #define ACTION_2200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2201: x<-L+M+N+S+T+W #define ACTION_2201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2202: x<-L+M+N+S+U+V #define ACTION_2202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2203: x<-L+M+N+S+U+W #define ACTION_2203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2204: x<-L+M+N+S+V+W #define ACTION_2204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2205: x<-L+M+N+T+U+W #define ACTION_2205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2206: x<-L+M+N+T+V+W #define ACTION_2206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2207: x<-L+M+N+U+V+W #define ACTION_2207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2208: x<-L+M+O+P+T+U #define ACTION_2208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2209: x<-L+M+O+P+T+V #define ACTION_2209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2210: x<-L+M+O+P+T+W #define ACTION_2210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2211: x<-L+M+O+P+U+V #define ACTION_2211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2212: x<-L+M+O+P+U+W #define ACTION_2212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2213: x<-L+M+O+P+V+W #define ACTION_2213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2214: x<-L+M+O+Q+T+U #define ACTION_2214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2215: x<-L+M+O+Q+T+V #define ACTION_2215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2216: x<-L+M+O+Q+T+W #define ACTION_2216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2217: x<-L+M+O+Q+U+V #define ACTION_2217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2218: x<-L+M+O+Q+U+W #define ACTION_2218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2219: x<-L+M+O+Q+V+W #define ACTION_2219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2220: x<-L+M+O+S+T+U #define ACTION_2220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2221: x<-L+M+O+S+T+V #define ACTION_2221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2222: x<-L+M+O+S+T+W #define ACTION_2222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2223: x<-L+M+O+S+U+V #define ACTION_2223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2224: x<-L+M+O+S+U+W #define ACTION_2224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2225: x<-L+M+O+S+V+W #define ACTION_2225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2226: x<-L+M+O+T+U+W #define ACTION_2226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2227: x<-L+M+O+T+V+W #define ACTION_2227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2228: x<-L+M+O+U+V+W #define ACTION_2228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2229: x<-L+M+P+Q+T+U #define ACTION_2229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2230: x<-L+M+P+Q+T+V #define ACTION_2230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2231: x<-L+M+P+Q+T+W #define ACTION_2231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2232: x<-L+M+P+Q+U+V #define ACTION_2232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2233: x<-L+M+P+Q+U+W #define ACTION_2233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2234: x<-L+M+P+Q+V+W #define ACTION_2234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2235: x<-L+M+P+R+T+U #define ACTION_2235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2236: x<-L+M+P+R+T+V #define ACTION_2236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2237: x<-L+M+P+R+T+W #define ACTION_2237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2238: x<-L+M+P+R+U+V #define ACTION_2238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2239: x<-L+M+P+R+U+W #define ACTION_2239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2240: x<-L+M+P+R+V+W #define ACTION_2240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2241: x<-L+M+P+T+U+W #define ACTION_2241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2242: x<-L+M+P+T+V+W #define ACTION_2242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2243: x<-L+M+P+U+V+W #define ACTION_2243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2244: x<-L+M+Q+R+T+U #define ACTION_2244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2245: x<-L+M+Q+R+T+V #define ACTION_2245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2246: x<-L+M+Q+R+T+W #define ACTION_2246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2247: x<-L+M+Q+R+U+V #define ACTION_2247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2248: x<-L+M+Q+R+U+W #define ACTION_2248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2249: x<-L+M+Q+R+V+W #define ACTION_2249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2250: x<-L+M+Q+S+T+U #define ACTION_2250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2251: x<-L+M+Q+S+T+V #define ACTION_2251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2252: x<-L+M+Q+S+T+W #define ACTION_2252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2253: x<-L+M+Q+S+U+V #define ACTION_2253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2254: x<-L+M+Q+S+U+W #define ACTION_2254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2255: x<-L+M+Q+S+V+W #define ACTION_2255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2256: x<-L+M+Q+T+U+W #define ACTION_2256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2257: x<-L+M+Q+T+V+W #define ACTION_2257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2258: x<-L+M+Q+U+V+W #define ACTION_2258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2259: x<-L+M+R+S+T+U #define ACTION_2259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2260: x<-L+M+R+S+T+V #define ACTION_2260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2261: x<-L+M+R+S+T+W #define ACTION_2261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2262: x<-L+M+R+S+U+V #define ACTION_2262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2263: x<-L+M+R+S+U+W #define ACTION_2263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2264: x<-L+M+R+S+V+W #define ACTION_2264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2265: x<-L+M+R+T+U+W #define ACTION_2265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2266: x<-L+M+R+T+V+W #define ACTION_2266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2267: x<-L+M+R+U+V+W #define ACTION_2267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2268: x<-L+M+S+T+U+W #define ACTION_2268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2269: x<-L+M+S+T+V+W #define ACTION_2269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2270: x<-L+M+S+U+V+W #define ACTION_2270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2271: x<-L+N+O+Q+T+U #define ACTION_2271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2272: x<-L+N+O+Q+T+V #define ACTION_2272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2273: x<-L+N+O+Q+T+W #define ACTION_2273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2274: x<-L+N+O+Q+U+V #define ACTION_2274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2275: x<-L+N+O+Q+U+W #define ACTION_2275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2276: x<-L+N+O+Q+V+W #define ACTION_2276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2277: x<-L+N+O+T+U+W #define ACTION_2277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2278: x<-L+N+O+T+V+W #define ACTION_2278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2279: x<-L+N+O+U+V+W #define ACTION_2279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2280: x<-L+N+P+Q+T+U #define ACTION_2280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2281: x<-L+N+P+Q+T+V #define ACTION_2281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2282: x<-L+N+P+Q+T+W #define ACTION_2282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2283: x<-L+N+P+Q+U+V #define ACTION_2283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2284: x<-L+N+P+Q+U+W #define ACTION_2284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2285: x<-L+N+P+Q+V+W #define ACTION_2285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2286: x<-L+N+P+R+T+U #define ACTION_2286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2287: x<-L+N+P+R+T+V #define ACTION_2287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2288: x<-L+N+P+R+T+W #define ACTION_2288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2289: x<-L+N+P+R+U+V #define ACTION_2289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2290: x<-L+N+P+R+U+W #define ACTION_2290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2291: x<-L+N+P+R+V+W #define ACTION_2291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2292: x<-L+N+P+S+T+U #define ACTION_2292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2293: x<-L+N+P+S+T+V #define ACTION_2293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2294: x<-L+N+P+S+T+W #define ACTION_2294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2295: x<-L+N+P+S+U+V #define ACTION_2295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2296: x<-L+N+P+S+U+W #define ACTION_2296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2297: x<-L+N+P+S+V+W #define ACTION_2297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2298: x<-L+N+P+T+U+W #define ACTION_2298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2299: x<-L+N+P+T+V+W #define ACTION_2299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2300: x<-L+N+P+U+V+W #define ACTION_2300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2301: x<-L+N+Q+R+T+U #define ACTION_2301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2302: x<-L+N+Q+R+T+V #define ACTION_2302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2303: x<-L+N+Q+R+T+W #define ACTION_2303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2304: x<-L+N+Q+R+U+V #define ACTION_2304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2305: x<-L+N+Q+R+U+W #define ACTION_2305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2306: x<-L+N+Q+R+V+W #define ACTION_2306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2307: x<-L+N+Q+S+T+U #define ACTION_2307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2308: x<-L+N+Q+S+T+V #define ACTION_2308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2309: x<-L+N+Q+S+T+W #define ACTION_2309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2310: x<-L+N+Q+S+U+V #define ACTION_2310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2311: x<-L+N+Q+S+U+W #define ACTION_2311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2312: x<-L+N+Q+S+V+W #define ACTION_2312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2313: x<-L+N+Q+T+U+W #define ACTION_2313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2314: x<-L+N+Q+T+V+W #define ACTION_2314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2315: x<-L+N+Q+U+V+W #define ACTION_2315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2316: x<-L+N+R+S+T+U #define ACTION_2316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2317: x<-L+N+R+S+T+V #define ACTION_2317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2318: x<-L+N+R+S+T+W #define ACTION_2318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2319: x<-L+N+R+S+U+V #define ACTION_2319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2320: x<-L+N+R+S+U+W #define ACTION_2320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2321: x<-L+N+R+S+V+W #define ACTION_2321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2322: x<-L+N+R+T+U+W #define ACTION_2322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2323: x<-L+N+R+T+V+W #define ACTION_2323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2324: x<-L+N+R+U+V+W #define ACTION_2324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2325: x<-L+N+S+T+U+W #define ACTION_2325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2326: x<-L+N+S+T+V+W #define ACTION_2326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2327: x<-L+N+S+U+V+W #define ACTION_2327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2328: x<-L+O+P+S+T+U #define ACTION_2328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2329: x<-L+O+P+S+T+V #define ACTION_2329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2330: x<-L+O+P+S+T+W #define ACTION_2330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2331: x<-L+O+P+S+U+V #define ACTION_2331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2332: x<-L+O+P+S+U+W #define ACTION_2332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2333: x<-L+O+P+S+V+W #define ACTION_2333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2334: x<-L+O+P+T+U+W #define ACTION_2334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2335: x<-L+O+P+T+V+W #define ACTION_2335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2336: x<-L+O+P+U+V+W #define ACTION_2336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2337: x<-L+O+Q+T+U+W #define ACTION_2337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2338: x<-L+O+Q+T+V+W #define ACTION_2338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2339: x<-L+O+Q+U+V+W #define ACTION_2339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2340: x<-L+O+S+T+U+W #define ACTION_2340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2341: x<-L+O+S+T+V+W #define ACTION_2341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2342: x<-L+O+S+U+V+W #define ACTION_2342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2343: x<-L+P+Q+R+T+U #define ACTION_2343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2344: x<-L+P+Q+R+T+V #define ACTION_2344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2345: x<-L+P+Q+R+T+W #define ACTION_2345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2346: x<-L+P+Q+R+U+V #define ACTION_2346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2347: x<-L+P+Q+R+U+W #define ACTION_2347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2348: x<-L+P+Q+R+V+W #define ACTION_2348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2349: x<-L+P+Q+S+T+U #define ACTION_2349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2350: x<-L+P+Q+S+T+V #define ACTION_2350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2351: x<-L+P+Q+S+T+W #define ACTION_2351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2352: x<-L+P+Q+S+U+V #define ACTION_2352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2353: x<-L+P+Q+S+U+W #define ACTION_2353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2354: x<-L+P+Q+S+V+W #define ACTION_2354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2355: x<-L+P+Q+T+U+W #define ACTION_2355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2356: x<-L+P+Q+T+V+W #define ACTION_2356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2357: x<-L+P+Q+U+V+W #define ACTION_2357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2358: x<-L+P+R+S+T+U #define ACTION_2358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2359: x<-L+P+R+S+T+V #define ACTION_2359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2360: x<-L+P+R+S+T+W #define ACTION_2360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2361: x<-L+P+R+S+U+V #define ACTION_2361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2362: x<-L+P+R+S+U+W #define ACTION_2362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2363: x<-L+P+R+S+V+W #define ACTION_2363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2364: x<-L+P+R+T+U+W #define ACTION_2364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2365: x<-L+P+R+T+V+W #define ACTION_2365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2366: x<-L+P+R+U+V+W #define ACTION_2366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2367: x<-L+P+S+T+U+W #define ACTION_2367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2368: x<-L+P+S+T+V+W #define ACTION_2368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2369: x<-L+P+S+U+V+W #define ACTION_2369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2370: x<-L+Q+R+T+U+W #define ACTION_2370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2371: x<-L+Q+R+T+V+W #define ACTION_2371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2372: x<-L+Q+R+U+V+W #define ACTION_2372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2373: x<-L+Q+S+T+U+W #define ACTION_2373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2374: x<-L+Q+S+T+V+W #define ACTION_2374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2375: x<-L+Q+S+U+V+W #define ACTION_2375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2376: x<-L+R+S+T+U+W #define ACTION_2376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2377: x<-L+R+S+T+V+W #define ACTION_2377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2378: x<-L+R+S+U+V+W #define ACTION_2378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2379: x<-M+N+O+Q+T+U #define ACTION_2379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2380: x<-M+N+O+Q+T+V #define ACTION_2380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2381: x<-M+N+O+Q+T+W #define ACTION_2381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2382: x<-M+N+O+Q+U+V #define ACTION_2382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2383: x<-M+N+O+Q+U+W #define ACTION_2383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2384: x<-M+N+O+Q+V+W #define ACTION_2384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2385: x<-M+N+O+T+U+W #define ACTION_2385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2386: x<-M+N+O+T+V+W #define ACTION_2386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2387: x<-M+N+O+U+V+W #define ACTION_2387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2388: x<-M+N+P+Q+T+U #define ACTION_2388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2389: x<-M+N+P+Q+T+V #define ACTION_2389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2390: x<-M+N+P+Q+T+W #define ACTION_2390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2391: x<-M+N+P+Q+U+V #define ACTION_2391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2392: x<-M+N+P+Q+U+W #define ACTION_2392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2393: x<-M+N+P+Q+V+W #define ACTION_2393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2394: x<-M+N+P+R+T+U #define ACTION_2394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2395: x<-M+N+P+R+T+V #define ACTION_2395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2396: x<-M+N+P+R+T+W #define ACTION_2396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2397: x<-M+N+P+R+U+V #define ACTION_2397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2398: x<-M+N+P+R+U+W #define ACTION_2398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2399: x<-M+N+P+R+V+W #define ACTION_2399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2400: x<-M+N+P+T+U+W #define ACTION_2400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2401: x<-M+N+P+T+V+W #define ACTION_2401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2402: x<-M+N+P+U+V+W #define ACTION_2402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2403: x<-M+N+Q+R+T+U #define ACTION_2403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2404: x<-M+N+Q+R+T+V #define ACTION_2404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2405: x<-M+N+Q+R+T+W #define ACTION_2405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2406: x<-M+N+Q+R+U+V #define ACTION_2406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2407: x<-M+N+Q+R+U+W #define ACTION_2407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2408: x<-M+N+Q+R+V+W #define ACTION_2408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2409: x<-M+N+Q+S+T+U #define ACTION_2409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2410: x<-M+N+Q+S+T+V #define ACTION_2410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2411: x<-M+N+Q+S+T+W #define ACTION_2411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2412: x<-M+N+Q+S+U+V #define ACTION_2412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2413: x<-M+N+Q+S+U+W #define ACTION_2413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2414: x<-M+N+Q+S+V+W #define ACTION_2414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2415: x<-M+N+Q+T+U+W #define ACTION_2415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2416: x<-M+N+Q+T+V+W #define ACTION_2416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2417: x<-M+N+Q+U+V+W #define ACTION_2417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2418: x<-M+N+R+S+T+U #define ACTION_2418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2419: x<-M+N+R+S+T+V #define ACTION_2419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2420: x<-M+N+R+S+T+W #define ACTION_2420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2421: x<-M+N+R+S+U+V #define ACTION_2421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2422: x<-M+N+R+S+U+W #define ACTION_2422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2423: x<-M+N+R+S+V+W #define ACTION_2423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2424: x<-M+N+R+T+U+W #define ACTION_2424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2425: x<-M+N+R+T+V+W #define ACTION_2425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2426: x<-M+N+R+U+V+W #define ACTION_2426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2427: x<-M+N+S+T+U+W #define ACTION_2427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2428: x<-M+N+S+T+V+W #define ACTION_2428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2429: x<-M+N+S+U+V+W #define ACTION_2429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2430: x<-M+O+P+Q+T+U #define ACTION_2430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2431: x<-M+O+P+Q+T+V #define ACTION_2431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2432: x<-M+O+P+Q+T+W #define ACTION_2432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2433: x<-M+O+P+Q+U+V #define ACTION_2433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2434: x<-M+O+P+Q+U+W #define ACTION_2434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2435: x<-M+O+P+Q+V+W #define ACTION_2435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2436: x<-M+O+P+R+T+U #define ACTION_2436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2437: x<-M+O+P+R+T+V #define ACTION_2437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2438: x<-M+O+P+R+T+W #define ACTION_2438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2439: x<-M+O+P+R+U+V #define ACTION_2439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2440: x<-M+O+P+R+U+W #define ACTION_2440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2441: x<-M+O+P+R+V+W #define ACTION_2441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2442: x<-M+O+P+T+U+W #define ACTION_2442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2443: x<-M+O+P+T+V+W #define ACTION_2443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2444: x<-M+O+P+U+V+W #define ACTION_2444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2445: x<-M+O+Q+R+T+U #define ACTION_2445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2446: x<-M+O+Q+R+T+V #define ACTION_2446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2447: x<-M+O+Q+R+T+W #define ACTION_2447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2448: x<-M+O+Q+R+U+V #define ACTION_2448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2449: x<-M+O+Q+R+U+W #define ACTION_2449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2450: x<-M+O+Q+R+V+W #define ACTION_2450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2451: x<-M+O+Q+S+T+U #define ACTION_2451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2452: x<-M+O+Q+S+T+V #define ACTION_2452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2453: x<-M+O+Q+S+T+W #define ACTION_2453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2454: x<-M+O+Q+S+U+V #define ACTION_2454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2455: x<-M+O+Q+S+U+W #define ACTION_2455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2456: x<-M+O+Q+S+V+W #define ACTION_2456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2457: x<-M+O+Q+T+U+W #define ACTION_2457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2458: x<-M+O+Q+T+V+W #define ACTION_2458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2459: x<-M+O+Q+U+V+W #define ACTION_2459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2460: x<-M+O+R+S+T+U #define ACTION_2460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2461: x<-M+O+R+S+T+V #define ACTION_2461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2462: x<-M+O+R+S+T+W #define ACTION_2462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2463: x<-M+O+R+S+U+V #define ACTION_2463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2464: x<-M+O+R+S+U+W #define ACTION_2464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2465: x<-M+O+R+S+V+W #define ACTION_2465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2466: x<-M+O+R+T+U+W #define ACTION_2466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2467: x<-M+O+R+T+V+W #define ACTION_2467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2468: x<-M+O+R+U+V+W #define ACTION_2468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2469: x<-M+O+S+T+U+W #define ACTION_2469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2470: x<-M+O+S+T+V+W #define ACTION_2470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2471: x<-M+O+S+U+V+W #define ACTION_2471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2472: x<-M+P+Q+T+U+W #define ACTION_2472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2473: x<-M+P+Q+T+V+W #define ACTION_2473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2474: x<-M+P+Q+U+V+W #define ACTION_2474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2475: x<-M+P+R+T+U+W #define ACTION_2475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2476: x<-M+P+R+T+V+W #define ACTION_2476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2477: x<-M+P+R+U+V+W #define ACTION_2477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2478: x<-M+Q+R+T+U+W #define ACTION_2478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2479: x<-M+Q+R+T+V+W #define ACTION_2479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2480: x<-M+Q+R+U+V+W #define ACTION_2480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2481: x<-M+Q+S+T+U+W #define ACTION_2481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2482: x<-M+Q+S+T+V+W #define ACTION_2482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2483: x<-M+Q+S+U+V+W #define ACTION_2483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2484: x<-M+R+S+T+U+W #define ACTION_2484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2485: x<-M+R+S+T+V+W #define ACTION_2485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2486: x<-M+R+S+U+V+W #define ACTION_2486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2487: x<-N+O+Q+R+T+U #define ACTION_2487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2488: x<-N+O+Q+R+T+V #define ACTION_2488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2489: x<-N+O+Q+R+T+W #define ACTION_2489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2490: x<-N+O+Q+R+U+V #define ACTION_2490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2491: x<-N+O+Q+R+U+W #define ACTION_2491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2492: x<-N+O+Q+R+V+W #define ACTION_2492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2493: x<-N+O+Q+S+T+U #define ACTION_2493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2494: x<-N+O+Q+S+T+V #define ACTION_2494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2495: x<-N+O+Q+S+T+W #define ACTION_2495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2496: x<-N+O+Q+S+U+V #define ACTION_2496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2497: x<-N+O+Q+S+U+W #define ACTION_2497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2498: x<-N+O+Q+S+V+W #define ACTION_2498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2499: x<-N+O+Q+T+U+W #define ACTION_2499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2500: x<-N+O+Q+T+V+W #define ACTION_2500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2501: x<-N+O+Q+U+V+W #define ACTION_2501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2502: x<-N+O+R+S+T+U #define ACTION_2502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2503: x<-N+O+R+S+T+V #define ACTION_2503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2504: x<-N+O+R+S+T+W #define ACTION_2504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2505: x<-N+O+R+S+U+V #define ACTION_2505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2506: x<-N+O+R+S+U+W #define ACTION_2506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2507: x<-N+O+R+S+V+W #define ACTION_2507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2508: x<-N+O+R+T+U+W #define ACTION_2508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2509: x<-N+O+R+T+V+W #define ACTION_2509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2510: x<-N+O+R+U+V+W #define ACTION_2510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2511: x<-N+O+S+T+U+W #define ACTION_2511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2512: x<-N+O+S+T+V+W #define ACTION_2512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2513: x<-N+O+S+U+V+W #define ACTION_2513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2514: x<-N+P+Q+R+T+U #define ACTION_2514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2515: x<-N+P+Q+R+T+V #define ACTION_2515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2516: x<-N+P+Q+R+T+W #define ACTION_2516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2517: x<-N+P+Q+R+U+V #define ACTION_2517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2518: x<-N+P+Q+R+U+W #define ACTION_2518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2519: x<-N+P+Q+R+V+W #define ACTION_2519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2520: x<-N+P+Q+S+T+U #define ACTION_2520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2521: x<-N+P+Q+S+T+V #define ACTION_2521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2522: x<-N+P+Q+S+T+W #define ACTION_2522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2523: x<-N+P+Q+S+U+V #define ACTION_2523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2524: x<-N+P+Q+S+U+W #define ACTION_2524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2525: x<-N+P+Q+S+V+W #define ACTION_2525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2526: x<-N+P+Q+T+U+W #define ACTION_2526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2527: x<-N+P+Q+T+V+W #define ACTION_2527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2528: x<-N+P+Q+U+V+W #define ACTION_2528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2529: x<-N+P+R+S+T+U #define ACTION_2529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2530: x<-N+P+R+S+T+V #define ACTION_2530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2531: x<-N+P+R+S+T+W #define ACTION_2531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2532: x<-N+P+R+S+U+V #define ACTION_2532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2533: x<-N+P+R+S+U+W #define ACTION_2533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2534: x<-N+P+R+S+V+W #define ACTION_2534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2535: x<-N+P+R+T+U+W #define ACTION_2535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2536: x<-N+P+R+T+V+W #define ACTION_2536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2537: x<-N+P+R+U+V+W #define ACTION_2537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2538: x<-N+P+S+T+U+W #define ACTION_2538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2539: x<-N+P+S+T+V+W #define ACTION_2539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2540: x<-N+P+S+U+V+W #define ACTION_2540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2541: x<-N+Q+R+T+U+W #define ACTION_2541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2542: x<-N+Q+R+T+V+W #define ACTION_2542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2543: x<-N+Q+R+U+V+W #define ACTION_2543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2544: x<-N+Q+S+T+U+W #define ACTION_2544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2545: x<-N+Q+S+T+V+W #define ACTION_2545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2546: x<-N+Q+S+U+V+W #define ACTION_2546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2547: x<-N+R+S+T+U+W #define ACTION_2547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2548: x<-N+R+S+T+V+W #define ACTION_2548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2549: x<-N+R+S+U+V+W #define ACTION_2549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2550: x<-O+P+Q+R+T+U #define ACTION_2550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2551: x<-O+P+Q+R+T+V #define ACTION_2551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2552: x<-O+P+Q+R+T+W #define ACTION_2552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2553: x<-O+P+Q+R+U+V #define ACTION_2553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2554: x<-O+P+Q+R+U+W #define ACTION_2554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2555: x<-O+P+Q+R+V+W #define ACTION_2555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2556: x<-O+P+Q+S+T+U #define ACTION_2556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2557: x<-O+P+Q+S+T+V #define ACTION_2557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2558: x<-O+P+Q+S+T+W #define ACTION_2558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2559: x<-O+P+Q+S+U+V #define ACTION_2559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2560: x<-O+P+Q+S+U+W #define ACTION_2560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2561: x<-O+P+Q+S+V+W #define ACTION_2561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2562: x<-O+P+Q+T+U+W #define ACTION_2562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2563: x<-O+P+Q+T+V+W #define ACTION_2563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2564: x<-O+P+Q+U+V+W #define ACTION_2564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2565: x<-O+P+R+S+T+U #define ACTION_2565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2566: x<-O+P+R+S+T+V #define ACTION_2566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2567: x<-O+P+R+S+T+W #define ACTION_2567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2568: x<-O+P+R+S+U+V #define ACTION_2568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2569: x<-O+P+R+S+U+W #define ACTION_2569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2570: x<-O+P+R+S+V+W #define ACTION_2570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2571: x<-O+P+R+T+U+W #define ACTION_2571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2572: x<-O+P+R+T+V+W #define ACTION_2572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2573: x<-O+P+R+U+V+W #define ACTION_2573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2574: x<-O+P+S+T+U+W #define ACTION_2574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2575: x<-O+P+S+T+V+W #define ACTION_2575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2576: x<-O+P+S+U+V+W #define ACTION_2576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2577: x<-O+Q+R+T+U+W #define ACTION_2577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2578: x<-O+Q+R+T+V+W #define ACTION_2578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2579: x<-O+Q+R+U+V+W #define ACTION_2579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2580: x<-O+Q+S+T+U+W #define ACTION_2580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2581: x<-O+Q+S+T+V+W #define ACTION_2581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2582: x<-O+Q+S+U+V+W #define ACTION_2582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2583: x<-O+R+S+T+U+W #define ACTION_2583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2584: x<-O+R+S+T+V+W #define ACTION_2584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2585: x<-O+R+S+U+V+W #define ACTION_2585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2586: x<-P+Q+R+T+U+W #define ACTION_2586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2587: x<-P+Q+R+T+V+W #define ACTION_2587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2588: x<-P+Q+R+U+V+W #define ACTION_2588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2589: x<-P+Q+S+T+U+W #define ACTION_2589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2590: x<-P+Q+S+T+V+W #define ACTION_2590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2591: x<-P+Q+S+U+V+W #define ACTION_2591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2592: x<-P+R+S+T+U+W #define ACTION_2592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2593: x<-P+R+S+T+V+W #define ACTION_2593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2594: x<-P+R+S+U+V+W #define ACTION_2594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2595: x<-K+L+N+O+T+U+W #define ACTION_2595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2596: x<-K+L+N+O+T+V+W #define ACTION_2596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2597: x<-K+L+N+O+U+V+W #define ACTION_2597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2598: x<-K+L+N+P+T+U+W #define ACTION_2598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2599: x<-K+L+N+P+T+V+W #define ACTION_2599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2600: x<-K+L+N+P+U+V+W #define ACTION_2600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2601: x<-K+L+N+R+T+U+W #define ACTION_2601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2602: x<-K+L+N+R+T+V+W #define ACTION_2602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2603: x<-K+L+N+R+U+V+W #define ACTION_2603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2604: x<-K+L+N+S+T+U+W #define ACTION_2604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2605: x<-K+L+N+S+T+V+W #define ACTION_2605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2606: x<-K+L+N+S+U+V+W #define ACTION_2606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2607: x<-K+L+O+P+T+U+W #define ACTION_2607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2608: x<-K+L+O+P+T+V+W #define ACTION_2608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2609: x<-K+L+O+P+U+V+W #define ACTION_2609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2610: x<-K+L+O+Q+T+U+W #define ACTION_2610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2611: x<-K+L+O+Q+T+V+W #define ACTION_2611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2612: x<-K+L+O+Q+U+V+W #define ACTION_2612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2613: x<-K+L+O+S+T+U+W #define ACTION_2613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2614: x<-K+L+O+S+T+V+W #define ACTION_2614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2615: x<-K+L+O+S+U+V+W #define ACTION_2615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2616: x<-K+L+P+Q+T+U+W #define ACTION_2616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2617: x<-K+L+P+Q+T+V+W #define ACTION_2617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2618: x<-K+L+P+Q+U+V+W #define ACTION_2618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2619: x<-K+L+P+R+T+U+W #define ACTION_2619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2620: x<-K+L+P+R+T+V+W #define ACTION_2620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2621: x<-K+L+P+R+U+V+W #define ACTION_2621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2622: x<-K+L+Q+R+T+U+W #define ACTION_2622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2623: x<-K+L+Q+R+T+V+W #define ACTION_2623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2624: x<-K+L+Q+R+U+V+W #define ACTION_2624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2625: x<-K+L+Q+S+T+U+W #define ACTION_2625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2626: x<-K+L+Q+S+T+V+W #define ACTION_2626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2627: x<-K+L+Q+S+U+V+W #define ACTION_2627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2628: x<-K+L+R+S+T+U+W #define ACTION_2628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2629: x<-K+L+R+S+T+V+W #define ACTION_2629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2630: x<-K+L+R+S+U+V+W #define ACTION_2630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2631: x<-K+M+N+O+T+U+W #define ACTION_2631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2632: x<-K+M+N+O+T+V+W #define ACTION_2632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2633: x<-K+M+N+O+U+V+W #define ACTION_2633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2634: x<-K+M+N+P+T+U+W #define ACTION_2634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2635: x<-K+M+N+P+T+V+W #define ACTION_2635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2636: x<-K+M+N+P+U+V+W #define ACTION_2636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2637: x<-K+M+N+R+T+U+W #define ACTION_2637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2638: x<-K+M+N+R+T+V+W #define ACTION_2638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2639: x<-K+M+N+R+U+V+W #define ACTION_2639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2640: x<-K+M+N+S+T+U+W #define ACTION_2640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2641: x<-K+M+N+S+T+V+W #define ACTION_2641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2642: x<-K+M+N+S+U+V+W #define ACTION_2642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2643: x<-K+M+O+P+T+U+W #define ACTION_2643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2644: x<-K+M+O+P+T+V+W #define ACTION_2644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2645: x<-K+M+O+P+U+V+W #define ACTION_2645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2646: x<-K+M+O+Q+T+U+W #define ACTION_2646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2647: x<-K+M+O+Q+T+V+W #define ACTION_2647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2648: x<-K+M+O+Q+U+V+W #define ACTION_2648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2649: x<-K+M+O+S+T+U+W #define ACTION_2649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2650: x<-K+M+O+S+T+V+W #define ACTION_2650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2651: x<-K+M+O+S+U+V+W #define ACTION_2651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2652: x<-K+M+P+Q+T+U+W #define ACTION_2652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2653: x<-K+M+P+Q+T+V+W #define ACTION_2653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2654: x<-K+M+P+Q+U+V+W #define ACTION_2654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2655: x<-K+M+P+R+T+U+W #define ACTION_2655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2656: x<-K+M+P+R+T+V+W #define ACTION_2656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2657: x<-K+M+P+R+U+V+W #define ACTION_2657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2658: x<-K+M+Q+R+T+U+W #define ACTION_2658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2659: x<-K+M+Q+R+T+V+W #define ACTION_2659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2660: x<-K+M+Q+R+U+V+W #define ACTION_2660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2661: x<-K+M+Q+S+T+U+W #define ACTION_2661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2662: x<-K+M+Q+S+T+V+W #define ACTION_2662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2663: x<-K+M+Q+S+U+V+W #define ACTION_2663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2664: x<-K+M+R+S+T+U+W #define ACTION_2664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2665: x<-K+M+R+S+T+V+W #define ACTION_2665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2666: x<-K+M+R+S+U+V+W #define ACTION_2666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2667: x<-K+N+O+R+T+U+W #define ACTION_2667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2668: x<-K+N+O+R+T+V+W #define ACTION_2668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2669: x<-K+N+O+R+U+V+W #define ACTION_2669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2670: x<-K+N+O+S+T+U+W #define ACTION_2670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2671: x<-K+N+O+S+T+V+W #define ACTION_2671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2672: x<-K+N+O+S+U+V+W #define ACTION_2672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2673: x<-K+N+P+R+T+U+W #define ACTION_2673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2674: x<-K+N+P+R+T+V+W #define ACTION_2674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2675: x<-K+N+P+R+U+V+W #define ACTION_2675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2676: x<-K+N+P+S+T+U+W #define ACTION_2676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2677: x<-K+N+P+S+T+V+W #define ACTION_2677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2678: x<-K+N+P+S+U+V+W #define ACTION_2678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2679: x<-K+O+P+S+T+U+W #define ACTION_2679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2680: x<-K+O+P+S+T+V+W #define ACTION_2680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2681: x<-K+O+P+S+U+V+W #define ACTION_2681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2682: x<-K+O+Q+R+T+U+W #define ACTION_2682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2683: x<-K+O+Q+R+T+V+W #define ACTION_2683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2684: x<-K+O+Q+R+U+V+W #define ACTION_2684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2685: x<-K+O+Q+S+T+U+W #define ACTION_2685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2686: x<-K+O+Q+S+T+V+W #define ACTION_2686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2687: x<-K+O+Q+S+U+V+W #define ACTION_2687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2688: x<-K+O+R+S+T+U+W #define ACTION_2688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2689: x<-K+O+R+S+T+V+W #define ACTION_2689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2690: x<-K+O+R+S+U+V+W #define ACTION_2690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2691: x<-K+P+Q+R+T+U+W #define ACTION_2691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2692: x<-K+P+Q+R+T+V+W #define ACTION_2692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2693: x<-K+P+Q+R+U+V+W #define ACTION_2693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2694: x<-K+P+Q+S+T+U+W #define ACTION_2694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2695: x<-K+P+Q+S+T+V+W #define ACTION_2695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2696: x<-K+P+Q+S+U+V+W #define ACTION_2696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2697: x<-K+P+R+S+T+U+W #define ACTION_2697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2698: x<-K+P+R+S+T+V+W #define ACTION_2698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2699: x<-K+P+R+S+U+V+W #define ACTION_2699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2700: x<-L+M+N+O+T+U+W #define ACTION_2700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2701: x<-L+M+N+O+T+V+W #define ACTION_2701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2702: x<-L+M+N+O+U+V+W #define ACTION_2702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2703: x<-L+M+N+P+T+U+W #define ACTION_2703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2704: x<-L+M+N+P+T+V+W #define ACTION_2704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2705: x<-L+M+N+P+U+V+W #define ACTION_2705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2706: x<-L+M+N+R+T+U+W #define ACTION_2706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2707: x<-L+M+N+R+T+V+W #define ACTION_2707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2708: x<-L+M+N+R+U+V+W #define ACTION_2708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2709: x<-L+M+N+S+T+U+W #define ACTION_2709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2710: x<-L+M+N+S+T+V+W #define ACTION_2710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2711: x<-L+M+N+S+U+V+W #define ACTION_2711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2712: x<-L+M+O+P+T+U+W #define ACTION_2712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2713: x<-L+M+O+P+T+V+W #define ACTION_2713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2714: x<-L+M+O+P+U+V+W #define ACTION_2714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2715: x<-L+M+O+Q+T+U+W #define ACTION_2715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2716: x<-L+M+O+Q+T+V+W #define ACTION_2716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2717: x<-L+M+O+Q+U+V+W #define ACTION_2717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2718: x<-L+M+O+S+T+U+W #define ACTION_2718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2719: x<-L+M+O+S+T+V+W #define ACTION_2719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2720: x<-L+M+O+S+U+V+W #define ACTION_2720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2721: x<-L+M+P+Q+T+U+W #define ACTION_2721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2722: x<-L+M+P+Q+T+V+W #define ACTION_2722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2723: x<-L+M+P+Q+U+V+W #define ACTION_2723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2724: x<-L+M+P+R+T+U+W #define ACTION_2724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2725: x<-L+M+P+R+T+V+W #define ACTION_2725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2726: x<-L+M+P+R+U+V+W #define ACTION_2726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2727: x<-L+M+Q+R+T+U+W #define ACTION_2727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2728: x<-L+M+Q+R+T+V+W #define ACTION_2728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2729: x<-L+M+Q+R+U+V+W #define ACTION_2729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2730: x<-L+M+Q+S+T+U+W #define ACTION_2730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2731: x<-L+M+Q+S+T+V+W #define ACTION_2731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2732: x<-L+M+Q+S+U+V+W #define ACTION_2732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2733: x<-L+M+R+S+T+U+W #define ACTION_2733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2734: x<-L+M+R+S+T+V+W #define ACTION_2734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2735: x<-L+M+R+S+U+V+W #define ACTION_2735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2736: x<-L+N+O+Q+T+U+W #define ACTION_2736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2737: x<-L+N+O+Q+T+V+W #define ACTION_2737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2738: x<-L+N+O+Q+U+V+W #define ACTION_2738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2739: x<-L+N+P+Q+T+U+W #define ACTION_2739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2740: x<-L+N+P+Q+T+V+W #define ACTION_2740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2741: x<-L+N+P+Q+U+V+W #define ACTION_2741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2742: x<-L+N+P+R+T+U+W #define ACTION_2742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2743: x<-L+N+P+R+T+V+W #define ACTION_2743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2744: x<-L+N+P+R+U+V+W #define ACTION_2744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2745: x<-L+N+P+S+T+U+W #define ACTION_2745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2746: x<-L+N+P+S+T+V+W #define ACTION_2746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2747: x<-L+N+P+S+U+V+W #define ACTION_2747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2748: x<-L+N+Q+R+T+U+W #define ACTION_2748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2749: x<-L+N+Q+R+T+V+W #define ACTION_2749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2750: x<-L+N+Q+R+U+V+W #define ACTION_2750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2751: x<-L+N+Q+S+T+U+W #define ACTION_2751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2752: x<-L+N+Q+S+T+V+W #define ACTION_2752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2753: x<-L+N+Q+S+U+V+W #define ACTION_2753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2754: x<-L+N+R+S+T+U+W #define ACTION_2754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2755: x<-L+N+R+S+T+V+W #define ACTION_2755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2756: x<-L+N+R+S+U+V+W #define ACTION_2756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2757: x<-L+O+P+S+T+U+W #define ACTION_2757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2758: x<-L+O+P+S+T+V+W #define ACTION_2758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2759: x<-L+O+P+S+U+V+W #define ACTION_2759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2760: x<-L+P+Q+R+T+U+W #define ACTION_2760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2761: x<-L+P+Q+R+T+V+W #define ACTION_2761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2762: x<-L+P+Q+R+U+V+W #define ACTION_2762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2763: x<-L+P+Q+S+T+U+W #define ACTION_2763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2764: x<-L+P+Q+S+T+V+W #define ACTION_2764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2765: x<-L+P+Q+S+U+V+W #define ACTION_2765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2766: x<-L+P+R+S+T+U+W #define ACTION_2766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2767: x<-L+P+R+S+T+V+W #define ACTION_2767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2768: x<-L+P+R+S+U+V+W #define ACTION_2768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2769: x<-M+N+O+Q+T+U+W #define ACTION_2769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2770: x<-M+N+O+Q+T+V+W #define ACTION_2770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2771: x<-M+N+O+Q+U+V+W #define ACTION_2771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2772: x<-M+N+P+Q+T+U+W #define ACTION_2772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2773: x<-M+N+P+Q+T+V+W #define ACTION_2773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2774: x<-M+N+P+Q+U+V+W #define ACTION_2774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2775: x<-M+N+P+R+T+U+W #define ACTION_2775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2776: x<-M+N+P+R+T+V+W #define ACTION_2776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2777: x<-M+N+P+R+U+V+W #define ACTION_2777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2778: x<-M+N+Q+R+T+U+W #define ACTION_2778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2779: x<-M+N+Q+R+T+V+W #define ACTION_2779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2780: x<-M+N+Q+R+U+V+W #define ACTION_2780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2781: x<-M+N+Q+S+T+U+W #define ACTION_2781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2782: x<-M+N+Q+S+T+V+W #define ACTION_2782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2783: x<-M+N+Q+S+U+V+W #define ACTION_2783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2784: x<-M+N+R+S+T+U+W #define ACTION_2784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2785: x<-M+N+R+S+T+V+W #define ACTION_2785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2786: x<-M+N+R+S+U+V+W #define ACTION_2786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2787: x<-M+O+P+Q+T+U+W #define ACTION_2787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2788: x<-M+O+P+Q+T+V+W #define ACTION_2788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2789: x<-M+O+P+Q+U+V+W #define ACTION_2789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2790: x<-M+O+P+R+T+U+W #define ACTION_2790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2791: x<-M+O+P+R+T+V+W #define ACTION_2791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2792: x<-M+O+P+R+U+V+W #define ACTION_2792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2793: x<-M+O+Q+R+T+U+W #define ACTION_2793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2794: x<-M+O+Q+R+T+V+W #define ACTION_2794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2795: x<-M+O+Q+R+U+V+W #define ACTION_2795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2796: x<-M+O+Q+S+T+U+W #define ACTION_2796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2797: x<-M+O+Q+S+T+V+W #define ACTION_2797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2798: x<-M+O+Q+S+U+V+W #define ACTION_2798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2799: x<-M+O+R+S+T+U+W #define ACTION_2799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2800: x<-M+O+R+S+T+V+W #define ACTION_2800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2801: x<-M+O+R+S+U+V+W #define ACTION_2801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2802: x<-N+O+Q+R+T+U+W #define ACTION_2802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2803: x<-N+O+Q+R+T+V+W #define ACTION_2803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2804: x<-N+O+Q+R+U+V+W #define ACTION_2804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2805: x<-N+O+Q+S+T+U+W #define ACTION_2805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2806: x<-N+O+Q+S+T+V+W #define ACTION_2806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2807: x<-N+O+Q+S+U+V+W #define ACTION_2807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2808: x<-N+O+R+S+T+U+W #define ACTION_2808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2809: x<-N+O+R+S+T+V+W #define ACTION_2809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2810: x<-N+O+R+S+U+V+W #define ACTION_2810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2811: x<-N+P+Q+R+T+U+W #define ACTION_2811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2812: x<-N+P+Q+R+T+V+W #define ACTION_2812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2813: x<-N+P+Q+R+U+V+W #define ACTION_2813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2814: x<-N+P+Q+S+T+U+W #define ACTION_2814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2815: x<-N+P+Q+S+T+V+W #define ACTION_2815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2816: x<-N+P+Q+S+U+V+W #define ACTION_2816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2817: x<-N+P+R+S+T+U+W #define ACTION_2817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2818: x<-N+P+R+S+T+V+W #define ACTION_2818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2819: x<-N+P+R+S+U+V+W #define ACTION_2819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2820: x<-O+P+Q+R+T+U+W #define ACTION_2820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2821: x<-O+P+Q+R+T+V+W #define ACTION_2821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2822: x<-O+P+Q+R+U+V+W #define ACTION_2822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2823: x<-O+P+Q+S+T+U+W #define ACTION_2823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2824: x<-O+P+Q+S+T+V+W #define ACTION_2824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2825: x<-O+P+Q+S+U+V+W #define ACTION_2825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2826: x<-O+P+R+S+T+U+W #define ACTION_2826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2827: x<-O+P+R+S+T+V+W #define ACTION_2827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2828: x<-O+P+R+S+U+V+W #define ACTION_2828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; ================================================ FILE: include/labeling3D_EPDT_19c_tree.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany if (CONDITION_LA) { if (CONDITION_OB) { if (CONDITION_XB) { if (CONDITION_NB) { ACTION_6 } else { if (CONDITION_OA) { ACTION_6 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_6 } else { if (CONDITION_WB) { ACTION_6 } else { if (CONDITION_XA) { ACTION_58 } else { ACTION_6 } } } } else { ACTION_6 } } } } else { if (CONDITION_XA) { if (CONDITION_NB) { ACTION_6 } else { if (CONDITION_OA) { ACTION_6 } else { NODE_1: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_6 } else { if (CONDITION_WB) { ACTION_6 } else { ACTION_58 } } } else { ACTION_6 } } } } else { ACTION_0 } } } else { if (CONDITION_XB) { if (CONDITION_LB) { NODE_2: if (CONDITION_PA) { if (CONDITION_NB) { ACTION_7 } else { if (CONDITION_OA) { ACTION_6 } else { if (CONDITION_WB) { ACTION_7 } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_9 } else { if (CONDITION_XA) { ACTION_65 } else { ACTION_9 } } } else { ACTION_9 } } else { if (CONDITION_RA) { ACTION_32 } else { if (CONDITION_QB) { if (CONDITION_XA) { ACTION_65 } else { ACTION_7 } } else { ACTION_7 } } } } } } } else { NODE_3: if (CONDITION_SA) { if (CONDITION_RB) { NODE_4: if (CONDITION_OA) { ACTION_6 } else { NODE_5: if (CONDITION_RA) { NODE_6: if (CONDITION_NB) { ACTION_9 } else { if (CONDITION_WB) { ACTION_9 } else { ACTION_32 } } } else { if (CONDITION_NB) { ACTION_51 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_32 } else { if (CONDITION_XA) { ACTION_190 } else { ACTION_32 } } } else { ACTION_32 } } } } } else { if (CONDITION_NB) { ACTION_52 } else { if (CONDITION_OA) { ACTION_60 } else { if (CONDITION_WB) { ACTION_86 } else { if (CONDITION_RA) { ACTION_196 } else { if (CONDITION_QB) { if (CONDITION_XA) { ACTION_191 } else { ACTION_33 } } else { ACTION_33 } } } } } } } else { if (CONDITION_OA) { ACTION_6 } else { if (CONDITION_RB) { goto NODE_5; } else { if (CONDITION_NB) { ACTION_5 } else { if (CONDITION_WB) { ACTION_14 } else { if (CONDITION_RA) { ACTION_32 } else { if (CONDITION_QB) { if (CONDITION_XA) { ACTION_31 } else { ACTION_3 } } else { ACTION_3 } } } } } } } } } else { if (CONDITION_UB) { goto NODE_2; } else { if (CONDITION_MA) { if (CONDITION_PA) { NODE_7: if (CONDITION_RB) { goto NODE_4; } else { if (CONDITION_NB) { ACTION_49 } else { if (CONDITION_OA) { ACTION_57 } else { if (CONDITION_WB) { ACTION_71 } else { if (CONDITION_RA) { ACTION_184 } else { if (CONDITION_QB) { if (CONDITION_XA) { ACTION_183 } else { ACTION_30 } } else { ACTION_30 } } } } } } } else { if (CONDITION_SA) { if (CONDITION_RB) { if (CONDITION_OA) { ACTION_43 } else { NODE_8: if (CONDITION_RA) { if (CONDITION_NB) { ACTION_42 } else { if (CONDITION_WB) { ACTION_42 } else { ACTION_161 } } } else { if (CONDITION_NB) { ACTION_214 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_244 } else { if (CONDITION_XA) { ACTION_583 } else { ACTION_161 } } } else { ACTION_161 } } } } } else { if (CONDITION_NB) { ACTION_162 } else { if (CONDITION_OA) { ACTION_162 } else { if (CONDITION_WB) { ACTION_248 } else { if (CONDITION_RA) { ACTION_589 } else { if (CONDITION_QB) { if (CONDITION_XA) { ACTION_584 } else { ACTION_162 } } else { ACTION_162 } } } } } } } else { if (CONDITION_OA) { ACTION_39 } else { if (CONDITION_RB) { goto NODE_8; } else { if (CONDITION_NB) { ACTION_38 } else { if (CONDITION_WB) { ACTION_47 } else { if (CONDITION_RA) { ACTION_161 } else { if (CONDITION_QB) { if (CONDITION_XA) { ACTION_160 } else { ACTION_27 } } else { ACTION_27 } } } } } } } } } else { if (CONDITION_PA) { goto NODE_7; } else { if (CONDITION_VA) { if (CONDITION_SA) { if (CONDITION_RB) { if (CONDITION_OA) { ACTION_85 } else { NODE_9: if (CONDITION_RA) { if (CONDITION_NB) { ACTION_55 } else { if (CONDITION_WB) { ACTION_81 } else { ACTION_199 } } } else { if (CONDITION_NB) { ACTION_278 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_362 } else { if (CONDITION_XA) { ACTION_679 } else { ACTION_199 } } } else { ACTION_199 } } } } } else { if (CONDITION_NB) { ACTION_282 } else { if (CONDITION_OA) { ACTION_310 } else { if (CONDITION_WB) { ACTION_368 } else { if (CONDITION_RA) { ACTION_693 } else { if (CONDITION_QB) { if (CONDITION_XA) { ACTION_683 } else { ACTION_203 } } else { ACTION_203 } } } } } } } else { if (CONDITION_OA) { ACTION_63 } else { if (CONDITION_RB) { goto NODE_9; } else { if (CONDITION_NB) { ACTION_55 } else { if (CONDITION_WB) { ACTION_92 } else { if (CONDITION_RA) { ACTION_199 } else { if (CONDITION_QB) { if (CONDITION_XA) { ACTION_194 } else { ACTION_36 } } else { ACTION_36 } } } } } } } } else { goto NODE_3; } } } } } } else { if (CONDITION_XA) { if (CONDITION_OA) { ACTION_6 } else { if (CONDITION_NB) { NODE_10: if (CONDITION_RA) { ACTION_9 } else { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_LB) { ACTION_9 } else { NODE_11: if (CONDITION_UB) { ACTION_9 } else { ACTION_51 } } } else { ACTION_51 } } else { ACTION_5 } } } else { if (CONDITION_WB) { NODE_12: if (CONDITION_RA) { ACTION_9 } else { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_LB) { ACTION_9 } else { if (CONDITION_UB) { ACTION_9 } else { ACTION_71 } } } else { ACTION_82 } } else { ACTION_14 } } } else { if (CONDITION_RA) { if (CONDITION_PA) { if (CONDITION_RB) { NODE_13: if (CONDITION_LB) { ACTION_9 } else { if (CONDITION_UB) { ACTION_9 } else { ACTION_32 } } } else { ACTION_32 } } else { ACTION_32 } } else { if (CONDITION_QB) { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_LB) { ACTION_65 } else { if (CONDITION_UB) { ACTION_65 } else { ACTION_190 } } } else { ACTION_190 } } else { ACTION_31 } } else { if (CONDITION_RB) { if (CONDITION_PA) { goto NODE_13; } else { ACTION_32 } } else { ACTION_3 } } } } } } } else { ACTION_0 } } } } else { if (CONDITION_OA) { if (CONDITION_XA) { if (CONDITION_OB) { ACTION_6 } else { if (CONDITION_XB) { NODE_14: if (CONDITION_RB) { if (CONDITION_LB) { ACTION_6 } else { if (CONDITION_PA) { ACTION_6 } else { if (CONDITION_UB) { ACTION_6 } else { NODE_15: if (CONDITION_MA) { ACTION_42 } else { NODE_16: if (CONDITION_VA) { ACTION_81 } else { ACTION_9 } } } } } } else { if (CONDITION_LB) { NODE_17: if (CONDITION_PA) { ACTION_6 } else { if (CONDITION_SA) { ACTION_60 } else { ACTION_6 } } } else { if (CONDITION_UB) { goto NODE_17; } else { if (CONDITION_MA) { if (CONDITION_PA) { ACTION_57 } else { if (CONDITION_SA) { ACTION_223 } else { ACTION_39 } } } else { if (CONDITION_PA) { ACTION_57 } else { if (CONDITION_SA) { if (CONDITION_VA) { ACTION_310 } else { ACTION_60 } } else { if (CONDITION_VA) { ACTION_63 } else { ACTION_6 } } } } } } } } else { ACTION_6 } } } else { if (CONDITION_XB) { if (CONDITION_OB) { ACTION_6 } else { goto NODE_14; } } else { ACTION_0 } } } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_UA) { if (CONDITION_OB) { if (CONDITION_NB) { ACTION_6 } else { goto NODE_1; } } else { if (CONDITION_XB) { if (CONDITION_UB) { NODE_18: if (CONDITION_PA) { if (CONDITION_NB) { ACTION_12 } else { if (CONDITION_WB) { ACTION_12 } else { if (CONDITION_QB) { if (CONDITION_RA) { NODE_19: if (CONDITION_RB) { ACTION_9 } else { ACTION_80 } } else { ACTION_75 } } else { if (CONDITION_RA) { goto NODE_19; } else { ACTION_12 } } } } } else { NODE_20: if (CONDITION_RB) { NODE_21: if (CONDITION_RA) { NODE_22: if (CONDITION_NB) { ACTION_9 } else { if (CONDITION_WB) { ACTION_9 } else { ACTION_21 } } } else { if (CONDITION_NB) { ACTION_51 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_82 } else { ACTION_136 } } else { ACTION_21 } } } } else { if (CONDITION_SA) { if (CONDITION_NB) { ACTION_52 } else { if (CONDITION_WB) { ACTION_86 } else { if (CONDITION_QB) { ACTION_137 } else { if (CONDITION_RA) { ACTION_142 } else { ACTION_22 } } } } } else { if (CONDITION_NB) { ACTION_5 } else { if (CONDITION_WB) { ACTION_14 } else { if (CONDITION_QB) { ACTION_20 } else { if (CONDITION_RA) { ACTION_21 } else { ACTION_2 } } } } } } } } else { if (CONDITION_LB) { goto NODE_18; } else { if (CONDITION_MA) { if (CONDITION_PA) { NODE_23: if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_22; } else { if (CONDITION_NB) { ACTION_49 } else { if (CONDITION_WB) { ACTION_66 } else { ACTION_130 } } } } else { if (CONDITION_NB) { ACTION_49 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_71 } else { ACTION_129 } } else { ACTION_19 } } } } else { if (CONDITION_RB) { if (CONDITION_RA) { NODE_24: if (CONDITION_NB) { ACTION_42 } else { if (CONDITION_WB) { ACTION_45 } else { ACTION_242 } } } else { if (CONDITION_NB) { ACTION_242 } else { if (CONDITION_QB) { NODE_25: if (CONDITION_WB) { ACTION_242 } else { ACTION_784 } } else { ACTION_242 } } } } else { if (CONDITION_SA) { if (CONDITION_NB) { ACTION_246 } else { if (CONDITION_WB) { ACTION_246 } else { if (CONDITION_QB) { ACTION_788 } else { if (CONDITION_RA) { ACTION_798 } else { ACTION_246 } } } } } else { if (CONDITION_NB) { ACTION_45 } else { if (CONDITION_WB) { ACTION_45 } else { if (CONDITION_QB) { ACTION_237 } else { if (CONDITION_RA) { ACTION_242 } else { ACTION_45 } } } } } } } } else { if (CONDITION_PA) { goto NODE_23; } else { NODE_26: if (CONDITION_VA) { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_NB) { ACTION_55 } else { if (CONDITION_WB) { ACTION_81 } else { ACTION_145 } } } else { if (CONDITION_NB) { ACTION_145 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_145 } else { ACTION_531 } } else { ACTION_145 } } } } else { if (CONDITION_SA) { if (CONDITION_NB) { ACTION_282 } else { if (CONDITION_WB) { ACTION_368 } else { if (CONDITION_QB) { ACTION_535 } else { if (CONDITION_RA) { ACTION_545 } else { ACTION_149 } } } } } else { if (CONDITION_NB) { ACTION_55 } else { if (CONDITION_WB) { ACTION_92 } else { if (CONDITION_QB) { ACTION_140 } else { if (CONDITION_RA) { ACTION_145 } else { ACTION_25 } } } } } } } else { goto NODE_20; } } } } } } else { if (CONDITION_NB) { goto NODE_10; } else { if (CONDITION_WB) { goto NODE_12; } else { if (CONDITION_RA) { if (CONDITION_PA) { if (CONDITION_RB) { NODE_27: if (CONDITION_LB) { ACTION_9 } else { if (CONDITION_UB) { ACTION_9 } else { ACTION_21 } } } else { ACTION_21 } } else { ACTION_21 } } else { if (CONDITION_QB) { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_LB) { ACTION_75 } else { if (CONDITION_UB) { ACTION_75 } else { ACTION_321 } } } else { ACTION_136 } } else { ACTION_20 } } else { if (CONDITION_RB) { if (CONDITION_PA) { goto NODE_27; } else { ACTION_21 } } else { ACTION_2 } } } } } } } } else { if (CONDITION_LB) { if (CONDITION_OB) { NODE_28: if (CONDITION_RA) { goto NODE_22; } else { if (CONDITION_NB) { ACTION_48 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_58 } else { ACTION_122 } } else { ACTION_18 } } } } else { if (CONDITION_PA) { goto NODE_23; } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_NB) { ACTION_32 } else { if (CONDITION_WB) { ACTION_32 } else { ACTION_97 } } } else { if (CONDITION_NB) { ACTION_170 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_190 } else { ACTION_393 } } else { ACTION_97 } } } } else { if (CONDITION_NB) { NODE_29: if (CONDITION_SA) { if (CONDITION_XB) { ACTION_171 } else { ACTION_28 } } else { ACTION_28 } } else { if (CONDITION_WB) { NODE_30: if (CONDITION_SA) { if (CONDITION_XB) { ACTION_98 } else { ACTION_15 } } else { ACTION_15 } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_394 } else { ACTION_96 } } else { ACTION_96 } } else { if (CONDITION_RA) { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_399 } else { ACTION_97 } } else { ACTION_97 } } else { goto NODE_30; } } } } } } } } else { if (CONDITION_OB) { goto NODE_28; } else { if (CONDITION_XB) { if (CONDITION_MA) { if (CONDITION_PA) { goto NODE_23; } else { if (CONDITION_SA) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_NB) { ACTION_43 } else { if (CONDITION_WB) { ACTION_43 } else { ACTION_108 } } } else { if (CONDITION_NB) { ACTION_240 } else { if (CONDITION_WB) { ACTION_240 } else { ACTION_441 } } } } else { if (CONDITION_NB) { ACTION_108 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_248 } else { ACTION_436 } } else { ACTION_108 } } } } else { if (CONDITION_NB) { NODE_31: if (CONDITION_RA) { ACTION_42 } else { NODE_32: if (CONDITION_RB) { ACTION_107 } else { ACTION_16 } } } else { if (CONDITION_WB) { goto NODE_31; } else { if (CONDITION_RA) { ACTION_107 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_435 } else { ACTION_106 } } else { goto NODE_32; } } } } } } } else { if (CONDITION_PA) { goto NODE_23; } else { if (CONDITION_UB) { if (CONDITION_RB) { NODE_33: if (CONDITION_RA) { if (CONDITION_NB) { ACTION_80 } else { if (CONDITION_WB) { ACTION_80 } else { ACTION_144 } } } else { if (CONDITION_NB) { ACTION_277 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_340 } else { ACTION_530 } } else { ACTION_144 } } } } else { if (CONDITION_SA) { if (CONDITION_NB) { ACTION_148 } else { if (CONDITION_WB) { ACTION_148 } else { if (CONDITION_QB) { ACTION_534 } else { if (CONDITION_RA) { ACTION_544 } else { ACTION_148 } } } } } else { NODE_34: if (CONDITION_NB) { ACTION_24 } else { if (CONDITION_WB) { ACTION_24 } else { if (CONDITION_QB) { ACTION_139 } else { if (CONDITION_RA) { ACTION_144 } else { ACTION_24 } } } } } } } else { goto NODE_26; } } } } else { if (CONDITION_UB) { if (CONDITION_RB) { if (CONDITION_PA) { goto NODE_21; } else { goto NODE_33; } } else { goto NODE_34; } } else { if (CONDITION_NB) { NODE_35: if (CONDITION_RA) { ACTION_9 } else { if (CONDITION_RB) { ACTION_51 } else { ACTION_5 } } } else { if (CONDITION_WB) { if (CONDITION_RA) { ACTION_9 } else { if (CONDITION_RB) { ACTION_82 } else { ACTION_14 } } } else { if (CONDITION_RA) { ACTION_21 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_136 } else { ACTION_20 } } else { if (CONDITION_RB) { ACTION_21 } else { ACTION_2 } } } } } } } } } } } else { if (CONDITION_NB) { if (CONDITION_UA) { if (CONDITION_OB) { ACTION_6 } else { if (CONDITION_XB) { if (CONDITION_LB) { NODE_36: if (CONDITION_PA) { ACTION_7 } else { NODE_37: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_9 } else { if (CONDITION_SA) { ACTION_78 } else { ACTION_9 } } } else { if (CONDITION_RB) { ACTION_51 } else { if (CONDITION_SA) { ACTION_52 } else { ACTION_5 } } } } } else { if (CONDITION_UB) { goto NODE_36; } else { NODE_38: if (CONDITION_MA) { if (CONDITION_PA) { if (CONDITION_RA) { NODE_39: if (CONDITION_RB) { ACTION_9 } else { ACTION_42 } } else { ACTION_49 } } else { if (CONDITION_RA) { NODE_40: if (CONDITION_RB) { ACTION_42 } else { if (CONDITION_SA) { ACTION_240 } else { ACTION_42 } } } else { if (CONDITION_RB) { ACTION_214 } else { if (CONDITION_SA) { ACTION_215 } else { ACTION_38 } } } } } else { if (CONDITION_PA) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_9 } else { ACTION_49 } } else { ACTION_49 } } else { if (CONDITION_VA) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_55 } else { NODE_41: if (CONDITION_SA) { ACTION_282 } else { ACTION_55 } } } else { if (CONDITION_RB) { ACTION_278 } else { goto NODE_41; } } } else { goto NODE_37; } } } } } } else { goto NODE_10; } } } else { if (CONDITION_LB) { if (CONDITION_RA) { if (CONDITION_OB) { ACTION_6 } else { NODE_42: if (CONDITION_PA) { if (CONDITION_RB) { ACTION_9 } else { ACTION_32 } } else { if (CONDITION_RB) { ACTION_32 } else { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_196 } else { ACTION_32 } } else { ACTION_32 } } } } } else { if (CONDITION_OB) { ACTION_48 } else { if (CONDITION_PA) { ACTION_49 } else { if (CONDITION_RB) { ACTION_170 } else { goto NODE_29; } } } } } else { if (CONDITION_OB) { if (CONDITION_RA) { ACTION_6 } else { ACTION_48 } } else { if (CONDITION_UB) { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_RA) { ACTION_9 } else { ACTION_49 } } else { if (CONDITION_RA) { ACTION_80 } else { ACTION_277 } } } else { if (CONDITION_PA) { ACTION_54 } else { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_281 } else { ACTION_54 } } else { ACTION_54 } } } } else { if (CONDITION_XB) { goto NODE_38; } else { goto NODE_35; } } } } } } else { if (CONDITION_OB) { if (CONDITION_RA) { NODE_43: if (CONDITION_TB) { if (CONDITION_UA) { ACTION_9 } else { if (CONDITION_WB) { ACTION_9 } else { ACTION_79 } } } else { ACTION_9 } } else { if (CONDITION_UA) { if (CONDITION_QB) { NODE_44: if (CONDITION_WB) { ACTION_12 } else { ACTION_75 } } else { ACTION_6 } } else { if (CONDITION_QB) { if (CONDITION_TB) { if (CONDITION_WB) { ACTION_58 } else { ACTION_299 } } else { ACTION_58 } } else { if (CONDITION_TB) { ACTION_61 } else { if (CONDITION_WB) { ACTION_64 } else { ACTION_6 } } } } } } else { if (CONDITION_RA) { if (CONDITION_LB) { if (CONDITION_UA) { if (CONDITION_WB) { if (CONDITION_PA) { ACTION_9 } else { if (CONDITION_RB) { ACTION_9 } else { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_84 } else { ACTION_9 } } else { ACTION_9 } } } } else { goto NODE_42; } } else { if (CONDITION_TB) { if (CONDITION_WB) { goto NODE_42; } else { if (CONDITION_PA) { NODE_45: if (CONDITION_RB) { ACTION_68 } else { ACTION_325 } } else { if (CONDITION_RB) { ACTION_197 } else { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_691 } else { ACTION_197 } } else { ACTION_197 } } } } } else { goto NODE_42; } } } else { if (CONDITION_XB) { if (CONDITION_UB) { if (CONDITION_PA) { if (CONDITION_RB) { goto NODE_43; } else { NODE_46: if (CONDITION_TB) { if (CONDITION_UA) { NODE_47: if (CONDITION_WB) { ACTION_9 } else { ACTION_80 } } else { if (CONDITION_WB) { ACTION_80 } else { ACTION_357 } } } else { if (CONDITION_UA) { goto NODE_47; } else { ACTION_80 } } } } else { if (CONDITION_RB) { goto NODE_46; } else { if (CONDITION_SA) { if (CONDITION_TB) { if (CONDITION_UA) { NODE_48: if (CONDITION_WB) { ACTION_84 } else { ACTION_354 } } else { if (CONDITION_WB) { ACTION_354 } else { ACTION_993 } } } else { if (CONDITION_UA) { goto NODE_48; } else { ACTION_354 } } } else { goto NODE_46; } } } } else { if (CONDITION_WB) { if (CONDITION_MA) { NODE_49: if (CONDITION_PA) { goto NODE_39; } else { goto NODE_40; } } else { if (CONDITION_RB) { NODE_50: if (CONDITION_PA) { ACTION_9 } else { goto NODE_16; } } else { if (CONDITION_PA) { ACTION_66 } else { if (CONDITION_SA) { NODE_51: if (CONDITION_VA) { ACTION_355 } else { ACTION_78 } } else { goto NODE_16; } } } } } else { if (CONDITION_TB) { if (CONDITION_MA) { if (CONDITION_PA) { goto NODE_45; } else { if (CONDITION_RB) { ACTION_241 } else { if (CONDITION_SA) { ACTION_797 } else { ACTION_241 } } } } else { if (CONDITION_RB) { if (CONDITION_PA) { ACTION_79 } else { NODE_52: if (CONDITION_VA) { ACTION_358 } else { ACTION_79 } } } else { if (CONDITION_PA) { ACTION_325 } else { if (CONDITION_SA) { if (CONDITION_VA) { ACTION_994 } else { ACTION_353 } } else { goto NODE_52; } } } } } else { if (CONDITION_MA) { if (CONDITION_UA) { if (CONDITION_PA) { if (CONDITION_RB) { ACTION_80 } else { ACTION_242 } } else { if (CONDITION_RB) { ACTION_242 } else { if (CONDITION_SA) { ACTION_798 } else { ACTION_242 } } } } else { goto NODE_49; } } else { if (CONDITION_RB) { if (CONDITION_UA) { if (CONDITION_PA) { ACTION_80 } else { NODE_53: if (CONDITION_VA) { ACTION_360 } else { ACTION_80 } } } else { goto NODE_50; } } else { if (CONDITION_PA) { if (CONDITION_UA) { ACTION_326 } else { ACTION_66 } } else { if (CONDITION_SA) { if (CONDITION_UA) { if (CONDITION_VA) { ACTION_996 } else { ACTION_354 } } else { goto NODE_51; } } else { if (CONDITION_UA) { goto NODE_53; } else { goto NODE_16; } } } } } } } } } else { if (CONDITION_WB) { if (CONDITION_UA) { ACTION_9 } else { NODE_54: if (CONDITION_UB) { NODE_55: if (CONDITION_PA) { goto NODE_19; } else { ACTION_80 } } else { ACTION_9 } } } else { if (CONDITION_TB) { if (CONDITION_UB) { if (CONDITION_UA) { goto NODE_55; } else { if (CONDITION_PA) { if (CONDITION_RB) { ACTION_79 } else { ACTION_357 } } else { ACTION_357 } } } else { ACTION_79 } } else { if (CONDITION_UA) { if (CONDITION_PA) { if (CONDITION_RB) { if (CONDITION_UB) { ACTION_9 } else { ACTION_80 } } else { ACTION_80 } } else { ACTION_80 } } else { goto NODE_54; } } } } } } else { if (CONDITION_LB) { if (CONDITION_PA) { NODE_56: if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_12 } else { ACTION_65 } } else { ACTION_7 } } else { if (CONDITION_QB) { if (CONDITION_TB) { NODE_57: if (CONDITION_WB) { ACTION_71 } else { ACTION_320 } } else { ACTION_65 } } else { if (CONDITION_TB) { ACTION_68 } else { NODE_58: if (CONDITION_WB) { ACTION_71 } else { ACTION_7 } } } } } else { if (CONDITION_RB) { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_32 } else { ACTION_190 } } else { ACTION_32 } } else { if (CONDITION_QB) { if (CONDITION_TB) { if (CONDITION_WB) { ACTION_190 } else { ACTION_677 } } else { ACTION_190 } } else { if (CONDITION_TB) { ACTION_197 } else { if (CONDITION_WB) { ACTION_200 } else { ACTION_32 } } } } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_WB) { NODE_59: if (CONDITION_SA) { if (CONDITION_XB) { ACTION_84 } else { ACTION_12 } } else { ACTION_12 } } else { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_191 } else { ACTION_31 } } else { ACTION_31 } } } else { NODE_60: if (CONDITION_SA) { if (CONDITION_XB) { ACTION_33 } else { ACTION_3 } } else { ACTION_3 } } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XB) { if (CONDITION_TB) { if (CONDITION_WB) { ACTION_204 } else { ACTION_681 } } else { ACTION_191 } } else { NODE_61: if (CONDITION_TB) { if (CONDITION_WB) { ACTION_34 } else { ACTION_192 } } else { ACTION_31 } } } else { goto NODE_61; } } else { if (CONDITION_TB) { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_201 } else { ACTION_34 } } else { ACTION_34 } } else { if (CONDITION_WB) { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_204 } else { ACTION_37 } } else { ACTION_37 } } else { goto NODE_60; } } } } } } } else { if (CONDITION_UB) { if (CONDITION_PA) { goto NODE_56; } else { if (CONDITION_RB) { if (CONDITION_UA) { if (CONDITION_QB) { NODE_62: if (CONDITION_WB) { ACTION_80 } else { ACTION_340 } } else { ACTION_80 } } else { if (CONDITION_QB) { if (CONDITION_TB) { if (CONDITION_WB) { ACTION_340 } else { ACTION_978 } } else { ACTION_340 } } else { if (CONDITION_TB) { ACTION_357 } else { if (CONDITION_WB) { ACTION_361 } else { ACTION_80 } } } } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_WB) { goto NODE_59; } else { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_344 } else { ACTION_75 } } else { ACTION_75 } } } else { goto NODE_59; } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XB) { if (CONDITION_TB) { if (CONDITION_WB) { ACTION_344 } else { ACTION_984 } } else { ACTION_344 } } else { NODE_63: if (CONDITION_TB) { if (CONDITION_WB) { ACTION_75 } else { ACTION_347 } } else { ACTION_75 } } } else { goto NODE_63; } } else { if (CONDITION_TB) { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_363 } else { ACTION_87 } } else { ACTION_87 } } else { if (CONDITION_WB) { if (CONDITION_SA) { if (CONDITION_XB) { ACTION_367 } else { ACTION_91 } } else { ACTION_91 } } else { goto NODE_59; } } } } } } } else { if (CONDITION_TB) { if (CONDITION_RB) { if (CONDITION_PA) { NODE_64: if (CONDITION_QB) { goto NODE_57; } else { ACTION_68 } } else { if (CONDITION_XB) { if (CONDITION_MA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_244 } else { ACTION_783 } } else { ACTION_241 } } else { if (CONDITION_VA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_358 } else { ACTION_979 } } else { ACTION_358 } } else { NODE_65: if (CONDITION_QB) { if (CONDITION_WB) { ACTION_82 } else { ACTION_339 } } else { ACTION_79 } } } } else { goto NODE_65; } } } else { if (CONDITION_XB) { if (CONDITION_MA) { if (CONDITION_PA) { NODE_66: if (CONDITION_QB) { if (CONDITION_WB) { ACTION_44 } else { ACTION_236 } } else { ACTION_44 } } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_245 } else { ACTION_787 } } else { ACTION_245 } } else { goto NODE_66; } } } else { if (CONDITION_PA) { goto NODE_64; } else { if (CONDITION_SA) { if (CONDITION_VA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_368 } else { ACTION_985 } } else { ACTION_364 } } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_86 } else { ACTION_343 } } else { ACTION_83 } } } else { if (CONDITION_VA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_76 } else { ACTION_348 } } else { ACTION_88 } } else { NODE_67: if (CONDITION_QB) { if (CONDITION_WB) { ACTION_8 } else { ACTION_74 } } else { ACTION_11 } } } } } } else { goto NODE_67; } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_PA) { NODE_68: if (CONDITION_UA) { if (CONDITION_WB) { ACTION_69 } else { ACTION_321 } } else { ACTION_65 } } else { if (CONDITION_XB) { if (CONDITION_MA) { if (CONDITION_UA) { goto NODE_25; } else { ACTION_234 } } else { if (CONDITION_VA) { if (CONDITION_UA) { if (CONDITION_WB) { ACTION_360 } else { ACTION_981 } } else { ACTION_341 } } else { NODE_69: if (CONDITION_UA) { goto NODE_62; } else { ACTION_72 } } } } else { goto NODE_69; } } } else { if (CONDITION_UA) { if (CONDITION_PA) { ACTION_80 } else { if (CONDITION_XB) { if (CONDITION_MA) { ACTION_242 } else { goto NODE_53; } } else { ACTION_80 } } } else { if (CONDITION_WB) { if (CONDITION_PA) { ACTION_82 } else { if (CONDITION_XB) { if (CONDITION_MA) { ACTION_244 } else { if (CONDITION_VA) { ACTION_362 } else { ACTION_82 } } } else { ACTION_82 } } } else { if (CONDITION_PA) { ACTION_9 } else { if (CONDITION_XB) { goto NODE_15; } else { ACTION_9 } } } } } } else { if (CONDITION_XB) { if (CONDITION_MA) { if (CONDITION_QB) { if (CONDITION_PA) { NODE_70: if (CONDITION_UA) { if (CONDITION_WB) { ACTION_45 } else { ACTION_237 } } else { ACTION_41 } } else { if (CONDITION_SA) { if (CONDITION_UA) { if (CONDITION_WB) { ACTION_246 } else { ACTION_788 } } else { ACTION_235 } } else { goto NODE_70; } } } else { if (CONDITION_UA) { if (CONDITION_PA) { ACTION_45 } else { if (CONDITION_SA) { ACTION_246 } else { ACTION_45 } } } else { if (CONDITION_WB) { if (CONDITION_PA) { ACTION_71 } else { if (CONDITION_SA) { ACTION_248 } else { ACTION_47 } } } else { if (CONDITION_PA) { ACTION_4 } else { if (CONDITION_SA) { ACTION_43 } else { ACTION_4 } } } } } } else { if (CONDITION_PA) { if (CONDITION_QB) { goto NODE_68; } else { if (CONDITION_UA) { ACTION_69 } else { goto NODE_58; } } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_VA) { if (CONDITION_UA) { if (CONDITION_WB) { ACTION_368 } else { ACTION_987 } } else { ACTION_345 } } else { if (CONDITION_UA) { if (CONDITION_WB) { ACTION_84 } else { ACTION_344 } } else { ACTION_73 } } } else { if (CONDITION_VA) { if (CONDITION_UA) { if (CONDITION_WB) { ACTION_90 } else { ACTION_350 } } else { ACTION_76 } } else { NODE_71: if (CONDITION_UA) { goto NODE_44; } else { ACTION_8 } } } } else { if (CONDITION_UA) { if (CONDITION_SA) { NODE_72: if (CONDITION_VA) { ACTION_366 } else { ACTION_84 } } else { NODE_73: if (CONDITION_VA) { ACTION_90 } else { ACTION_12 } } } else { if (CONDITION_SA) { if (CONDITION_VA) { if (CONDITION_WB) { ACTION_368 } else { ACTION_85 } } else { if (CONDITION_WB) { ACTION_86 } else { ACTION_10 } } } else { if (CONDITION_VA) { if (CONDITION_WB) { ACTION_92 } else { ACTION_13 } } else { NODE_74: if (CONDITION_WB) { ACTION_14 } else { ACTION_1 } } } } } } } } else { if (CONDITION_QB) { goto NODE_71; } else { if (CONDITION_UA) { ACTION_12 } else { goto NODE_74; } } } } } } } } } } } } else { if (CONDITION_XB) { if (CONDITION_LB) { if (CONDITION_OB) { ACTION_6 } else { if (CONDITION_PA) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_9 } else { NODE_75: if (CONDITION_UA) { goto NODE_6; } else { ACTION_32 } } } else { ACTION_7 } } else { if (CONDITION_RB) { if (CONDITION_RA) { goto NODE_75; } else { ACTION_32 } } else { if (CONDITION_SA) { if (CONDITION_RA) { if (CONDITION_UA) { if (CONDITION_NB) { ACTION_78 } else { if (CONDITION_WB) { ACTION_84 } else { ACTION_196 } } } else { ACTION_196 } } else { ACTION_33 } } else { if (CONDITION_RA) { goto NODE_75; } else { ACTION_3 } } } } } } else { if (CONDITION_OB) { ACTION_6 } else { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_UA) { if (CONDITION_NB) { if (CONDITION_RA) { ACTION_9 } else { goto NODE_11; } } else { if (CONDITION_UB) { ACTION_9 } else { if (CONDITION_RA) { goto NODE_47; } else { ACTION_80 } } } } else { ACTION_9 } } else { if (CONDITION_MA) { if (CONDITION_UA) { if (CONDITION_UB) { NODE_76: if (CONDITION_RA) { NODE_77: if (CONDITION_NB) { ACTION_9 } else { goto NODE_47; } } else { ACTION_80 } } else { if (CONDITION_RA) { goto NODE_24; } else { ACTION_242 } } } else { ACTION_42 } } else { if (CONDITION_UB) { if (CONDITION_RA) { NODE_78: if (CONDITION_UA) { goto NODE_77; } else { ACTION_80 } } else { ACTION_80 } } else { if (CONDITION_VA) { if (CONDITION_UA) { if (CONDITION_RA) { if (CONDITION_NB) { ACTION_55 } else { NODE_79: if (CONDITION_WB) { ACTION_90 } else { ACTION_360 } } } else { ACTION_360 } } else { ACTION_81 } } else { if (CONDITION_UA) { goto NODE_76; } else { ACTION_9 } } } } } } else { if (CONDITION_MA) { if (CONDITION_PA) { NODE_80: if (CONDITION_RA) { if (CONDITION_UA) { if (CONDITION_UB) { goto NODE_77; } else { goto NODE_24; } } else { ACTION_42 } } else { if (CONDITION_UA) { if (CONDITION_UB) { ACTION_12 } else { ACTION_45 } } else { ACTION_4 } } } else { if (CONDITION_SA) { if (CONDITION_RA) { if (CONDITION_UA) { if (CONDITION_UB) { NODE_81: if (CONDITION_NB) { ACTION_78 } else { goto NODE_48; } } else { if (CONDITION_NB) { ACTION_240 } else { if (CONDITION_WB) { ACTION_246 } else { ACTION_798 } } } } else { ACTION_240 } } else { if (CONDITION_UA) { if (CONDITION_UB) { ACTION_84 } else { ACTION_246 } } else { ACTION_43 } } } else { goto NODE_80; } } } else { if (CONDITION_PA) { if (CONDITION_RA) { if (CONDITION_UA) { if (CONDITION_NB) { if (CONDITION_UB) { ACTION_9 } else { ACTION_49 } } else { if (CONDITION_UB) { goto NODE_47; } else { if (CONDITION_WB) { ACTION_66 } else { ACTION_326 } } } } else { ACTION_66 } } else { if (CONDITION_UA) { if (CONDITION_UB) { ACTION_7 } else { ACTION_69 } } else { ACTION_7 } } } else { if (CONDITION_UB) { if (CONDITION_SA) { if (CONDITION_RA) { if (CONDITION_UA) { goto NODE_81; } else { ACTION_354 } } else { ACTION_84 } } else { if (CONDITION_RA) { goto NODE_78; } else { ACTION_12 } } } else { if (CONDITION_RA) { if (CONDITION_SA) { if (CONDITION_VA) { if (CONDITION_NB) { ACTION_355 } else { if (CONDITION_UA) { if (CONDITION_WB) { ACTION_368 } else { ACTION_996 } } else { ACTION_355 } } } else { if (CONDITION_NB) { ACTION_78 } else { if (CONDITION_UA) { goto NODE_48; } else { ACTION_78 } } } } else { if (CONDITION_VA) { if (CONDITION_NB) { ACTION_81 } else { if (CONDITION_UA) { goto NODE_79; } else { ACTION_81 } } } else { if (CONDITION_NB) { ACTION_9 } else { if (CONDITION_UA) { goto NODE_47; } else { ACTION_9 } } } } } else { if (CONDITION_SA) { if (CONDITION_UA) { goto NODE_72; } else { if (CONDITION_VA) { ACTION_85 } else { ACTION_10 } } } else { if (CONDITION_UA) { goto NODE_73; } else { if (CONDITION_VA) { ACTION_13 } else { ACTION_1 } } } } } } } } } } } else { ACTION_0 } } } } ================================================ FILE: include/labeling3D_EPDT_22c.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany #ifndef YACCLAB_LABELING3D_EPDT_22c_H_ #define YACCLAB_LABELING3D_EPDT_22c_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_LA r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img_slice11_row11[c + 2] > 0 #define CONDITION_NB c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_OA s > 0 && img_slice11_row00[c] > 0 #define CONDITION_OB c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_PA c < w - 2 && s > 0 && img_slice11_row00[c + 2] > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_RA r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img_slice11_row01[c + 2] > 0 #define CONDITION_TB c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_UA r > 0 && img_slice00_row11[c] > 0 #define CONDITION_UB c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_VA c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 #define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_XA img_slice00_row00[c] > 0 #define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 #define CONDITION_NA c > 1 && s > 0 && img_slice11_row00[c - 2] > 0 #define CONDITION_PB c < w - 3 && s > 0 && img_slice11_row00[c + 3] > 0 #define CONDITION_WA c > 1 && img_slice00_row00[c - 2] > 0 //Actions: #include "labeling3D_EPDT_22c_action_def.inc.h" template class EPDT_3D_22c : public Labeling3D { public: EPDT_3D_22c() {} void PerformLabeling() { img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // T, W slice //const unsigned char* const img_slice00_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -2); const unsigned char* const img_slice00_row11 = (unsigned char*)(((char*)img_slice00_row00) + img_.step.p[1] * -1); // img_slice00_row00 defined above //const unsigned char* const img_slice00_row01 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * 1); // K, N, Q slice //const unsigned char* const img_slice11_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); const unsigned char* const img_slice11_row11 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); //const unsigned char* const img_slice11_row02 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); //const unsigned char* const img_slice11_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // T, W slice //unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); unsigned* const img_labels_slice00_row11 = (unsigned*)(((char*)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // img_labels_slice00_row00 defined above //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * 1); // K, N, Q slice //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); unsigned* const img_labels_slice11_row11 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); //unsigned* const img_labels_slice11_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 3); // V -- old -- V //// Row pointers for the output image (current slice) //unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); //unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * 1); //// Row pointers for the output image (previous slice) //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); //unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); //unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_EPDT_22c_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::Flatten(); //unsigned* const img_labels_slice12_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); //char * img_labels_row = reinterpret_cast(img_labels_.data); //unsigned char * img_row = reinterpret_cast(img_.data); //const unsigned char* const img_row = img_.ptr(0); //unsigned* const img_labels_row = img_labels_.ptr(0); //const unsigned char* const img_row = img_.ptr(); //int* const img_labels_row = img_labels_.ptr(); // NEW VERSION BELOW, OLD IN labeling3D_EPDT_19c.h int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); unsigned* const img_labels_row = img_labels_.ptr(s, r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { { #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_PB #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB #include "labeling3D_EPDT_2829_action_undef.inc.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img(s - 1, r - 1, c - 1) > 0 #define CONDITION_LA r > 0 && s > 0 && img(s - 1, r - 1, c) > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img(s - 1, r - 1, c + 1) > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img(s - 1, r - 1, c + 2) > 0 #define CONDITION_NA c > 1 && s > 0 && img(s - 1, r, c - 2) > 0 #define CONDITION_NB c > 0 && s > 0 && img(s - 1, r, c - 1) > 0 #define CONDITION_OA s > 0 && img(s - 1, r, c) > 0 #define CONDITION_OB c < w - 1 && s > 0 && img(s - 1, r, c + 1) > 0 #define CONDITION_PA c < w - 2 && s > 0 && img(s - 1, r, c + 2) > 0 #define CONDITION_PB c < w - 3 && s > 0 && img(s - 1, r, c + 3) > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img(s - 1, r + 1, c - 1) > 0 #define CONDITION_RA r < h - 1 && s > 0 && img(s - 1, r + 1, c) > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 1) > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 2) > 0 #define CONDITION_TB c > 0 && r > 0 && img(s, r - 1, c - 1) > 0 #define CONDITION_UA r > 0 && img(s, r - 1, c) > 0 #define CONDITION_UB c < w - 1 && r > 0 && img(s, r - 1, c + 1) > 0 #define CONDITION_VA c < w - 2 && r > 0 && img(s, r - 1, c + 2) > 0 #define CONDITION_WA c > 1 && img(s, r, c - 2) > 0 #define CONDITION_WB c > 0 && img(s, r, c - 1) > 0 #define CONDITION_XA img(s, r, c) > 0 #define CONDITION_XB c < w - 1 && img(s, r, c + 1) > 0 #include "labeling3D_EPDT_22c_action_def_mem.inc.h" } LabelsSolver::MemAlloc(UPPER_BOUND_26_CONNECTIVITY); // Equivalence solver MemVol img(img_); MemVol img_labels(img_.size.p); LabelsSolver::MemSetup(); // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_EPDT_22c_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::MemFlatten(); // NEW VERSION BELOW, OLD IN labeling3D_EPDT_19c.h int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; if (img(s, r, c + 1) > 0) img_labels(s, r, c + 1) = iLabel; else img_labels(s, r, c + 1) = 0; } else { img_labels(s, r, c) = 0; img_labels(s, r, c + 1) = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { // Useless controls iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; } else { img_labels(s, r, c) = 0; } } } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (unsigned long)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (unsigned long)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (unsigned long)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); // Memory deallocation of the labels solver { #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_PB #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB #include "labeling3D_EPDT_2829_action_undef.inc.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_LA r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img_slice11_row11[c + 2] > 0 #define CONDITION_NB c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_OA s > 0 && img_slice11_row00[c] > 0 #define CONDITION_OB c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_PA c < w - 2 && s > 0 && img_slice11_row00[c + 2] > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_RA r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img_slice11_row01[c + 2] > 0 #define CONDITION_TB c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_UA r > 0 && img_slice00_row11[c] > 0 #define CONDITION_UB c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_VA c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 #define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_XA img_slice00_row00[c] > 0 #define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 #define CONDITION_NA c > 1 && s > 0 && img_slice11_row00[c - 2] > 0 #define CONDITION_PB c < w - 3 && s > 0 && img_slice11_row00[c + 3] > 0 #define CONDITION_WA c > 1 && img_slice00_row00[c - 2] > 0 //Actions: #include "labeling3D_EPDT_22c_action_def.inc.h" } } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // T, W slice const unsigned char* const img_slice00_row11 = (unsigned char*)(((char*)img_slice00_row00) + img_.step.p[1] * -1); // K, N, Q slice const unsigned char* const img_slice11_row11 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // T, W slice unsigned* const img_labels_slice00_row11 = (unsigned*)(((char*)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // K, N, Q slice unsigned* const img_labels_slice11_row11 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_EPDT_22c_tree.inc.h" } } // Rows cycle end } // Planes cycle end } void SecondScan() { // Second scan LabelsSolver::Flatten(); unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; //const unsigned char* const img_row = img_.ptr(); //int* const img_labels_row = img_labels_.ptr(); // NEW VERSION BELOW, OLD COMMENTED IN PerformLabeling int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); unsigned* const img_labels_row = img_labels_.ptr(s, r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } } }; #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_PB #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB //Actions: #include "labeling3D_EPDT_2829_action_undef.inc.h" #endif // YACCLAB_LABELING3D_EPDT_22c_H_ ================================================ FILE: include/labeling3D_EPDT_22c_211b.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany #ifndef YACCLAB_LABELING3D_BBDT_22c_H_ #define YACCLAB_LABELING3D_BBDT_22c_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_LA r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img_slice11_row11[c + 2] > 0 #define CONDITION_NB c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_OA s > 0 && img_slice11_row00[c] > 0 #define CONDITION_OB c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_PA c < w - 2 && s > 0 && img_slice11_row00[c + 2] > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_RA r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img_slice11_row01[c + 2] > 0 #define CONDITION_TB c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_UA r > 0 && img_slice00_row11[c] > 0 #define CONDITION_UB c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_VA c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 #define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_XA img_slice00_row00[c] > 0 #define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 #define CONDITION_NA c > 1 && s > 0 && img_slice11_row00[c - 2] > 0 #define CONDITION_PB c < w - 3 && s > 0 && img_slice11_row00[c + 3] > 0 #define CONDITION_WA c > 1 && img_slice00_row00[c - 2] > 0 //Actions: #include "labeling3D_BBDT_22c_action_def.inc.h" template class BBDT_3D_22c : public Labeling3D { public: BBDT_3D_22c() {} void PerformLabeling() { img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // T, W slice //const unsigned char* const img_slice00_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -2); const unsigned char* const img_slice00_row11 = (unsigned char*)(((char*)img_slice00_row00) + img_.step.p[1] * -1); // img_slice00_row00 defined above //const unsigned char* const img_slice00_row01 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * 1); // K, N, Q slice //const unsigned char* const img_slice11_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); const unsigned char* const img_slice11_row11 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); //const unsigned char* const img_slice11_row02 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); //const unsigned char* const img_slice11_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // T, W slice //unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); unsigned* const img_labels_slice00_row11 = (unsigned*)(((char*)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // img_labels_slice00_row00 defined above //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * 1); // K, N, Q slice //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); unsigned* const img_labels_slice11_row11 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); //unsigned* const img_labels_slice11_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 3); // V -- old -- V //// Row pointers for the output image (current slice) //unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); //unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * 1); //// Row pointers for the output image (previous slice) //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); //unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); //unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_BBDT_22c_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::Flatten(); //unsigned* const img_labels_slice12_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); //char * img_labels_row = reinterpret_cast(img_labels_.data); //unsigned char * img_row = reinterpret_cast(img_.data); //const unsigned char* const img_row = img_.ptr(0); //unsigned* const img_labels_row = img_labels_.ptr(0); //const unsigned char* const img_row = img_.ptr(); //int* const img_labels_row = img_labels_.ptr(); // NEW VERSION BELOW, OLD IN labeling3D_BBDT_19c.h int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); unsigned* const img_labels_row = img_labels_.ptr(s, r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { { #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_PB #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB #include "labeling3D_BBDT_2829_action_undef.inc.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img(s - 1, r - 1, c - 1) > 0 #define CONDITION_LA r > 0 && s > 0 && img(s - 1, r - 1, c) > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img(s - 1, r - 1, c + 1) > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img(s - 1, r - 1, c + 2) > 0 #define CONDITION_NA c > 1 && s > 0 && img(s - 1, r, c - 2) > 0 #define CONDITION_NB c > 0 && s > 0 && img(s - 1, r, c - 1) > 0 #define CONDITION_OA s > 0 && img(s - 1, r, c) > 0 #define CONDITION_OB c < w - 1 && s > 0 && img(s - 1, r, c + 1) > 0 #define CONDITION_PA c < w - 2 && s > 0 && img(s - 1, r, c + 2) > 0 #define CONDITION_PB c < w - 3 && s > 0 && img(s - 1, r, c + 3) > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img(s - 1, r + 1, c - 1) > 0 #define CONDITION_RA r < h - 1 && s > 0 && img(s - 1, r + 1, c) > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 1) > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 2) > 0 #define CONDITION_TB c > 0 && r > 0 && img(s, r - 1, c - 1) > 0 #define CONDITION_UA r > 0 && img(s, r - 1, c) > 0 #define CONDITION_UB c < w - 1 && r > 0 && img(s, r - 1, c + 1) > 0 #define CONDITION_VA c < w - 2 && r > 0 && img(s, r - 1, c + 2) > 0 #define CONDITION_WA c > 1 && img(s, r, c - 2) > 0 #define CONDITION_WB c > 0 && img(s, r, c - 1) > 0 #define CONDITION_XA img(s, r, c) > 0 #define CONDITION_XB c < w - 1 && img(s, r, c + 1) > 0 #include "labeling3D_BBDT_22c_action_def_mem.inc.h" } LabelsSolver::MemAlloc(UPPER_BOUND_26_CONNECTIVITY); // Equivalence solver MemVol img(img_); MemVol img_labels(img_.size.p); LabelsSolver::MemSetup(); // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_BBDT_22c_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::MemFlatten(); // NEW VERSION BELOW, OLD IN labeling3D_BBDT_19c.h int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; if (img(s, r, c + 1) > 0) img_labels(s, r, c + 1) = iLabel; else img_labels(s, r, c + 1) = 0; } else { img_labels(s, r, c) = 0; img_labels(s, r, c + 1) = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { // Useless controls iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; } else { img_labels(s, r, c) = 0; } } } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (unsigned long)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (unsigned long)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (unsigned long)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); // Memory deallocation of the labels solver { #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_PB #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB #include "labeling3D_BBDT_2829_action_undef.inc.h" //Conditions: #define CONDITION_KB c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_LA r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_LB c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_MA c < w - 2 && r > 0 && s > 0 && img_slice11_row11[c + 2] > 0 #define CONDITION_NB c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_OA s > 0 && img_slice11_row00[c] > 0 #define CONDITION_OB c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_PA c < w - 2 && s > 0 && img_slice11_row00[c + 2] > 0 #define CONDITION_QB c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_RA r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_RB c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_SA c < w - 2 && r < h - 1 && s > 0 && img_slice11_row01[c + 2] > 0 #define CONDITION_TB c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_UA r > 0 && img_slice00_row11[c] > 0 #define CONDITION_UB c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_VA c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 #define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_XA img_slice00_row00[c] > 0 #define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 #define CONDITION_NA c > 1 && s > 0 && img_slice11_row00[c - 2] > 0 #define CONDITION_PB c < w - 3 && s > 0 && img_slice11_row00[c + 3] > 0 #define CONDITION_WA c > 1 && img_slice00_row00[c - 2] > 0 //Actions: #include "labeling3D_BBDT_22c_action_def.inc.h" } } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 1) { const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // T, W slice const unsigned char* const img_slice00_row11 = (unsigned char*)(((char*)img_slice00_row00) + img_.step.p[1] * -1); // K, N, Q slice const unsigned char* const img_slice11_row11 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // T, W slice unsigned* const img_labels_slice00_row11 = (unsigned*)(((char*)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // K, N, Q slice unsigned* const img_labels_slice11_row11 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB))) { ACTION_0; } #include "labeling3D_BBDT_22c_tree.inc.h" } } // Rows cycle end } // Planes cycle end } void SecondScan() { // Second scan LabelsSolver::Flatten(); unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; //const unsigned char* const img_row = img_.ptr(); //int* const img_labels_row = img_labels_.ptr(); // NEW VERSION BELOW, OLD COMMENTED IN PerformLabeling int rows = h; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < rows; r += 1) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); unsigned* const img_labels_row = img_labels_.ptr(s, r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } } }; #undef CONDITION_KB #undef CONDITION_LA #undef CONDITION_LB #undef CONDITION_MA #undef CONDITION_NA #undef CONDITION_NB #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_PA #undef CONDITION_PB #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TB #undef CONDITION_UA #undef CONDITION_UB #undef CONDITION_VA #undef CONDITION_WA #undef CONDITION_WB #undef CONDITION_XA #undef CONDITION_XB //Actions: #include "labeling3D_BBDT_2829_action_undef.inc.h" #endif // YACCLAB_LABELING3D_BBDT_22c_H_ ================================================ FILE: include/labeling3D_EPDT_22c_action_def.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany // Action 0: nothing #define ACTION_0 img_labels_slice00_row00[c] = 0;continue; // Action 1: x<-newlabel #define ACTION_1 img_labels_slice00_row00[c] = LabelsSolver::NewLabel();continue; // Action 2: x<-K #define ACTION_2 img_labels_slice00_row00[c] = img_labels_slice11_row11[c - 2];continue; // Action 3: x<-L #define ACTION_3 img_labels_slice00_row00[c] = img_labels_slice11_row11[c];continue; // Action 4: x<-M #define ACTION_4 img_labels_slice00_row00[c] = img_labels_slice11_row11[c + 2];continue; // Action 5: x<-N #define ACTION_5 img_labels_slice00_row00[c] = img_labels_slice11_row00[c - 2];continue; // Action 6: x<-O #define ACTION_6 img_labels_slice00_row00[c] = img_labels_slice11_row00[c];continue; // Action 7: x<-P #define ACTION_7 img_labels_slice00_row00[c] = img_labels_slice11_row00[c + 2];continue; // Action 8: x<-Q #define ACTION_8 img_labels_slice00_row00[c] = img_labels_slice11_row01[c - 2];continue; // Action 9: x<-R #define ACTION_9 img_labels_slice00_row00[c] = img_labels_slice11_row01[c];continue; // Action 10: x<-S #define ACTION_10 img_labels_slice00_row00[c] = img_labels_slice11_row01[c + 2];continue; // Action 11: x<-T #define ACTION_11 img_labels_slice00_row00[c] = img_labels_slice00_row11[c - 2];continue; // Action 12: x<-U #define ACTION_12 img_labels_slice00_row00[c] = img_labels_slice00_row11[c];continue; // Action 13: x<-V #define ACTION_13 img_labels_slice00_row00[c] = img_labels_slice00_row11[c + 2];continue; // Action 14: x<-W #define ACTION_14 img_labels_slice00_row00[c] = img_labels_slice00_row00[c - 2];continue; // Action 15: x<-K+L #define ACTION_15 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]);continue; // Action 16: x<-K+M #define ACTION_16 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]);continue; // Action 17: x<-K+N #define ACTION_17 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]);continue; // Action 18: x<-K+O #define ACTION_18 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]);continue; // Action 19: x<-K+P #define ACTION_19 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]);continue; // Action 20: x<-K+Q #define ACTION_20 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]);continue; // Action 21: x<-K+R #define ACTION_21 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]);continue; // Action 22: x<-K+S #define ACTION_22 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]);continue; // Action 23: x<-K+T #define ACTION_23 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c - 2]);continue; // Action 24: x<-K+U #define ACTION_24 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c - 2]);continue; // Action 25: x<-K+V #define ACTION_25 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c - 2]);continue; // Action 26: x<-K+W #define ACTION_26 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c - 2]);continue; // Action 27: x<-L+M #define ACTION_27 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]);continue; // Action 28: x<-L+N #define ACTION_28 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]);continue; // Action 29: x<-L+O #define ACTION_29 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]);continue; // Action 30: x<-L+P #define ACTION_30 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]);continue; // Action 31: x<-L+Q #define ACTION_31 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]);continue; // Action 32: x<-L+R #define ACTION_32 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]);continue; // Action 33: x<-L+S #define ACTION_33 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]);continue; // Action 34: x<-L+T #define ACTION_34 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c]);continue; // Action 35: x<-L+U #define ACTION_35 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c]);continue; // Action 36: x<-L+V #define ACTION_36 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c]);continue; // Action 37: x<-L+W #define ACTION_37 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c]);continue; // Action 38: x<-M+N #define ACTION_38 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]);continue; // Action 39: x<-M+O #define ACTION_39 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]);continue; // Action 40: x<-M+P #define ACTION_40 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]);continue; // Action 41: x<-M+Q #define ACTION_41 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]);continue; // Action 42: x<-M+R #define ACTION_42 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]);continue; // Action 43: x<-M+S #define ACTION_43 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]);continue; // Action 44: x<-M+T #define ACTION_44 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c + 2]);continue; // Action 45: x<-M+U #define ACTION_45 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c + 2]);continue; // Action 46: x<-M+V #define ACTION_46 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c + 2]);continue; // Action 47: x<-M+W #define ACTION_47 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c + 2]);continue; // Action 48: x<-N+O #define ACTION_48 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]);continue; // Action 49: x<-N+P #define ACTION_49 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]);continue; // Action 50: x<-N+Q #define ACTION_50 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]);continue; // Action 51: x<-N+R #define ACTION_51 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]);continue; // Action 52: x<-N+S #define ACTION_52 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]);continue; // Action 53: x<-N+T #define ACTION_53 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]);continue; // Action 54: x<-N+U #define ACTION_54 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]);continue; // Action 55: x<-N+V #define ACTION_55 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]);continue; // Action 56: x<-N+W #define ACTION_56 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]);continue; // Action 57: x<-O+P #define ACTION_57 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]);continue; // Action 58: x<-O+Q #define ACTION_58 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]);continue; // Action 59: x<-O+R #define ACTION_59 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]);continue; // Action 60: x<-O+S #define ACTION_60 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]);continue; // Action 61: x<-O+T #define ACTION_61 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]);continue; // Action 62: x<-O+U #define ACTION_62 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]);continue; // Action 63: x<-O+V #define ACTION_63 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]);continue; // Action 64: x<-O+W #define ACTION_64 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]);continue; // Action 65: x<-P+Q #define ACTION_65 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]);continue; // Action 66: x<-P+R #define ACTION_66 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]);continue; // Action 67: x<-P+S #define ACTION_67 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]);continue; // Action 68: x<-P+T #define ACTION_68 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]);continue; // Action 69: x<-P+U #define ACTION_69 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]);continue; // Action 70: x<-P+V #define ACTION_70 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]);continue; // Action 71: x<-P+W #define ACTION_71 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]);continue; // Action 72: x<-Q+R #define ACTION_72 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]);continue; // Action 73: x<-Q+S #define ACTION_73 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]);continue; // Action 74: x<-Q+T #define ACTION_74 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]);continue; // Action 75: x<-Q+U #define ACTION_75 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]);continue; // Action 76: x<-Q+V #define ACTION_76 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]);continue; // Action 77: x<-Q+W #define ACTION_77 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]);continue; // Action 78: x<-R+S #define ACTION_78 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]);continue; // Action 79: x<-R+T #define ACTION_79 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]);continue; // Action 80: x<-R+U #define ACTION_80 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]);continue; // Action 81: x<-R+V #define ACTION_81 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]);continue; // Action 82: x<-R+W #define ACTION_82 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]);continue; // Action 83: x<-S+T #define ACTION_83 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]);continue; // Action 84: x<-S+U #define ACTION_84 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]);continue; // Action 85: x<-S+V #define ACTION_85 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]);continue; // Action 86: x<-S+W #define ACTION_86 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]);continue; // Action 87: x<-T+U #define ACTION_87 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]);continue; // Action 88: x<-T+V #define ACTION_88 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]);continue; // Action 89: x<-T+W #define ACTION_89 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]);continue; // Action 90: x<-U+V #define ACTION_90 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]);continue; // Action 91: x<-U+W #define ACTION_91 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]);continue; // Action 92: x<-V+W #define ACTION_92 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]);continue; // Action 93: x<-K+L+N #define ACTION_93 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 94: x<-K+L+O #define ACTION_94 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 95: x<-K+L+P #define ACTION_95 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 96: x<-K+L+Q #define ACTION_96 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 97: x<-K+L+R #define ACTION_97 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 98: x<-K+L+S #define ACTION_98 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 99: x<-K+L+T #define ACTION_99 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 100: x<-K+L+U #define ACTION_100 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 101: x<-K+L+V #define ACTION_101 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 102: x<-K+L+W #define ACTION_102 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 103: x<-K+M+N #define ACTION_103 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 104: x<-K+M+O #define ACTION_104 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 105: x<-K+M+P #define ACTION_105 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 106: x<-K+M+Q #define ACTION_106 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 107: x<-K+M+R #define ACTION_107 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 108: x<-K+M+S #define ACTION_108 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 109: x<-K+M+T #define ACTION_109 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 110: x<-K+M+U #define ACTION_110 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 111: x<-K+M+V #define ACTION_111 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 112: x<-K+M+W #define ACTION_112 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 113: x<-K+N+O #define ACTION_113 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 114: x<-K+N+P #define ACTION_114 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 115: x<-K+N+R #define ACTION_115 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 116: x<-K+N+S #define ACTION_116 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 117: x<-K+N+T #define ACTION_117 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 118: x<-K+N+U #define ACTION_118 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 119: x<-K+N+V #define ACTION_119 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 120: x<-K+N+W #define ACTION_120 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 121: x<-K+O+P #define ACTION_121 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 122: x<-K+O+Q #define ACTION_122 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 123: x<-K+O+R #define ACTION_123 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 124: x<-K+O+S #define ACTION_124 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 125: x<-K+O+T #define ACTION_125 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 126: x<-K+O+U #define ACTION_126 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 127: x<-K+O+V #define ACTION_127 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 128: x<-K+O+W #define ACTION_128 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]);continue; // Action 129: x<-K+P+Q #define ACTION_129 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 130: x<-K+P+R #define ACTION_130 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 131: x<-K+P+S #define ACTION_131 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 132: x<-K+P+T #define ACTION_132 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 133: x<-K+P+U #define ACTION_133 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 134: x<-K+P+V #define ACTION_134 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 135: x<-K+P+W #define ACTION_135 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 136: x<-K+Q+R #define ACTION_136 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 137: x<-K+Q+S #define ACTION_137 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 138: x<-K+Q+T #define ACTION_138 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 139: x<-K+Q+U #define ACTION_139 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 140: x<-K+Q+V #define ACTION_140 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 141: x<-K+Q+W #define ACTION_141 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 142: x<-K+R+S #define ACTION_142 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]);continue; // Action 143: x<-K+R+T #define ACTION_143 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]);continue; // Action 144: x<-K+R+U #define ACTION_144 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]);continue; // Action 145: x<-K+R+V #define ACTION_145 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]);continue; // Action 146: x<-K+R+W #define ACTION_146 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]);continue; // Action 147: x<-K+S+T #define ACTION_147 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 148: x<-K+S+U #define ACTION_148 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 149: x<-K+S+V #define ACTION_149 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 150: x<-K+S+W #define ACTION_150 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 151: x<-K+T+U #define ACTION_151 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 152: x<-K+T+V #define ACTION_152 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 153: x<-K+T+W #define ACTION_153 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c - 2]);continue; // Action 154: x<-K+U+V #define ACTION_154 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 155: x<-K+U+W #define ACTION_155 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c - 2]);continue; // Action 156: x<-K+V+W #define ACTION_156 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row11[c - 2]);continue; // Action 157: x<-L+M+N #define ACTION_157 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 158: x<-L+M+O #define ACTION_158 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 159: x<-L+M+P #define ACTION_159 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 160: x<-L+M+Q #define ACTION_160 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 161: x<-L+M+R #define ACTION_161 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 162: x<-L+M+S #define ACTION_162 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 163: x<-L+M+T #define ACTION_163 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 164: x<-L+M+U #define ACTION_164 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 165: x<-L+M+V #define ACTION_165 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 166: x<-L+M+W #define ACTION_166 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 167: x<-L+N+O #define ACTION_167 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 168: x<-L+N+P #define ACTION_168 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 169: x<-L+N+Q #define ACTION_169 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 170: x<-L+N+R #define ACTION_170 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 171: x<-L+N+S #define ACTION_171 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 172: x<-L+N+T #define ACTION_172 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 173: x<-L+N+U #define ACTION_173 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 174: x<-L+N+V #define ACTION_174 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 175: x<-L+N+W #define ACTION_175 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]);continue; // Action 176: x<-L+O+P #define ACTION_176 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 177: x<-L+O+Q #define ACTION_177 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 178: x<-L+O+S #define ACTION_178 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 179: x<-L+O+T #define ACTION_179 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 180: x<-L+O+U #define ACTION_180 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 181: x<-L+O+V #define ACTION_181 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 182: x<-L+O+W #define ACTION_182 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]);continue; // Action 183: x<-L+P+Q #define ACTION_183 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 184: x<-L+P+R #define ACTION_184 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 185: x<-L+P+S #define ACTION_185 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 186: x<-L+P+T #define ACTION_186 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 187: x<-L+P+U #define ACTION_187 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 188: x<-L+P+V #define ACTION_188 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 189: x<-L+P+W #define ACTION_189 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]);continue; // Action 190: x<-L+Q+R #define ACTION_190 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 191: x<-L+Q+S #define ACTION_191 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 192: x<-L+Q+T #define ACTION_192 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 193: x<-L+Q+U #define ACTION_193 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 194: x<-L+Q+V #define ACTION_194 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 195: x<-L+Q+W #define ACTION_195 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]);continue; // Action 196: x<-L+R+S #define ACTION_196 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]);continue; // Action 197: x<-L+R+T #define ACTION_197 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]);continue; // Action 198: x<-L+R+U #define ACTION_198 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]);continue; // Action 199: x<-L+R+V #define ACTION_199 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]);continue; // Action 200: x<-L+R+W #define ACTION_200 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]);continue; // Action 201: x<-L+S+T #define ACTION_201 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c]);continue; // Action 202: x<-L+S+U #define ACTION_202 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c]);continue; // Action 203: x<-L+S+V #define ACTION_203 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c]);continue; // Action 204: x<-L+S+W #define ACTION_204 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c]);continue; // Action 205: x<-L+T+U #define ACTION_205 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c]);continue; // Action 206: x<-L+T+V #define ACTION_206 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c]);continue; // Action 207: x<-L+T+W #define ACTION_207 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c]);continue; // Action 208: x<-L+U+V #define ACTION_208 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c]);continue; // Action 209: x<-L+U+W #define ACTION_209 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c]);continue; // Action 210: x<-L+V+W #define ACTION_210 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row11[c]);continue; // Action 211: x<-M+N+O #define ACTION_211 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 212: x<-M+N+P #define ACTION_212 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 213: x<-M+N+Q #define ACTION_213 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 214: x<-M+N+R #define ACTION_214 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 215: x<-M+N+S #define ACTION_215 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 216: x<-M+N+T #define ACTION_216 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 217: x<-M+N+U #define ACTION_217 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 218: x<-M+N+V #define ACTION_218 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 219: x<-M+N+W #define ACTION_219 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 220: x<-M+O+P #define ACTION_220 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 221: x<-M+O+Q #define ACTION_221 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 222: x<-M+O+R #define ACTION_222 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 223: x<-M+O+S #define ACTION_223 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 224: x<-M+O+T #define ACTION_224 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 225: x<-M+O+U #define ACTION_225 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 226: x<-M+O+V #define ACTION_226 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 227: x<-M+O+W #define ACTION_227 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]);continue; // Action 228: x<-M+P+Q #define ACTION_228 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 229: x<-M+P+R #define ACTION_229 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 230: x<-M+P+T #define ACTION_230 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 231: x<-M+P+U #define ACTION_231 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 232: x<-M+P+V #define ACTION_232 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 233: x<-M+P+W #define ACTION_233 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 234: x<-M+Q+R #define ACTION_234 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 235: x<-M+Q+S #define ACTION_235 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 236: x<-M+Q+T #define ACTION_236 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 237: x<-M+Q+U #define ACTION_237 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 238: x<-M+Q+V #define ACTION_238 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 239: x<-M+Q+W #define ACTION_239 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 240: x<-M+R+S #define ACTION_240 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]);continue; // Action 241: x<-M+R+T #define ACTION_241 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]);continue; // Action 242: x<-M+R+U #define ACTION_242 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]);continue; // Action 243: x<-M+R+V #define ACTION_243 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]);continue; // Action 244: x<-M+R+W #define ACTION_244 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]);continue; // Action 245: x<-M+S+T #define ACTION_245 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 246: x<-M+S+U #define ACTION_246 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 247: x<-M+S+V #define ACTION_247 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 248: x<-M+S+W #define ACTION_248 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 249: x<-M+T+U #define ACTION_249 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 250: x<-M+T+V #define ACTION_250 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 251: x<-M+T+W #define ACTION_251 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row11[c + 2]);continue; // Action 252: x<-M+U+V #define ACTION_252 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c + 2]);continue; // Action 253: x<-M+U+W #define ACTION_253 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row11[c + 2]);continue; // Action 254: x<-M+V+W #define ACTION_254 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row11[c + 2]);continue; // Action 255: x<-N+O+Q #define ACTION_255 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 256: x<-N+O+R #define ACTION_256 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 257: x<-N+O+S #define ACTION_257 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 258: x<-N+O+T #define ACTION_258 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 259: x<-N+O+U #define ACTION_259 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 260: x<-N+O+V #define ACTION_260 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 261: x<-N+O+W #define ACTION_261 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 262: x<-N+P+Q #define ACTION_262 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 263: x<-N+P+R #define ACTION_263 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 264: x<-N+P+S #define ACTION_264 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 265: x<-N+P+T #define ACTION_265 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 266: x<-N+P+U #define ACTION_266 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 267: x<-N+P+V #define ACTION_267 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 268: x<-N+P+W #define ACTION_268 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 269: x<-N+Q+R #define ACTION_269 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 270: x<-N+Q+S #define ACTION_270 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 271: x<-N+Q+T #define ACTION_271 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 272: x<-N+Q+U #define ACTION_272 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 273: x<-N+Q+V #define ACTION_273 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 274: x<-N+Q+W #define ACTION_274 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 275: x<-N+R+S #define ACTION_275 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]);continue; // Action 276: x<-N+R+T #define ACTION_276 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]);continue; // Action 277: x<-N+R+U #define ACTION_277 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]);continue; // Action 278: x<-N+R+V #define ACTION_278 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]);continue; // Action 279: x<-N+R+W #define ACTION_279 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]);continue; // Action 280: x<-N+S+T #define ACTION_280 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 281: x<-N+S+U #define ACTION_281 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 282: x<-N+S+V #define ACTION_282 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 283: x<-N+S+W #define ACTION_283 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 284: x<-N+T+U #define ACTION_284 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 285: x<-N+T+V #define ACTION_285 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 286: x<-N+T+W #define ACTION_286 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 287: x<-N+U+V #define ACTION_287 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]);continue; // Action 288: x<-N+U+W #define ACTION_288 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]);continue; // Action 289: x<-N+V+W #define ACTION_289 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 290: x<-O+P+Q #define ACTION_290 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 291: x<-O+P+R #define ACTION_291 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 292: x<-O+P+S #define ACTION_292 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 293: x<-O+P+T #define ACTION_293 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 294: x<-O+P+U #define ACTION_294 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 295: x<-O+P+V #define ACTION_295 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 296: x<-O+P+W #define ACTION_296 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 297: x<-O+Q+R #define ACTION_297 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 298: x<-O+Q+S #define ACTION_298 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 299: x<-O+Q+T #define ACTION_299 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 300: x<-O+Q+U #define ACTION_300 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 301: x<-O+Q+V #define ACTION_301 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 302: x<-O+Q+W #define ACTION_302 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]);continue; // Action 303: x<-O+R+S #define ACTION_303 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]);continue; // Action 304: x<-O+R+T #define ACTION_304 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]);continue; // Action 305: x<-O+R+U #define ACTION_305 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]);continue; // Action 306: x<-O+R+V #define ACTION_306 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]);continue; // Action 307: x<-O+R+W #define ACTION_307 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]);continue; // Action 308: x<-O+S+T #define ACTION_308 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]);continue; // Action 309: x<-O+S+U #define ACTION_309 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]);continue; // Action 310: x<-O+S+V #define ACTION_310 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]);continue; // Action 311: x<-O+S+W #define ACTION_311 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]);continue; // Action 312: x<-O+T+U #define ACTION_312 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]);continue; // Action 313: x<-O+T+V #define ACTION_313 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]);continue; // Action 314: x<-O+T+W #define ACTION_314 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]);continue; // Action 315: x<-O+U+V #define ACTION_315 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]);continue; // Action 316: x<-O+U+W #define ACTION_316 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]);continue; // Action 317: x<-O+V+W #define ACTION_317 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]);continue; // Action 318: x<-P+Q+R #define ACTION_318 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 319: x<-P+Q+S #define ACTION_319 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 320: x<-P+Q+T #define ACTION_320 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 321: x<-P+Q+U #define ACTION_321 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 322: x<-P+Q+V #define ACTION_322 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 323: x<-P+Q+W #define ACTION_323 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 324: x<-P+R+S #define ACTION_324 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]);continue; // Action 325: x<-P+R+T #define ACTION_325 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]);continue; // Action 326: x<-P+R+U #define ACTION_326 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]);continue; // Action 327: x<-P+R+V #define ACTION_327 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]);continue; // Action 328: x<-P+R+W #define ACTION_328 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]);continue; // Action 329: x<-P+S+T #define ACTION_329 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 330: x<-P+S+U #define ACTION_330 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 331: x<-P+S+V #define ACTION_331 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 332: x<-P+S+W #define ACTION_332 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 333: x<-P+T+U #define ACTION_333 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 334: x<-P+T+V #define ACTION_334 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 335: x<-P+T+W #define ACTION_335 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 336: x<-P+U+V #define ACTION_336 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]);continue; // Action 337: x<-P+U+W #define ACTION_337 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]);continue; // Action 338: x<-P+V+W #define ACTION_338 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 339: x<-Q+R+T #define ACTION_339 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]);continue; // Action 340: x<-Q+R+U #define ACTION_340 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]);continue; // Action 341: x<-Q+R+V #define ACTION_341 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]);continue; // Action 342: x<-Q+R+W #define ACTION_342 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]);continue; // Action 343: x<-Q+S+T #define ACTION_343 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]);continue; // Action 344: x<-Q+S+U #define ACTION_344 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]);continue; // Action 345: x<-Q+S+V #define ACTION_345 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]);continue; // Action 346: x<-Q+S+W #define ACTION_346 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]);continue; // Action 347: x<-Q+T+U #define ACTION_347 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]);continue; // Action 348: x<-Q+T+V #define ACTION_348 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]);continue; // Action 349: x<-Q+T+W #define ACTION_349 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]);continue; // Action 350: x<-Q+U+V #define ACTION_350 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]);continue; // Action 351: x<-Q+U+W #define ACTION_351 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]);continue; // Action 352: x<-Q+V+W #define ACTION_352 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]);continue; // Action 353: x<-R+S+T #define ACTION_353 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]);continue; // Action 354: x<-R+S+U #define ACTION_354 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]);continue; // Action 355: x<-R+S+V #define ACTION_355 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]);continue; // Action 356: x<-R+S+W #define ACTION_356 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]);continue; // Action 357: x<-R+T+U #define ACTION_357 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]);continue; // Action 358: x<-R+T+V #define ACTION_358 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]);continue; // Action 359: x<-R+T+W #define ACTION_359 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]);continue; // Action 360: x<-R+U+V #define ACTION_360 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]);continue; // Action 361: x<-R+U+W #define ACTION_361 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]);continue; // Action 362: x<-R+V+W #define ACTION_362 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]);continue; // Action 363: x<-S+T+U #define ACTION_363 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]);continue; // Action 364: x<-S+T+V #define ACTION_364 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]);continue; // Action 365: x<-S+T+W #define ACTION_365 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]);continue; // Action 366: x<-S+U+V #define ACTION_366 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]);continue; // Action 367: x<-S+U+W #define ACTION_367 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]);continue; // Action 368: x<-S+V+W #define ACTION_368 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]);continue; // Action 369: x<-T+U+W #define ACTION_369 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]);continue; // Action 370: x<-T+V+W #define ACTION_370 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]);continue; // Action 371: x<-U+V+W #define ACTION_371 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]);continue; // Action 372: x<-K+L+N+O #define ACTION_372 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 373: x<-K+L+N+P #define ACTION_373 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 374: x<-K+L+N+R #define ACTION_374 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 375: x<-K+L+N+S #define ACTION_375 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 376: x<-K+L+N+T #define ACTION_376 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 377: x<-K+L+N+U #define ACTION_377 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 378: x<-K+L+N+V #define ACTION_378 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 379: x<-K+L+N+W #define ACTION_379 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 380: x<-K+L+O+P #define ACTION_380 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 381: x<-K+L+O+Q #define ACTION_381 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 382: x<-K+L+O+S #define ACTION_382 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 383: x<-K+L+O+T #define ACTION_383 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 384: x<-K+L+O+U #define ACTION_384 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 385: x<-K+L+O+V #define ACTION_385 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 386: x<-K+L+O+W #define ACTION_386 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 387: x<-K+L+P+Q #define ACTION_387 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 388: x<-K+L+P+R #define ACTION_388 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 389: x<-K+L+P+T #define ACTION_389 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 390: x<-K+L+P+U #define ACTION_390 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 391: x<-K+L+P+V #define ACTION_391 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 392: x<-K+L+P+W #define ACTION_392 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 393: x<-K+L+Q+R #define ACTION_393 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 394: x<-K+L+Q+S #define ACTION_394 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 395: x<-K+L+Q+T #define ACTION_395 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 396: x<-K+L+Q+U #define ACTION_396 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 397: x<-K+L+Q+V #define ACTION_397 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 398: x<-K+L+Q+W #define ACTION_398 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 399: x<-K+L+R+S #define ACTION_399 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 400: x<-K+L+R+T #define ACTION_400 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 401: x<-K+L+R+U #define ACTION_401 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 402: x<-K+L+R+V #define ACTION_402 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 403: x<-K+L+R+W #define ACTION_403 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 404: x<-K+L+S+T #define ACTION_404 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 405: x<-K+L+S+U #define ACTION_405 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 406: x<-K+L+S+V #define ACTION_406 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 407: x<-K+L+S+W #define ACTION_407 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 408: x<-K+L+T+U #define ACTION_408 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 409: x<-K+L+T+V #define ACTION_409 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 410: x<-K+L+T+W #define ACTION_410 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 411: x<-K+L+U+V #define ACTION_411 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 412: x<-K+L+U+W #define ACTION_412 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 413: x<-K+L+V+W #define ACTION_413 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 414: x<-K+M+N+O #define ACTION_414 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 415: x<-K+M+N+P #define ACTION_415 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 416: x<-K+M+N+R #define ACTION_416 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 417: x<-K+M+N+S #define ACTION_417 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 418: x<-K+M+N+T #define ACTION_418 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 419: x<-K+M+N+U #define ACTION_419 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 420: x<-K+M+N+V #define ACTION_420 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 421: x<-K+M+N+W #define ACTION_421 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 422: x<-K+M+O+P #define ACTION_422 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 423: x<-K+M+O+Q #define ACTION_423 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 424: x<-K+M+O+S #define ACTION_424 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 425: x<-K+M+O+T #define ACTION_425 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 426: x<-K+M+O+U #define ACTION_426 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 427: x<-K+M+O+V #define ACTION_427 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 428: x<-K+M+O+W #define ACTION_428 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 429: x<-K+M+P+Q #define ACTION_429 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 430: x<-K+M+P+R #define ACTION_430 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 431: x<-K+M+P+T #define ACTION_431 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 432: x<-K+M+P+U #define ACTION_432 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 433: x<-K+M+P+V #define ACTION_433 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 434: x<-K+M+P+W #define ACTION_434 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 435: x<-K+M+Q+R #define ACTION_435 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 436: x<-K+M+Q+S #define ACTION_436 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 437: x<-K+M+Q+T #define ACTION_437 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 438: x<-K+M+Q+U #define ACTION_438 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 439: x<-K+M+Q+V #define ACTION_439 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 440: x<-K+M+Q+W #define ACTION_440 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 441: x<-K+M+R+S #define ACTION_441 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 442: x<-K+M+R+T #define ACTION_442 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 443: x<-K+M+R+U #define ACTION_443 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 444: x<-K+M+R+V #define ACTION_444 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 445: x<-K+M+R+W #define ACTION_445 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 446: x<-K+M+S+T #define ACTION_446 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 447: x<-K+M+S+U #define ACTION_447 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 448: x<-K+M+S+V #define ACTION_448 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 449: x<-K+M+S+W #define ACTION_449 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 450: x<-K+M+T+U #define ACTION_450 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 451: x<-K+M+T+V #define ACTION_451 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 452: x<-K+M+T+W #define ACTION_452 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 453: x<-K+M+U+V #define ACTION_453 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 454: x<-K+M+U+W #define ACTION_454 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 455: x<-K+M+V+W #define ACTION_455 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 456: x<-K+N+O+R #define ACTION_456 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 457: x<-K+N+O+S #define ACTION_457 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 458: x<-K+N+O+T #define ACTION_458 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 459: x<-K+N+O+U #define ACTION_459 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 460: x<-K+N+O+V #define ACTION_460 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 461: x<-K+N+O+W #define ACTION_461 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 462: x<-K+N+P+R #define ACTION_462 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 463: x<-K+N+P+S #define ACTION_463 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 464: x<-K+N+P+T #define ACTION_464 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 465: x<-K+N+P+U #define ACTION_465 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 466: x<-K+N+P+V #define ACTION_466 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 467: x<-K+N+P+W #define ACTION_467 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 468: x<-K+N+R+T #define ACTION_468 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 469: x<-K+N+R+U #define ACTION_469 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 470: x<-K+N+R+V #define ACTION_470 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 471: x<-K+N+R+W #define ACTION_471 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 472: x<-K+N+S+T #define ACTION_472 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 473: x<-K+N+S+U #define ACTION_473 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 474: x<-K+N+S+V #define ACTION_474 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 475: x<-K+N+S+W #define ACTION_475 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 476: x<-K+N+T+U #define ACTION_476 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 477: x<-K+N+T+V #define ACTION_477 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 478: x<-K+N+T+W #define ACTION_478 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 479: x<-K+N+U+V #define ACTION_479 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 480: x<-K+N+U+W #define ACTION_480 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 481: x<-K+N+V+W #define ACTION_481 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 482: x<-K+O+P+S #define ACTION_482 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 483: x<-K+O+P+T #define ACTION_483 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 484: x<-K+O+P+U #define ACTION_484 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 485: x<-K+O+P+V #define ACTION_485 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 486: x<-K+O+P+W #define ACTION_486 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 487: x<-K+O+Q+R #define ACTION_487 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 488: x<-K+O+Q+S #define ACTION_488 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 489: x<-K+O+Q+T #define ACTION_489 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 490: x<-K+O+Q+U #define ACTION_490 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 491: x<-K+O+Q+V #define ACTION_491 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 492: x<-K+O+Q+W #define ACTION_492 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 493: x<-K+O+R+S #define ACTION_493 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 494: x<-K+O+R+T #define ACTION_494 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 495: x<-K+O+R+U #define ACTION_495 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 496: x<-K+O+R+V #define ACTION_496 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 497: x<-K+O+R+W #define ACTION_497 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 498: x<-K+O+S+T #define ACTION_498 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 499: x<-K+O+S+U #define ACTION_499 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 500: x<-K+O+S+V #define ACTION_500 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 501: x<-K+O+S+W #define ACTION_501 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 502: x<-K+O+T+U #define ACTION_502 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 503: x<-K+O+T+V #define ACTION_503 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 504: x<-K+O+T+W #define ACTION_504 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 505: x<-K+O+U+V #define ACTION_505 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 506: x<-K+O+U+W #define ACTION_506 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 507: x<-K+O+V+W #define ACTION_507 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 508: x<-K+P+Q+R #define ACTION_508 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 509: x<-K+P+Q+S #define ACTION_509 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 510: x<-K+P+Q+T #define ACTION_510 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 511: x<-K+P+Q+U #define ACTION_511 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 512: x<-K+P+Q+V #define ACTION_512 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 513: x<-K+P+Q+W #define ACTION_513 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 514: x<-K+P+R+S #define ACTION_514 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 515: x<-K+P+R+T #define ACTION_515 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 516: x<-K+P+R+U #define ACTION_516 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 517: x<-K+P+R+V #define ACTION_517 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 518: x<-K+P+R+W #define ACTION_518 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 519: x<-K+P+S+T #define ACTION_519 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 520: x<-K+P+S+U #define ACTION_520 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 521: x<-K+P+S+V #define ACTION_521 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 522: x<-K+P+S+W #define ACTION_522 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 523: x<-K+P+T+U #define ACTION_523 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 524: x<-K+P+T+V #define ACTION_524 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 525: x<-K+P+T+W #define ACTION_525 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 526: x<-K+P+U+V #define ACTION_526 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 527: x<-K+P+U+W #define ACTION_527 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 528: x<-K+P+V+W #define ACTION_528 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 529: x<-K+Q+R+T #define ACTION_529 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 530: x<-K+Q+R+U #define ACTION_530 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 531: x<-K+Q+R+V #define ACTION_531 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 532: x<-K+Q+R+W #define ACTION_532 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 533: x<-K+Q+S+T #define ACTION_533 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 534: x<-K+Q+S+U #define ACTION_534 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 535: x<-K+Q+S+V #define ACTION_535 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 536: x<-K+Q+S+W #define ACTION_536 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 537: x<-K+Q+T+U #define ACTION_537 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 538: x<-K+Q+T+V #define ACTION_538 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 539: x<-K+Q+T+W #define ACTION_539 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 540: x<-K+Q+U+V #define ACTION_540 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 541: x<-K+Q+U+W #define ACTION_541 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 542: x<-K+Q+V+W #define ACTION_542 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 543: x<-K+R+S+T #define ACTION_543 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 544: x<-K+R+S+U #define ACTION_544 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 545: x<-K+R+S+V #define ACTION_545 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 546: x<-K+R+S+W #define ACTION_546 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 547: x<-K+R+T+U #define ACTION_547 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 548: x<-K+R+T+V #define ACTION_548 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 549: x<-K+R+T+W #define ACTION_549 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 550: x<-K+R+U+V #define ACTION_550 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 551: x<-K+R+U+W #define ACTION_551 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 552: x<-K+R+V+W #define ACTION_552 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 553: x<-K+S+T+U #define ACTION_553 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 554: x<-K+S+T+V #define ACTION_554 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 555: x<-K+S+T+W #define ACTION_555 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 556: x<-K+S+U+V #define ACTION_556 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 557: x<-K+S+U+W #define ACTION_557 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 558: x<-K+S+V+W #define ACTION_558 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 559: x<-K+T+U+W #define ACTION_559 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 560: x<-K+T+V+W #define ACTION_560 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 561: x<-K+U+V+W #define ACTION_561 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 562: x<-L+M+N+O #define ACTION_562 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 563: x<-L+M+N+P #define ACTION_563 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 564: x<-L+M+N+R #define ACTION_564 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 565: x<-L+M+N+S #define ACTION_565 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 566: x<-L+M+N+T #define ACTION_566 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 567: x<-L+M+N+U #define ACTION_567 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 568: x<-L+M+N+V #define ACTION_568 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 569: x<-L+M+N+W #define ACTION_569 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 570: x<-L+M+O+P #define ACTION_570 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 571: x<-L+M+O+Q #define ACTION_571 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 572: x<-L+M+O+S #define ACTION_572 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 573: x<-L+M+O+T #define ACTION_573 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 574: x<-L+M+O+U #define ACTION_574 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 575: x<-L+M+O+V #define ACTION_575 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 576: x<-L+M+O+W #define ACTION_576 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 577: x<-L+M+P+Q #define ACTION_577 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 578: x<-L+M+P+R #define ACTION_578 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 579: x<-L+M+P+T #define ACTION_579 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 580: x<-L+M+P+U #define ACTION_580 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 581: x<-L+M+P+V #define ACTION_581 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 582: x<-L+M+P+W #define ACTION_582 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 583: x<-L+M+Q+R #define ACTION_583 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 584: x<-L+M+Q+S #define ACTION_584 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 585: x<-L+M+Q+T #define ACTION_585 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 586: x<-L+M+Q+U #define ACTION_586 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 587: x<-L+M+Q+V #define ACTION_587 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 588: x<-L+M+Q+W #define ACTION_588 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 589: x<-L+M+R+S #define ACTION_589 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 590: x<-L+M+R+T #define ACTION_590 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 591: x<-L+M+R+U #define ACTION_591 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 592: x<-L+M+R+V #define ACTION_592 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 593: x<-L+M+R+W #define ACTION_593 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 594: x<-L+M+S+T #define ACTION_594 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 595: x<-L+M+S+U #define ACTION_595 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 596: x<-L+M+S+V #define ACTION_596 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 597: x<-L+M+S+W #define ACTION_597 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 598: x<-L+M+T+U #define ACTION_598 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 599: x<-L+M+T+V #define ACTION_599 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 600: x<-L+M+T+W #define ACTION_600 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 601: x<-L+M+U+V #define ACTION_601 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 602: x<-L+M+U+W #define ACTION_602 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 603: x<-L+M+V+W #define ACTION_603 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 604: x<-L+N+O+Q #define ACTION_604 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 605: x<-L+N+O+T #define ACTION_605 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 606: x<-L+N+O+U #define ACTION_606 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 607: x<-L+N+O+V #define ACTION_607 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 608: x<-L+N+O+W #define ACTION_608 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 609: x<-L+N+P+Q #define ACTION_609 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 610: x<-L+N+P+R #define ACTION_610 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 611: x<-L+N+P+S #define ACTION_611 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 612: x<-L+N+P+T #define ACTION_612 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 613: x<-L+N+P+U #define ACTION_613 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 614: x<-L+N+P+V #define ACTION_614 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 615: x<-L+N+P+W #define ACTION_615 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 616: x<-L+N+Q+R #define ACTION_616 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 617: x<-L+N+Q+S #define ACTION_617 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 618: x<-L+N+Q+T #define ACTION_618 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 619: x<-L+N+Q+U #define ACTION_619 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 620: x<-L+N+Q+V #define ACTION_620 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 621: x<-L+N+Q+W #define ACTION_621 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 622: x<-L+N+R+S #define ACTION_622 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 623: x<-L+N+R+T #define ACTION_623 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 624: x<-L+N+R+U #define ACTION_624 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 625: x<-L+N+R+V #define ACTION_625 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 626: x<-L+N+R+W #define ACTION_626 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 627: x<-L+N+S+T #define ACTION_627 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 628: x<-L+N+S+U #define ACTION_628 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 629: x<-L+N+S+V #define ACTION_629 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 630: x<-L+N+S+W #define ACTION_630 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 631: x<-L+N+T+U #define ACTION_631 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 632: x<-L+N+T+V #define ACTION_632 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 633: x<-L+N+T+W #define ACTION_633 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 634: x<-L+N+U+V #define ACTION_634 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 635: x<-L+N+U+W #define ACTION_635 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 636: x<-L+N+V+W #define ACTION_636 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 637: x<-L+O+P+S #define ACTION_637 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 638: x<-L+O+P+T #define ACTION_638 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 639: x<-L+O+P+U #define ACTION_639 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 640: x<-L+O+P+V #define ACTION_640 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 641: x<-L+O+P+W #define ACTION_641 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 642: x<-L+O+Q+T #define ACTION_642 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 643: x<-L+O+Q+U #define ACTION_643 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 644: x<-L+O+Q+V #define ACTION_644 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 645: x<-L+O+Q+W #define ACTION_645 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 646: x<-L+O+S+T #define ACTION_646 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 647: x<-L+O+S+U #define ACTION_647 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 648: x<-L+O+S+V #define ACTION_648 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 649: x<-L+O+S+W #define ACTION_649 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 650: x<-L+O+T+U #define ACTION_650 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 651: x<-L+O+T+V #define ACTION_651 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 652: x<-L+O+T+W #define ACTION_652 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 653: x<-L+O+U+V #define ACTION_653 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 654: x<-L+O+U+W #define ACTION_654 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 655: x<-L+O+V+W #define ACTION_655 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 656: x<-L+P+Q+R #define ACTION_656 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 657: x<-L+P+Q+S #define ACTION_657 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 658: x<-L+P+Q+T #define ACTION_658 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 659: x<-L+P+Q+U #define ACTION_659 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 660: x<-L+P+Q+V #define ACTION_660 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 661: x<-L+P+Q+W #define ACTION_661 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 662: x<-L+P+R+S #define ACTION_662 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 663: x<-L+P+R+T #define ACTION_663 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 664: x<-L+P+R+U #define ACTION_664 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 665: x<-L+P+R+V #define ACTION_665 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 666: x<-L+P+R+W #define ACTION_666 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 667: x<-L+P+S+T #define ACTION_667 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 668: x<-L+P+S+U #define ACTION_668 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 669: x<-L+P+S+V #define ACTION_669 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 670: x<-L+P+S+W #define ACTION_670 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 671: x<-L+P+T+U #define ACTION_671 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 672: x<-L+P+T+V #define ACTION_672 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 673: x<-L+P+T+W #define ACTION_673 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 674: x<-L+P+U+V #define ACTION_674 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 675: x<-L+P+U+W #define ACTION_675 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 676: x<-L+P+V+W #define ACTION_676 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 677: x<-L+Q+R+T #define ACTION_677 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 678: x<-L+Q+R+U #define ACTION_678 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 679: x<-L+Q+R+V #define ACTION_679 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 680: x<-L+Q+R+W #define ACTION_680 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 681: x<-L+Q+S+T #define ACTION_681 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 682: x<-L+Q+S+U #define ACTION_682 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 683: x<-L+Q+S+V #define ACTION_683 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 684: x<-L+Q+S+W #define ACTION_684 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 685: x<-L+Q+T+U #define ACTION_685 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 686: x<-L+Q+T+V #define ACTION_686 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 687: x<-L+Q+T+W #define ACTION_687 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 688: x<-L+Q+U+V #define ACTION_688 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 689: x<-L+Q+U+W #define ACTION_689 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 690: x<-L+Q+V+W #define ACTION_690 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 691: x<-L+R+S+T #define ACTION_691 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 692: x<-L+R+S+U #define ACTION_692 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 693: x<-L+R+S+V #define ACTION_693 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 694: x<-L+R+S+W #define ACTION_694 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 695: x<-L+R+T+U #define ACTION_695 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 696: x<-L+R+T+V #define ACTION_696 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 697: x<-L+R+T+W #define ACTION_697 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 698: x<-L+R+U+V #define ACTION_698 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 699: x<-L+R+U+W #define ACTION_699 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 700: x<-L+R+V+W #define ACTION_700 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 701: x<-L+S+T+U #define ACTION_701 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 702: x<-L+S+T+V #define ACTION_702 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 703: x<-L+S+T+W #define ACTION_703 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 704: x<-L+S+U+V #define ACTION_704 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 705: x<-L+S+U+W #define ACTION_705 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 706: x<-L+S+V+W #define ACTION_706 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 707: x<-L+T+U+W #define ACTION_707 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c]));continue; // Action 708: x<-L+T+V+W #define ACTION_708 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c]));continue; // Action 709: x<-L+U+V+W #define ACTION_709 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c]));continue; // Action 710: x<-M+N+O+Q #define ACTION_710 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 711: x<-M+N+O+T #define ACTION_711 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 712: x<-M+N+O+U #define ACTION_712 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 713: x<-M+N+O+V #define ACTION_713 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 714: x<-M+N+O+W #define ACTION_714 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 715: x<-M+N+P+Q #define ACTION_715 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 716: x<-M+N+P+R #define ACTION_716 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 717: x<-M+N+P+T #define ACTION_717 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 718: x<-M+N+P+U #define ACTION_718 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 719: x<-M+N+P+V #define ACTION_719 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 720: x<-M+N+P+W #define ACTION_720 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 721: x<-M+N+Q+R #define ACTION_721 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 722: x<-M+N+Q+S #define ACTION_722 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 723: x<-M+N+Q+T #define ACTION_723 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 724: x<-M+N+Q+U #define ACTION_724 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 725: x<-M+N+Q+V #define ACTION_725 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 726: x<-M+N+Q+W #define ACTION_726 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 727: x<-M+N+R+S #define ACTION_727 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 728: x<-M+N+R+T #define ACTION_728 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 729: x<-M+N+R+U #define ACTION_729 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 730: x<-M+N+R+V #define ACTION_730 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 731: x<-M+N+R+W #define ACTION_731 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 732: x<-M+N+S+T #define ACTION_732 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 733: x<-M+N+S+U #define ACTION_733 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 734: x<-M+N+S+V #define ACTION_734 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 735: x<-M+N+S+W #define ACTION_735 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 736: x<-M+N+T+U #define ACTION_736 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 737: x<-M+N+T+V #define ACTION_737 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 738: x<-M+N+T+W #define ACTION_738 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 739: x<-M+N+U+V #define ACTION_739 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 740: x<-M+N+U+W #define ACTION_740 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 741: x<-M+N+V+W #define ACTION_741 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 742: x<-M+O+P+Q #define ACTION_742 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 743: x<-M+O+P+R #define ACTION_743 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 744: x<-M+O+P+T #define ACTION_744 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 745: x<-M+O+P+U #define ACTION_745 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 746: x<-M+O+P+V #define ACTION_746 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 747: x<-M+O+P+W #define ACTION_747 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 748: x<-M+O+Q+R #define ACTION_748 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 749: x<-M+O+Q+S #define ACTION_749 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 750: x<-M+O+Q+T #define ACTION_750 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 751: x<-M+O+Q+U #define ACTION_751 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 752: x<-M+O+Q+V #define ACTION_752 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 753: x<-M+O+Q+W #define ACTION_753 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 754: x<-M+O+R+S #define ACTION_754 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 755: x<-M+O+R+T #define ACTION_755 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 756: x<-M+O+R+U #define ACTION_756 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 757: x<-M+O+R+V #define ACTION_757 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 758: x<-M+O+R+W #define ACTION_758 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 759: x<-M+O+S+T #define ACTION_759 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 760: x<-M+O+S+U #define ACTION_760 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 761: x<-M+O+S+V #define ACTION_761 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 762: x<-M+O+S+W #define ACTION_762 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 763: x<-M+O+T+U #define ACTION_763 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 764: x<-M+O+T+V #define ACTION_764 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 765: x<-M+O+T+W #define ACTION_765 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 766: x<-M+O+U+V #define ACTION_766 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 767: x<-M+O+U+W #define ACTION_767 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 768: x<-M+O+V+W #define ACTION_768 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 769: x<-M+P+Q+T #define ACTION_769 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 770: x<-M+P+Q+U #define ACTION_770 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 771: x<-M+P+Q+V #define ACTION_771 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 772: x<-M+P+Q+W #define ACTION_772 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 773: x<-M+P+R+T #define ACTION_773 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 774: x<-M+P+R+U #define ACTION_774 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 775: x<-M+P+R+V #define ACTION_775 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 776: x<-M+P+R+W #define ACTION_776 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 777: x<-M+P+T+U #define ACTION_777 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 778: x<-M+P+T+V #define ACTION_778 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 779: x<-M+P+T+W #define ACTION_779 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 780: x<-M+P+U+V #define ACTION_780 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 781: x<-M+P+U+W #define ACTION_781 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 782: x<-M+P+V+W #define ACTION_782 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 783: x<-M+Q+R+T #define ACTION_783 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 784: x<-M+Q+R+U #define ACTION_784 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 785: x<-M+Q+R+V #define ACTION_785 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 786: x<-M+Q+R+W #define ACTION_786 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 787: x<-M+Q+S+T #define ACTION_787 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 788: x<-M+Q+S+U #define ACTION_788 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 789: x<-M+Q+S+V #define ACTION_789 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 790: x<-M+Q+S+W #define ACTION_790 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 791: x<-M+Q+T+U #define ACTION_791 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 792: x<-M+Q+T+V #define ACTION_792 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 793: x<-M+Q+T+W #define ACTION_793 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 794: x<-M+Q+U+V #define ACTION_794 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 795: x<-M+Q+U+W #define ACTION_795 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 796: x<-M+Q+V+W #define ACTION_796 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 797: x<-M+R+S+T #define ACTION_797 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 798: x<-M+R+S+U #define ACTION_798 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 799: x<-M+R+S+V #define ACTION_799 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 800: x<-M+R+S+W #define ACTION_800 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 801: x<-M+R+T+U #define ACTION_801 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 802: x<-M+R+T+V #define ACTION_802 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 803: x<-M+R+T+W #define ACTION_803 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 804: x<-M+R+U+V #define ACTION_804 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 805: x<-M+R+U+W #define ACTION_805 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 806: x<-M+R+V+W #define ACTION_806 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 807: x<-M+S+T+U #define ACTION_807 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 808: x<-M+S+T+V #define ACTION_808 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 809: x<-M+S+T+W #define ACTION_809 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 810: x<-M+S+U+V #define ACTION_810 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 811: x<-M+S+U+W #define ACTION_811 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 812: x<-M+S+V+W #define ACTION_812 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 813: x<-M+T+U+W #define ACTION_813 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 814: x<-M+T+V+W #define ACTION_814 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 815: x<-M+U+V+W #define ACTION_815 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row11[c + 2]));continue; // Action 816: x<-N+O+Q+R #define ACTION_816 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 817: x<-N+O+Q+S #define ACTION_817 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 818: x<-N+O+Q+T #define ACTION_818 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 819: x<-N+O+Q+U #define ACTION_819 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 820: x<-N+O+Q+V #define ACTION_820 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 821: x<-N+O+Q+W #define ACTION_821 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 822: x<-N+O+R+S #define ACTION_822 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 823: x<-N+O+R+T #define ACTION_823 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 824: x<-N+O+R+U #define ACTION_824 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 825: x<-N+O+R+V #define ACTION_825 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 826: x<-N+O+R+W #define ACTION_826 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 827: x<-N+O+S+T #define ACTION_827 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 828: x<-N+O+S+U #define ACTION_828 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 829: x<-N+O+S+V #define ACTION_829 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 830: x<-N+O+S+W #define ACTION_830 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 831: x<-N+O+T+U #define ACTION_831 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 832: x<-N+O+T+V #define ACTION_832 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 833: x<-N+O+T+W #define ACTION_833 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 834: x<-N+O+U+V #define ACTION_834 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 835: x<-N+O+U+W #define ACTION_835 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 836: x<-N+O+V+W #define ACTION_836 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 837: x<-N+P+Q+R #define ACTION_837 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 838: x<-N+P+Q+S #define ACTION_838 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 839: x<-N+P+Q+T #define ACTION_839 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 840: x<-N+P+Q+U #define ACTION_840 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 841: x<-N+P+Q+V #define ACTION_841 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 842: x<-N+P+Q+W #define ACTION_842 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 843: x<-N+P+R+S #define ACTION_843 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 844: x<-N+P+R+T #define ACTION_844 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 845: x<-N+P+R+U #define ACTION_845 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 846: x<-N+P+R+V #define ACTION_846 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 847: x<-N+P+R+W #define ACTION_847 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 848: x<-N+P+S+T #define ACTION_848 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 849: x<-N+P+S+U #define ACTION_849 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 850: x<-N+P+S+V #define ACTION_850 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 851: x<-N+P+S+W #define ACTION_851 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 852: x<-N+P+T+U #define ACTION_852 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 853: x<-N+P+T+V #define ACTION_853 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 854: x<-N+P+T+W #define ACTION_854 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 855: x<-N+P+U+V #define ACTION_855 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 856: x<-N+P+U+W #define ACTION_856 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 857: x<-N+P+V+W #define ACTION_857 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 858: x<-N+Q+R+T #define ACTION_858 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 859: x<-N+Q+R+U #define ACTION_859 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 860: x<-N+Q+R+V #define ACTION_860 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 861: x<-N+Q+R+W #define ACTION_861 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 862: x<-N+Q+S+T #define ACTION_862 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 863: x<-N+Q+S+U #define ACTION_863 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 864: x<-N+Q+S+V #define ACTION_864 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 865: x<-N+Q+S+W #define ACTION_865 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 866: x<-N+Q+T+U #define ACTION_866 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 867: x<-N+Q+T+V #define ACTION_867 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 868: x<-N+Q+T+W #define ACTION_868 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 869: x<-N+Q+U+V #define ACTION_869 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 870: x<-N+Q+U+W #define ACTION_870 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 871: x<-N+Q+V+W #define ACTION_871 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 872: x<-N+R+S+T #define ACTION_872 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 873: x<-N+R+S+U #define ACTION_873 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 874: x<-N+R+S+V #define ACTION_874 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 875: x<-N+R+S+W #define ACTION_875 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 876: x<-N+R+T+U #define ACTION_876 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 877: x<-N+R+T+V #define ACTION_877 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 878: x<-N+R+T+W #define ACTION_878 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 879: x<-N+R+U+V #define ACTION_879 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 880: x<-N+R+U+W #define ACTION_880 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 881: x<-N+R+V+W #define ACTION_881 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 882: x<-N+S+T+U #define ACTION_882 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 883: x<-N+S+T+V #define ACTION_883 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 884: x<-N+S+T+W #define ACTION_884 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 885: x<-N+S+U+V #define ACTION_885 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 886: x<-N+S+U+W #define ACTION_886 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 887: x<-N+S+V+W #define ACTION_887 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 888: x<-N+T+U+W #define ACTION_888 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 889: x<-N+T+V+W #define ACTION_889 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 890: x<-N+U+V+W #define ACTION_890 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c - 2]));continue; // Action 891: x<-O+P+Q+R #define ACTION_891 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 892: x<-O+P+Q+S #define ACTION_892 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 893: x<-O+P+Q+T #define ACTION_893 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 894: x<-O+P+Q+U #define ACTION_894 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 895: x<-O+P+Q+V #define ACTION_895 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 896: x<-O+P+Q+W #define ACTION_896 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 897: x<-O+P+R+S #define ACTION_897 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 898: x<-O+P+R+T #define ACTION_898 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 899: x<-O+P+R+U #define ACTION_899 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 900: x<-O+P+R+V #define ACTION_900 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 901: x<-O+P+R+W #define ACTION_901 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 902: x<-O+P+S+T #define ACTION_902 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 903: x<-O+P+S+U #define ACTION_903 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 904: x<-O+P+S+V #define ACTION_904 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 905: x<-O+P+S+W #define ACTION_905 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 906: x<-O+P+T+U #define ACTION_906 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 907: x<-O+P+T+V #define ACTION_907 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 908: x<-O+P+T+W #define ACTION_908 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 909: x<-O+P+U+V #define ACTION_909 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 910: x<-O+P+U+W #define ACTION_910 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 911: x<-O+P+V+W #define ACTION_911 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 912: x<-O+Q+R+T #define ACTION_912 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 913: x<-O+Q+R+U #define ACTION_913 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 914: x<-O+Q+R+V #define ACTION_914 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 915: x<-O+Q+R+W #define ACTION_915 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 916: x<-O+Q+S+T #define ACTION_916 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 917: x<-O+Q+S+U #define ACTION_917 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 918: x<-O+Q+S+V #define ACTION_918 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 919: x<-O+Q+S+W #define ACTION_919 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 920: x<-O+Q+T+U #define ACTION_920 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 921: x<-O+Q+T+V #define ACTION_921 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 922: x<-O+Q+T+W #define ACTION_922 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 923: x<-O+Q+U+V #define ACTION_923 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 924: x<-O+Q+U+W #define ACTION_924 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 925: x<-O+Q+V+W #define ACTION_925 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 926: x<-O+R+S+T #define ACTION_926 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 927: x<-O+R+S+U #define ACTION_927 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 928: x<-O+R+S+V #define ACTION_928 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 929: x<-O+R+S+W #define ACTION_929 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 930: x<-O+R+T+U #define ACTION_930 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 931: x<-O+R+T+V #define ACTION_931 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 932: x<-O+R+T+W #define ACTION_932 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 933: x<-O+R+U+V #define ACTION_933 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 934: x<-O+R+U+W #define ACTION_934 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 935: x<-O+R+V+W #define ACTION_935 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 936: x<-O+S+T+U #define ACTION_936 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 937: x<-O+S+T+V #define ACTION_937 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 938: x<-O+S+T+W #define ACTION_938 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 939: x<-O+S+U+V #define ACTION_939 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 940: x<-O+S+U+W #define ACTION_940 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 941: x<-O+S+V+W #define ACTION_941 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 942: x<-O+T+U+W #define ACTION_942 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]));continue; // Action 943: x<-O+T+V+W #define ACTION_943 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]));continue; // Action 944: x<-O+U+V+W #define ACTION_944 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]));continue; // Action 945: x<-P+Q+R+T #define ACTION_945 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 946: x<-P+Q+R+U #define ACTION_946 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 947: x<-P+Q+R+V #define ACTION_947 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 948: x<-P+Q+R+W #define ACTION_948 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 949: x<-P+Q+S+T #define ACTION_949 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 950: x<-P+Q+S+U #define ACTION_950 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 951: x<-P+Q+S+V #define ACTION_951 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 952: x<-P+Q+S+W #define ACTION_952 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 953: x<-P+Q+T+U #define ACTION_953 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 954: x<-P+Q+T+V #define ACTION_954 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 955: x<-P+Q+T+W #define ACTION_955 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 956: x<-P+Q+U+V #define ACTION_956 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 957: x<-P+Q+U+W #define ACTION_957 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 958: x<-P+Q+V+W #define ACTION_958 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 959: x<-P+R+S+T #define ACTION_959 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 960: x<-P+R+S+U #define ACTION_960 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 961: x<-P+R+S+V #define ACTION_961 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 962: x<-P+R+S+W #define ACTION_962 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 963: x<-P+R+T+U #define ACTION_963 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 964: x<-P+R+T+V #define ACTION_964 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 965: x<-P+R+T+W #define ACTION_965 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 966: x<-P+R+U+V #define ACTION_966 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 967: x<-P+R+U+W #define ACTION_967 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 968: x<-P+R+V+W #define ACTION_968 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 969: x<-P+S+T+U #define ACTION_969 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 970: x<-P+S+T+V #define ACTION_970 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 971: x<-P+S+T+W #define ACTION_971 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 972: x<-P+S+U+V #define ACTION_972 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 973: x<-P+S+U+W #define ACTION_973 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 974: x<-P+S+V+W #define ACTION_974 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 975: x<-P+T+U+W #define ACTION_975 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 976: x<-P+T+V+W #define ACTION_976 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 977: x<-P+U+V+W #define ACTION_977 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]));continue; // Action 978: x<-Q+R+T+U #define ACTION_978 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 979: x<-Q+R+T+V #define ACTION_979 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 980: x<-Q+R+T+W #define ACTION_980 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 981: x<-Q+R+U+V #define ACTION_981 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 982: x<-Q+R+U+W #define ACTION_982 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 983: x<-Q+R+V+W #define ACTION_983 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 984: x<-Q+S+T+U #define ACTION_984 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 985: x<-Q+S+T+V #define ACTION_985 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 986: x<-Q+S+T+W #define ACTION_986 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 987: x<-Q+S+U+V #define ACTION_987 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 988: x<-Q+S+U+W #define ACTION_988 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 989: x<-Q+S+V+W #define ACTION_989 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 990: x<-Q+T+U+W #define ACTION_990 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]));continue; // Action 991: x<-Q+T+V+W #define ACTION_991 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]));continue; // Action 992: x<-Q+U+V+W #define ACTION_992 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]));continue; // Action 993: x<-R+S+T+U #define ACTION_993 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 994: x<-R+S+T+V #define ACTION_994 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 995: x<-R+S+T+W #define ACTION_995 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 996: x<-R+S+U+V #define ACTION_996 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 997: x<-R+S+U+W #define ACTION_997 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 998: x<-R+S+V+W #define ACTION_998 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 999: x<-R+T+U+W #define ACTION_999 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]));continue; // Action 1000: x<-R+T+V+W #define ACTION_1000 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]));continue; // Action 1001: x<-R+U+V+W #define ACTION_1001 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]));continue; // Action 1002: x<-S+T+U+W #define ACTION_1002 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]));continue; // Action 1003: x<-S+T+V+W #define ACTION_1003 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]));continue; // Action 1004: x<-S+U+V+W #define ACTION_1004 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]));continue; // Action 1005: x<-K+L+N+O+T #define ACTION_1005 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1006: x<-K+L+N+O+U #define ACTION_1006 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1007: x<-K+L+N+O+V #define ACTION_1007 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1008: x<-K+L+N+O+W #define ACTION_1008 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1009: x<-K+L+N+P+T #define ACTION_1009 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1010: x<-K+L+N+P+U #define ACTION_1010 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1011: x<-K+L+N+P+V #define ACTION_1011 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1012: x<-K+L+N+P+W #define ACTION_1012 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1013: x<-K+L+N+R+T #define ACTION_1013 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1014: x<-K+L+N+R+U #define ACTION_1014 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1015: x<-K+L+N+R+V #define ACTION_1015 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1016: x<-K+L+N+R+W #define ACTION_1016 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1017: x<-K+L+N+S+T #define ACTION_1017 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1018: x<-K+L+N+S+U #define ACTION_1018 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1019: x<-K+L+N+S+V #define ACTION_1019 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1020: x<-K+L+N+S+W #define ACTION_1020 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1021: x<-K+L+N+T+U #define ACTION_1021 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1022: x<-K+L+N+T+V #define ACTION_1022 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1023: x<-K+L+N+T+W #define ACTION_1023 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1024: x<-K+L+N+U+V #define ACTION_1024 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1025: x<-K+L+N+U+W #define ACTION_1025 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1026: x<-K+L+N+V+W #define ACTION_1026 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1027: x<-K+L+O+P+T #define ACTION_1027 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1028: x<-K+L+O+P+U #define ACTION_1028 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1029: x<-K+L+O+P+V #define ACTION_1029 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1030: x<-K+L+O+P+W #define ACTION_1030 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1031: x<-K+L+O+Q+T #define ACTION_1031 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1032: x<-K+L+O+Q+U #define ACTION_1032 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1033: x<-K+L+O+Q+V #define ACTION_1033 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1034: x<-K+L+O+Q+W #define ACTION_1034 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1035: x<-K+L+O+S+T #define ACTION_1035 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1036: x<-K+L+O+S+U #define ACTION_1036 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1037: x<-K+L+O+S+V #define ACTION_1037 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1038: x<-K+L+O+S+W #define ACTION_1038 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1039: x<-K+L+O+T+U #define ACTION_1039 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1040: x<-K+L+O+T+V #define ACTION_1040 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1041: x<-K+L+O+T+W #define ACTION_1041 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1042: x<-K+L+O+U+V #define ACTION_1042 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1043: x<-K+L+O+U+W #define ACTION_1043 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1044: x<-K+L+O+V+W #define ACTION_1044 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1045: x<-K+L+P+Q+T #define ACTION_1045 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1046: x<-K+L+P+Q+U #define ACTION_1046 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1047: x<-K+L+P+Q+V #define ACTION_1047 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1048: x<-K+L+P+Q+W #define ACTION_1048 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1049: x<-K+L+P+R+T #define ACTION_1049 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1050: x<-K+L+P+R+U #define ACTION_1050 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1051: x<-K+L+P+R+V #define ACTION_1051 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1052: x<-K+L+P+R+W #define ACTION_1052 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1053: x<-K+L+P+T+U #define ACTION_1053 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1054: x<-K+L+P+T+V #define ACTION_1054 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1055: x<-K+L+P+T+W #define ACTION_1055 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1056: x<-K+L+P+U+V #define ACTION_1056 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1057: x<-K+L+P+U+W #define ACTION_1057 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1058: x<-K+L+P+V+W #define ACTION_1058 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1059: x<-K+L+Q+R+T #define ACTION_1059 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1060: x<-K+L+Q+R+U #define ACTION_1060 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1061: x<-K+L+Q+R+V #define ACTION_1061 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1062: x<-K+L+Q+R+W #define ACTION_1062 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1063: x<-K+L+Q+S+T #define ACTION_1063 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1064: x<-K+L+Q+S+U #define ACTION_1064 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1065: x<-K+L+Q+S+V #define ACTION_1065 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1066: x<-K+L+Q+S+W #define ACTION_1066 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1067: x<-K+L+Q+T+U #define ACTION_1067 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1068: x<-K+L+Q+T+V #define ACTION_1068 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1069: x<-K+L+Q+T+W #define ACTION_1069 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1070: x<-K+L+Q+U+V #define ACTION_1070 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1071: x<-K+L+Q+U+W #define ACTION_1071 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1072: x<-K+L+Q+V+W #define ACTION_1072 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1073: x<-K+L+R+S+T #define ACTION_1073 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1074: x<-K+L+R+S+U #define ACTION_1074 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1075: x<-K+L+R+S+V #define ACTION_1075 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1076: x<-K+L+R+S+W #define ACTION_1076 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1077: x<-K+L+R+T+U #define ACTION_1077 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1078: x<-K+L+R+T+V #define ACTION_1078 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1079: x<-K+L+R+T+W #define ACTION_1079 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1080: x<-K+L+R+U+V #define ACTION_1080 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1081: x<-K+L+R+U+W #define ACTION_1081 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1082: x<-K+L+R+V+W #define ACTION_1082 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1083: x<-K+L+S+T+U #define ACTION_1083 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1084: x<-K+L+S+T+V #define ACTION_1084 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1085: x<-K+L+S+T+W #define ACTION_1085 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1086: x<-K+L+S+U+V #define ACTION_1086 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1087: x<-K+L+S+U+W #define ACTION_1087 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1088: x<-K+L+S+V+W #define ACTION_1088 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1089: x<-K+L+T+U+W #define ACTION_1089 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1090: x<-K+L+T+V+W #define ACTION_1090 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1091: x<-K+L+U+V+W #define ACTION_1091 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c], img_labels_slice11_row11[c - 2]));continue; // Action 1092: x<-K+M+N+O+T #define ACTION_1092 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1093: x<-K+M+N+O+U #define ACTION_1093 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1094: x<-K+M+N+O+V #define ACTION_1094 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1095: x<-K+M+N+O+W #define ACTION_1095 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1096: x<-K+M+N+P+T #define ACTION_1096 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1097: x<-K+M+N+P+U #define ACTION_1097 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1098: x<-K+M+N+P+V #define ACTION_1098 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1099: x<-K+M+N+P+W #define ACTION_1099 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1100: x<-K+M+N+R+T #define ACTION_1100 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1101: x<-K+M+N+R+U #define ACTION_1101 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1102: x<-K+M+N+R+V #define ACTION_1102 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1103: x<-K+M+N+R+W #define ACTION_1103 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1104: x<-K+M+N+S+T #define ACTION_1104 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1105: x<-K+M+N+S+U #define ACTION_1105 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1106: x<-K+M+N+S+V #define ACTION_1106 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1107: x<-K+M+N+S+W #define ACTION_1107 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1108: x<-K+M+N+T+U #define ACTION_1108 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1109: x<-K+M+N+T+V #define ACTION_1109 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1110: x<-K+M+N+T+W #define ACTION_1110 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1111: x<-K+M+N+U+V #define ACTION_1111 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1112: x<-K+M+N+U+W #define ACTION_1112 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1113: x<-K+M+N+V+W #define ACTION_1113 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1114: x<-K+M+O+P+T #define ACTION_1114 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1115: x<-K+M+O+P+U #define ACTION_1115 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1116: x<-K+M+O+P+V #define ACTION_1116 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1117: x<-K+M+O+P+W #define ACTION_1117 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1118: x<-K+M+O+Q+T #define ACTION_1118 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1119: x<-K+M+O+Q+U #define ACTION_1119 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1120: x<-K+M+O+Q+V #define ACTION_1120 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1121: x<-K+M+O+Q+W #define ACTION_1121 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1122: x<-K+M+O+S+T #define ACTION_1122 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1123: x<-K+M+O+S+U #define ACTION_1123 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1124: x<-K+M+O+S+V #define ACTION_1124 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1125: x<-K+M+O+S+W #define ACTION_1125 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1126: x<-K+M+O+T+U #define ACTION_1126 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1127: x<-K+M+O+T+V #define ACTION_1127 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1128: x<-K+M+O+T+W #define ACTION_1128 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1129: x<-K+M+O+U+V #define ACTION_1129 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1130: x<-K+M+O+U+W #define ACTION_1130 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1131: x<-K+M+O+V+W #define ACTION_1131 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1132: x<-K+M+P+Q+T #define ACTION_1132 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1133: x<-K+M+P+Q+U #define ACTION_1133 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1134: x<-K+M+P+Q+V #define ACTION_1134 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1135: x<-K+M+P+Q+W #define ACTION_1135 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1136: x<-K+M+P+R+T #define ACTION_1136 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1137: x<-K+M+P+R+U #define ACTION_1137 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1138: x<-K+M+P+R+V #define ACTION_1138 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1139: x<-K+M+P+R+W #define ACTION_1139 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1140: x<-K+M+P+T+U #define ACTION_1140 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1141: x<-K+M+P+T+V #define ACTION_1141 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1142: x<-K+M+P+T+W #define ACTION_1142 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1143: x<-K+M+P+U+V #define ACTION_1143 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1144: x<-K+M+P+U+W #define ACTION_1144 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1145: x<-K+M+P+V+W #define ACTION_1145 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1146: x<-K+M+Q+R+T #define ACTION_1146 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1147: x<-K+M+Q+R+U #define ACTION_1147 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1148: x<-K+M+Q+R+V #define ACTION_1148 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1149: x<-K+M+Q+R+W #define ACTION_1149 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1150: x<-K+M+Q+S+T #define ACTION_1150 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1151: x<-K+M+Q+S+U #define ACTION_1151 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1152: x<-K+M+Q+S+V #define ACTION_1152 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1153: x<-K+M+Q+S+W #define ACTION_1153 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1154: x<-K+M+Q+T+U #define ACTION_1154 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1155: x<-K+M+Q+T+V #define ACTION_1155 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1156: x<-K+M+Q+T+W #define ACTION_1156 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1157: x<-K+M+Q+U+V #define ACTION_1157 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1158: x<-K+M+Q+U+W #define ACTION_1158 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1159: x<-K+M+Q+V+W #define ACTION_1159 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1160: x<-K+M+R+S+T #define ACTION_1160 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1161: x<-K+M+R+S+U #define ACTION_1161 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1162: x<-K+M+R+S+V #define ACTION_1162 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1163: x<-K+M+R+S+W #define ACTION_1163 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1164: x<-K+M+R+T+U #define ACTION_1164 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1165: x<-K+M+R+T+V #define ACTION_1165 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1166: x<-K+M+R+T+W #define ACTION_1166 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1167: x<-K+M+R+U+V #define ACTION_1167 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1168: x<-K+M+R+U+W #define ACTION_1168 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1169: x<-K+M+R+V+W #define ACTION_1169 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1170: x<-K+M+S+T+U #define ACTION_1170 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1171: x<-K+M+S+T+V #define ACTION_1171 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1172: x<-K+M+S+T+W #define ACTION_1172 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1173: x<-K+M+S+U+V #define ACTION_1173 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1174: x<-K+M+S+U+W #define ACTION_1174 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1175: x<-K+M+S+V+W #define ACTION_1175 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1176: x<-K+M+T+U+W #define ACTION_1176 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1177: x<-K+M+T+V+W #define ACTION_1177 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1178: x<-K+M+U+V+W #define ACTION_1178 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1179: x<-K+N+O+R+T #define ACTION_1179 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1180: x<-K+N+O+R+U #define ACTION_1180 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1181: x<-K+N+O+R+V #define ACTION_1181 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1182: x<-K+N+O+R+W #define ACTION_1182 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1183: x<-K+N+O+S+T #define ACTION_1183 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1184: x<-K+N+O+S+U #define ACTION_1184 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1185: x<-K+N+O+S+V #define ACTION_1185 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1186: x<-K+N+O+S+W #define ACTION_1186 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1187: x<-K+N+O+T+U #define ACTION_1187 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1188: x<-K+N+O+T+V #define ACTION_1188 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1189: x<-K+N+O+T+W #define ACTION_1189 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1190: x<-K+N+O+U+V #define ACTION_1190 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1191: x<-K+N+O+U+W #define ACTION_1191 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1192: x<-K+N+O+V+W #define ACTION_1192 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1193: x<-K+N+P+R+T #define ACTION_1193 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1194: x<-K+N+P+R+U #define ACTION_1194 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1195: x<-K+N+P+R+V #define ACTION_1195 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1196: x<-K+N+P+R+W #define ACTION_1196 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1197: x<-K+N+P+S+T #define ACTION_1197 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1198: x<-K+N+P+S+U #define ACTION_1198 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1199: x<-K+N+P+S+V #define ACTION_1199 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1200: x<-K+N+P+S+W #define ACTION_1200 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1201: x<-K+N+P+T+U #define ACTION_1201 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1202: x<-K+N+P+T+V #define ACTION_1202 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1203: x<-K+N+P+T+W #define ACTION_1203 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1204: x<-K+N+P+U+V #define ACTION_1204 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1205: x<-K+N+P+U+W #define ACTION_1205 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1206: x<-K+N+P+V+W #define ACTION_1206 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1207: x<-K+N+R+T+U #define ACTION_1207 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1208: x<-K+N+R+T+V #define ACTION_1208 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1209: x<-K+N+R+T+W #define ACTION_1209 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1210: x<-K+N+R+U+V #define ACTION_1210 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1211: x<-K+N+R+U+W #define ACTION_1211 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1212: x<-K+N+R+V+W #define ACTION_1212 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1213: x<-K+N+S+T+U #define ACTION_1213 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1214: x<-K+N+S+T+V #define ACTION_1214 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1215: x<-K+N+S+T+W #define ACTION_1215 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1216: x<-K+N+S+U+V #define ACTION_1216 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1217: x<-K+N+S+U+W #define ACTION_1217 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1218: x<-K+N+S+V+W #define ACTION_1218 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1219: x<-K+N+T+U+W #define ACTION_1219 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1220: x<-K+N+T+V+W #define ACTION_1220 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1221: x<-K+N+U+V+W #define ACTION_1221 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1222: x<-K+O+P+S+T #define ACTION_1222 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1223: x<-K+O+P+S+U #define ACTION_1223 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1224: x<-K+O+P+S+V #define ACTION_1224 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1225: x<-K+O+P+S+W #define ACTION_1225 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1226: x<-K+O+P+T+U #define ACTION_1226 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1227: x<-K+O+P+T+V #define ACTION_1227 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1228: x<-K+O+P+T+W #define ACTION_1228 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1229: x<-K+O+P+U+V #define ACTION_1229 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1230: x<-K+O+P+U+W #define ACTION_1230 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1231: x<-K+O+P+V+W #define ACTION_1231 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1232: x<-K+O+Q+R+T #define ACTION_1232 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1233: x<-K+O+Q+R+U #define ACTION_1233 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1234: x<-K+O+Q+R+V #define ACTION_1234 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1235: x<-K+O+Q+R+W #define ACTION_1235 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1236: x<-K+O+Q+S+T #define ACTION_1236 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1237: x<-K+O+Q+S+U #define ACTION_1237 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1238: x<-K+O+Q+S+V #define ACTION_1238 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1239: x<-K+O+Q+S+W #define ACTION_1239 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1240: x<-K+O+Q+T+U #define ACTION_1240 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1241: x<-K+O+Q+T+V #define ACTION_1241 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1242: x<-K+O+Q+T+W #define ACTION_1242 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1243: x<-K+O+Q+U+V #define ACTION_1243 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1244: x<-K+O+Q+U+W #define ACTION_1244 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1245: x<-K+O+Q+V+W #define ACTION_1245 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1246: x<-K+O+R+S+T #define ACTION_1246 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1247: x<-K+O+R+S+U #define ACTION_1247 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1248: x<-K+O+R+S+V #define ACTION_1248 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1249: x<-K+O+R+S+W #define ACTION_1249 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1250: x<-K+O+R+T+U #define ACTION_1250 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1251: x<-K+O+R+T+V #define ACTION_1251 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1252: x<-K+O+R+T+W #define ACTION_1252 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1253: x<-K+O+R+U+V #define ACTION_1253 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1254: x<-K+O+R+U+W #define ACTION_1254 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1255: x<-K+O+R+V+W #define ACTION_1255 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1256: x<-K+O+S+T+U #define ACTION_1256 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1257: x<-K+O+S+T+V #define ACTION_1257 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1258: x<-K+O+S+T+W #define ACTION_1258 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1259: x<-K+O+S+U+V #define ACTION_1259 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1260: x<-K+O+S+U+W #define ACTION_1260 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1261: x<-K+O+S+V+W #define ACTION_1261 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1262: x<-K+O+T+U+W #define ACTION_1262 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1263: x<-K+O+T+V+W #define ACTION_1263 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1264: x<-K+O+U+V+W #define ACTION_1264 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c - 2]));continue; // Action 1265: x<-K+P+Q+R+T #define ACTION_1265 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1266: x<-K+P+Q+R+U #define ACTION_1266 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1267: x<-K+P+Q+R+V #define ACTION_1267 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1268: x<-K+P+Q+R+W #define ACTION_1268 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1269: x<-K+P+Q+S+T #define ACTION_1269 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1270: x<-K+P+Q+S+U #define ACTION_1270 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1271: x<-K+P+Q+S+V #define ACTION_1271 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1272: x<-K+P+Q+S+W #define ACTION_1272 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1273: x<-K+P+Q+T+U #define ACTION_1273 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1274: x<-K+P+Q+T+V #define ACTION_1274 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1275: x<-K+P+Q+T+W #define ACTION_1275 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1276: x<-K+P+Q+U+V #define ACTION_1276 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1277: x<-K+P+Q+U+W #define ACTION_1277 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1278: x<-K+P+Q+V+W #define ACTION_1278 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1279: x<-K+P+R+S+T #define ACTION_1279 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1280: x<-K+P+R+S+U #define ACTION_1280 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1281: x<-K+P+R+S+V #define ACTION_1281 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1282: x<-K+P+R+S+W #define ACTION_1282 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1283: x<-K+P+R+T+U #define ACTION_1283 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1284: x<-K+P+R+T+V #define ACTION_1284 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1285: x<-K+P+R+T+W #define ACTION_1285 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1286: x<-K+P+R+U+V #define ACTION_1286 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1287: x<-K+P+R+U+W #define ACTION_1287 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1288: x<-K+P+R+V+W #define ACTION_1288 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1289: x<-K+P+S+T+U #define ACTION_1289 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1290: x<-K+P+S+T+V #define ACTION_1290 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1291: x<-K+P+S+T+W #define ACTION_1291 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1292: x<-K+P+S+U+V #define ACTION_1292 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1293: x<-K+P+S+U+W #define ACTION_1293 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1294: x<-K+P+S+V+W #define ACTION_1294 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1295: x<-K+P+T+U+W #define ACTION_1295 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1296: x<-K+P+T+V+W #define ACTION_1296 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1297: x<-K+P+U+V+W #define ACTION_1297 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1298: x<-K+Q+R+T+U #define ACTION_1298 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1299: x<-K+Q+R+T+V #define ACTION_1299 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1300: x<-K+Q+R+T+W #define ACTION_1300 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1301: x<-K+Q+R+U+V #define ACTION_1301 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1302: x<-K+Q+R+U+W #define ACTION_1302 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1303: x<-K+Q+R+V+W #define ACTION_1303 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1304: x<-K+Q+S+T+U #define ACTION_1304 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1305: x<-K+Q+S+T+V #define ACTION_1305 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1306: x<-K+Q+S+T+W #define ACTION_1306 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1307: x<-K+Q+S+U+V #define ACTION_1307 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1308: x<-K+Q+S+U+W #define ACTION_1308 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1309: x<-K+Q+S+V+W #define ACTION_1309 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1310: x<-K+Q+T+U+W #define ACTION_1310 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1311: x<-K+Q+T+V+W #define ACTION_1311 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1312: x<-K+Q+U+V+W #define ACTION_1312 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c - 2]));continue; // Action 1313: x<-K+R+S+T+U #define ACTION_1313 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1314: x<-K+R+S+T+V #define ACTION_1314 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1315: x<-K+R+S+T+W #define ACTION_1315 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1316: x<-K+R+S+U+V #define ACTION_1316 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1317: x<-K+R+S+U+W #define ACTION_1317 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1318: x<-K+R+S+V+W #define ACTION_1318 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1319: x<-K+R+T+U+W #define ACTION_1319 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1320: x<-K+R+T+V+W #define ACTION_1320 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1321: x<-K+R+U+V+W #define ACTION_1321 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 2]));continue; // Action 1322: x<-K+S+T+U+W #define ACTION_1322 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1323: x<-K+S+T+V+W #define ACTION_1323 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1324: x<-K+S+U+V+W #define ACTION_1324 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c - 2]));continue; // Action 1325: x<-L+M+N+O+T #define ACTION_1325 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1326: x<-L+M+N+O+U #define ACTION_1326 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1327: x<-L+M+N+O+V #define ACTION_1327 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1328: x<-L+M+N+O+W #define ACTION_1328 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1329: x<-L+M+N+P+T #define ACTION_1329 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1330: x<-L+M+N+P+U #define ACTION_1330 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1331: x<-L+M+N+P+V #define ACTION_1331 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1332: x<-L+M+N+P+W #define ACTION_1332 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1333: x<-L+M+N+R+T #define ACTION_1333 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1334: x<-L+M+N+R+U #define ACTION_1334 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1335: x<-L+M+N+R+V #define ACTION_1335 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1336: x<-L+M+N+R+W #define ACTION_1336 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1337: x<-L+M+N+S+T #define ACTION_1337 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1338: x<-L+M+N+S+U #define ACTION_1338 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1339: x<-L+M+N+S+V #define ACTION_1339 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1340: x<-L+M+N+S+W #define ACTION_1340 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1341: x<-L+M+N+T+U #define ACTION_1341 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1342: x<-L+M+N+T+V #define ACTION_1342 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1343: x<-L+M+N+T+W #define ACTION_1343 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1344: x<-L+M+N+U+V #define ACTION_1344 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1345: x<-L+M+N+U+W #define ACTION_1345 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1346: x<-L+M+N+V+W #define ACTION_1346 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1347: x<-L+M+O+P+T #define ACTION_1347 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1348: x<-L+M+O+P+U #define ACTION_1348 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1349: x<-L+M+O+P+V #define ACTION_1349 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1350: x<-L+M+O+P+W #define ACTION_1350 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1351: x<-L+M+O+Q+T #define ACTION_1351 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1352: x<-L+M+O+Q+U #define ACTION_1352 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1353: x<-L+M+O+Q+V #define ACTION_1353 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1354: x<-L+M+O+Q+W #define ACTION_1354 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1355: x<-L+M+O+S+T #define ACTION_1355 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1356: x<-L+M+O+S+U #define ACTION_1356 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1357: x<-L+M+O+S+V #define ACTION_1357 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1358: x<-L+M+O+S+W #define ACTION_1358 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1359: x<-L+M+O+T+U #define ACTION_1359 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1360: x<-L+M+O+T+V #define ACTION_1360 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1361: x<-L+M+O+T+W #define ACTION_1361 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1362: x<-L+M+O+U+V #define ACTION_1362 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1363: x<-L+M+O+U+W #define ACTION_1363 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1364: x<-L+M+O+V+W #define ACTION_1364 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1365: x<-L+M+P+Q+T #define ACTION_1365 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1366: x<-L+M+P+Q+U #define ACTION_1366 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1367: x<-L+M+P+Q+V #define ACTION_1367 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1368: x<-L+M+P+Q+W #define ACTION_1368 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1369: x<-L+M+P+R+T #define ACTION_1369 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1370: x<-L+M+P+R+U #define ACTION_1370 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1371: x<-L+M+P+R+V #define ACTION_1371 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1372: x<-L+M+P+R+W #define ACTION_1372 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1373: x<-L+M+P+T+U #define ACTION_1373 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1374: x<-L+M+P+T+V #define ACTION_1374 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1375: x<-L+M+P+T+W #define ACTION_1375 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1376: x<-L+M+P+U+V #define ACTION_1376 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1377: x<-L+M+P+U+W #define ACTION_1377 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1378: x<-L+M+P+V+W #define ACTION_1378 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1379: x<-L+M+Q+R+T #define ACTION_1379 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1380: x<-L+M+Q+R+U #define ACTION_1380 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1381: x<-L+M+Q+R+V #define ACTION_1381 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1382: x<-L+M+Q+R+W #define ACTION_1382 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1383: x<-L+M+Q+S+T #define ACTION_1383 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1384: x<-L+M+Q+S+U #define ACTION_1384 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1385: x<-L+M+Q+S+V #define ACTION_1385 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1386: x<-L+M+Q+S+W #define ACTION_1386 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1387: x<-L+M+Q+T+U #define ACTION_1387 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1388: x<-L+M+Q+T+V #define ACTION_1388 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1389: x<-L+M+Q+T+W #define ACTION_1389 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1390: x<-L+M+Q+U+V #define ACTION_1390 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1391: x<-L+M+Q+U+W #define ACTION_1391 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1392: x<-L+M+Q+V+W #define ACTION_1392 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1393: x<-L+M+R+S+T #define ACTION_1393 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1394: x<-L+M+R+S+U #define ACTION_1394 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1395: x<-L+M+R+S+V #define ACTION_1395 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1396: x<-L+M+R+S+W #define ACTION_1396 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1397: x<-L+M+R+T+U #define ACTION_1397 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1398: x<-L+M+R+T+V #define ACTION_1398 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1399: x<-L+M+R+T+W #define ACTION_1399 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1400: x<-L+M+R+U+V #define ACTION_1400 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1401: x<-L+M+R+U+W #define ACTION_1401 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1402: x<-L+M+R+V+W #define ACTION_1402 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1403: x<-L+M+S+T+U #define ACTION_1403 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1404: x<-L+M+S+T+V #define ACTION_1404 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1405: x<-L+M+S+T+W #define ACTION_1405 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1406: x<-L+M+S+U+V #define ACTION_1406 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1407: x<-L+M+S+U+W #define ACTION_1407 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1408: x<-L+M+S+V+W #define ACTION_1408 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1409: x<-L+M+T+U+W #define ACTION_1409 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1410: x<-L+M+T+V+W #define ACTION_1410 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1411: x<-L+M+U+V+W #define ACTION_1411 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row11[c + 2], img_labels_slice11_row11[c]));continue; // Action 1412: x<-L+N+O+Q+T #define ACTION_1412 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1413: x<-L+N+O+Q+U #define ACTION_1413 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1414: x<-L+N+O+Q+V #define ACTION_1414 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1415: x<-L+N+O+Q+W #define ACTION_1415 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1416: x<-L+N+O+T+U #define ACTION_1416 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1417: x<-L+N+O+T+V #define ACTION_1417 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1418: x<-L+N+O+T+W #define ACTION_1418 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1419: x<-L+N+O+U+V #define ACTION_1419 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1420: x<-L+N+O+U+W #define ACTION_1420 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1421: x<-L+N+O+V+W #define ACTION_1421 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1422: x<-L+N+P+Q+T #define ACTION_1422 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1423: x<-L+N+P+Q+U #define ACTION_1423 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1424: x<-L+N+P+Q+V #define ACTION_1424 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1425: x<-L+N+P+Q+W #define ACTION_1425 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1426: x<-L+N+P+R+T #define ACTION_1426 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1427: x<-L+N+P+R+U #define ACTION_1427 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1428: x<-L+N+P+R+V #define ACTION_1428 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1429: x<-L+N+P+R+W #define ACTION_1429 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1430: x<-L+N+P+S+T #define ACTION_1430 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1431: x<-L+N+P+S+U #define ACTION_1431 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1432: x<-L+N+P+S+V #define ACTION_1432 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1433: x<-L+N+P+S+W #define ACTION_1433 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1434: x<-L+N+P+T+U #define ACTION_1434 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1435: x<-L+N+P+T+V #define ACTION_1435 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1436: x<-L+N+P+T+W #define ACTION_1436 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1437: x<-L+N+P+U+V #define ACTION_1437 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1438: x<-L+N+P+U+W #define ACTION_1438 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1439: x<-L+N+P+V+W #define ACTION_1439 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1440: x<-L+N+Q+R+T #define ACTION_1440 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1441: x<-L+N+Q+R+U #define ACTION_1441 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1442: x<-L+N+Q+R+V #define ACTION_1442 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1443: x<-L+N+Q+R+W #define ACTION_1443 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1444: x<-L+N+Q+S+T #define ACTION_1444 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1445: x<-L+N+Q+S+U #define ACTION_1445 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1446: x<-L+N+Q+S+V #define ACTION_1446 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1447: x<-L+N+Q+S+W #define ACTION_1447 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1448: x<-L+N+Q+T+U #define ACTION_1448 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1449: x<-L+N+Q+T+V #define ACTION_1449 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1450: x<-L+N+Q+T+W #define ACTION_1450 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1451: x<-L+N+Q+U+V #define ACTION_1451 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1452: x<-L+N+Q+U+W #define ACTION_1452 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1453: x<-L+N+Q+V+W #define ACTION_1453 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1454: x<-L+N+R+S+T #define ACTION_1454 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1455: x<-L+N+R+S+U #define ACTION_1455 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1456: x<-L+N+R+S+V #define ACTION_1456 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1457: x<-L+N+R+S+W #define ACTION_1457 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1458: x<-L+N+R+T+U #define ACTION_1458 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1459: x<-L+N+R+T+V #define ACTION_1459 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1460: x<-L+N+R+T+W #define ACTION_1460 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1461: x<-L+N+R+U+V #define ACTION_1461 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1462: x<-L+N+R+U+W #define ACTION_1462 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1463: x<-L+N+R+V+W #define ACTION_1463 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1464: x<-L+N+S+T+U #define ACTION_1464 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1465: x<-L+N+S+T+V #define ACTION_1465 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1466: x<-L+N+S+T+W #define ACTION_1466 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1467: x<-L+N+S+U+V #define ACTION_1467 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1468: x<-L+N+S+U+W #define ACTION_1468 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1469: x<-L+N+S+V+W #define ACTION_1469 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1470: x<-L+N+T+U+W #define ACTION_1470 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1471: x<-L+N+T+V+W #define ACTION_1471 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1472: x<-L+N+U+V+W #define ACTION_1472 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]));continue; // Action 1473: x<-L+O+P+S+T #define ACTION_1473 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1474: x<-L+O+P+S+U #define ACTION_1474 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1475: x<-L+O+P+S+V #define ACTION_1475 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1476: x<-L+O+P+S+W #define ACTION_1476 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1477: x<-L+O+P+T+U #define ACTION_1477 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1478: x<-L+O+P+T+V #define ACTION_1478 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1479: x<-L+O+P+T+W #define ACTION_1479 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1480: x<-L+O+P+U+V #define ACTION_1480 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1481: x<-L+O+P+U+W #define ACTION_1481 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1482: x<-L+O+P+V+W #define ACTION_1482 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1483: x<-L+O+Q+T+U #define ACTION_1483 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1484: x<-L+O+Q+T+V #define ACTION_1484 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1485: x<-L+O+Q+T+W #define ACTION_1485 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1486: x<-L+O+Q+U+V #define ACTION_1486 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1487: x<-L+O+Q+U+W #define ACTION_1487 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1488: x<-L+O+Q+V+W #define ACTION_1488 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1489: x<-L+O+S+T+U #define ACTION_1489 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1490: x<-L+O+S+T+V #define ACTION_1490 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1491: x<-L+O+S+T+W #define ACTION_1491 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1492: x<-L+O+S+U+V #define ACTION_1492 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1493: x<-L+O+S+U+W #define ACTION_1493 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1494: x<-L+O+S+V+W #define ACTION_1494 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1495: x<-L+O+T+U+W #define ACTION_1495 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1496: x<-L+O+T+V+W #define ACTION_1496 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1497: x<-L+O+U+V+W #define ACTION_1497 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]));continue; // Action 1498: x<-L+P+Q+R+T #define ACTION_1498 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1499: x<-L+P+Q+R+U #define ACTION_1499 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1500: x<-L+P+Q+R+V #define ACTION_1500 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1501: x<-L+P+Q+R+W #define ACTION_1501 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1502: x<-L+P+Q+S+T #define ACTION_1502 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1503: x<-L+P+Q+S+U #define ACTION_1503 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1504: x<-L+P+Q+S+V #define ACTION_1504 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1505: x<-L+P+Q+S+W #define ACTION_1505 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1506: x<-L+P+Q+T+U #define ACTION_1506 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1507: x<-L+P+Q+T+V #define ACTION_1507 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1508: x<-L+P+Q+T+W #define ACTION_1508 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1509: x<-L+P+Q+U+V #define ACTION_1509 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1510: x<-L+P+Q+U+W #define ACTION_1510 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1511: x<-L+P+Q+V+W #define ACTION_1511 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1512: x<-L+P+R+S+T #define ACTION_1512 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1513: x<-L+P+R+S+U #define ACTION_1513 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1514: x<-L+P+R+S+V #define ACTION_1514 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1515: x<-L+P+R+S+W #define ACTION_1515 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1516: x<-L+P+R+T+U #define ACTION_1516 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1517: x<-L+P+R+T+V #define ACTION_1517 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1518: x<-L+P+R+T+W #define ACTION_1518 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1519: x<-L+P+R+U+V #define ACTION_1519 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1520: x<-L+P+R+U+W #define ACTION_1520 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1521: x<-L+P+R+V+W #define ACTION_1521 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1522: x<-L+P+S+T+U #define ACTION_1522 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1523: x<-L+P+S+T+V #define ACTION_1523 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1524: x<-L+P+S+T+W #define ACTION_1524 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1525: x<-L+P+S+U+V #define ACTION_1525 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1526: x<-L+P+S+U+W #define ACTION_1526 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1527: x<-L+P+S+V+W #define ACTION_1527 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1528: x<-L+P+T+U+W #define ACTION_1528 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1529: x<-L+P+T+V+W #define ACTION_1529 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1530: x<-L+P+U+V+W #define ACTION_1530 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]));continue; // Action 1531: x<-L+Q+R+T+U #define ACTION_1531 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1532: x<-L+Q+R+T+V #define ACTION_1532 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1533: x<-L+Q+R+T+W #define ACTION_1533 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1534: x<-L+Q+R+U+V #define ACTION_1534 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1535: x<-L+Q+R+U+W #define ACTION_1535 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1536: x<-L+Q+R+V+W #define ACTION_1536 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1537: x<-L+Q+S+T+U #define ACTION_1537 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1538: x<-L+Q+S+T+V #define ACTION_1538 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1539: x<-L+Q+S+T+W #define ACTION_1539 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1540: x<-L+Q+S+U+V #define ACTION_1540 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1541: x<-L+Q+S+U+W #define ACTION_1541 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1542: x<-L+Q+S+V+W #define ACTION_1542 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1543: x<-L+Q+T+U+W #define ACTION_1543 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1544: x<-L+Q+T+V+W #define ACTION_1544 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1545: x<-L+Q+U+V+W #define ACTION_1545 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]));continue; // Action 1546: x<-L+R+S+T+U #define ACTION_1546 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1547: x<-L+R+S+T+V #define ACTION_1547 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1548: x<-L+R+S+T+W #define ACTION_1548 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1549: x<-L+R+S+U+V #define ACTION_1549 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1550: x<-L+R+S+U+W #define ACTION_1550 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1551: x<-L+R+S+V+W #define ACTION_1551 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1552: x<-L+R+T+U+W #define ACTION_1552 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1553: x<-L+R+T+V+W #define ACTION_1553 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1554: x<-L+R+U+V+W #define ACTION_1554 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]));continue; // Action 1555: x<-L+S+T+U+W #define ACTION_1555 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 1556: x<-L+S+T+V+W #define ACTION_1556 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 1557: x<-L+S+U+V+W #define ACTION_1557 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]));continue; // Action 1558: x<-M+N+O+Q+T #define ACTION_1558 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1559: x<-M+N+O+Q+U #define ACTION_1559 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1560: x<-M+N+O+Q+V #define ACTION_1560 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1561: x<-M+N+O+Q+W #define ACTION_1561 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1562: x<-M+N+O+T+U #define ACTION_1562 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1563: x<-M+N+O+T+V #define ACTION_1563 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1564: x<-M+N+O+T+W #define ACTION_1564 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1565: x<-M+N+O+U+V #define ACTION_1565 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1566: x<-M+N+O+U+W #define ACTION_1566 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1567: x<-M+N+O+V+W #define ACTION_1567 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1568: x<-M+N+P+Q+T #define ACTION_1568 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1569: x<-M+N+P+Q+U #define ACTION_1569 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1570: x<-M+N+P+Q+V #define ACTION_1570 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1571: x<-M+N+P+Q+W #define ACTION_1571 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1572: x<-M+N+P+R+T #define ACTION_1572 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1573: x<-M+N+P+R+U #define ACTION_1573 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1574: x<-M+N+P+R+V #define ACTION_1574 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1575: x<-M+N+P+R+W #define ACTION_1575 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1576: x<-M+N+P+T+U #define ACTION_1576 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1577: x<-M+N+P+T+V #define ACTION_1577 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1578: x<-M+N+P+T+W #define ACTION_1578 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1579: x<-M+N+P+U+V #define ACTION_1579 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1580: x<-M+N+P+U+W #define ACTION_1580 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1581: x<-M+N+P+V+W #define ACTION_1581 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1582: x<-M+N+Q+R+T #define ACTION_1582 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1583: x<-M+N+Q+R+U #define ACTION_1583 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1584: x<-M+N+Q+R+V #define ACTION_1584 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1585: x<-M+N+Q+R+W #define ACTION_1585 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1586: x<-M+N+Q+S+T #define ACTION_1586 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1587: x<-M+N+Q+S+U #define ACTION_1587 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1588: x<-M+N+Q+S+V #define ACTION_1588 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1589: x<-M+N+Q+S+W #define ACTION_1589 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1590: x<-M+N+Q+T+U #define ACTION_1590 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1591: x<-M+N+Q+T+V #define ACTION_1591 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1592: x<-M+N+Q+T+W #define ACTION_1592 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1593: x<-M+N+Q+U+V #define ACTION_1593 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1594: x<-M+N+Q+U+W #define ACTION_1594 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1595: x<-M+N+Q+V+W #define ACTION_1595 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1596: x<-M+N+R+S+T #define ACTION_1596 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1597: x<-M+N+R+S+U #define ACTION_1597 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1598: x<-M+N+R+S+V #define ACTION_1598 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1599: x<-M+N+R+S+W #define ACTION_1599 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1600: x<-M+N+R+T+U #define ACTION_1600 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1601: x<-M+N+R+T+V #define ACTION_1601 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1602: x<-M+N+R+T+W #define ACTION_1602 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1603: x<-M+N+R+U+V #define ACTION_1603 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1604: x<-M+N+R+U+W #define ACTION_1604 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1605: x<-M+N+R+V+W #define ACTION_1605 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1606: x<-M+N+S+T+U #define ACTION_1606 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1607: x<-M+N+S+T+V #define ACTION_1607 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1608: x<-M+N+S+T+W #define ACTION_1608 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1609: x<-M+N+S+U+V #define ACTION_1609 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1610: x<-M+N+S+U+W #define ACTION_1610 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1611: x<-M+N+S+V+W #define ACTION_1611 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1612: x<-M+N+T+U+W #define ACTION_1612 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1613: x<-M+N+T+V+W #define ACTION_1613 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1614: x<-M+N+U+V+W #define ACTION_1614 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1615: x<-M+O+P+Q+T #define ACTION_1615 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1616: x<-M+O+P+Q+U #define ACTION_1616 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1617: x<-M+O+P+Q+V #define ACTION_1617 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1618: x<-M+O+P+Q+W #define ACTION_1618 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1619: x<-M+O+P+R+T #define ACTION_1619 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1620: x<-M+O+P+R+U #define ACTION_1620 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1621: x<-M+O+P+R+V #define ACTION_1621 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1622: x<-M+O+P+R+W #define ACTION_1622 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1623: x<-M+O+P+T+U #define ACTION_1623 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1624: x<-M+O+P+T+V #define ACTION_1624 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1625: x<-M+O+P+T+W #define ACTION_1625 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1626: x<-M+O+P+U+V #define ACTION_1626 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1627: x<-M+O+P+U+W #define ACTION_1627 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1628: x<-M+O+P+V+W #define ACTION_1628 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1629: x<-M+O+Q+R+T #define ACTION_1629 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1630: x<-M+O+Q+R+U #define ACTION_1630 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1631: x<-M+O+Q+R+V #define ACTION_1631 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1632: x<-M+O+Q+R+W #define ACTION_1632 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1633: x<-M+O+Q+S+T #define ACTION_1633 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1634: x<-M+O+Q+S+U #define ACTION_1634 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1635: x<-M+O+Q+S+V #define ACTION_1635 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1636: x<-M+O+Q+S+W #define ACTION_1636 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1637: x<-M+O+Q+T+U #define ACTION_1637 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1638: x<-M+O+Q+T+V #define ACTION_1638 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1639: x<-M+O+Q+T+W #define ACTION_1639 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1640: x<-M+O+Q+U+V #define ACTION_1640 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1641: x<-M+O+Q+U+W #define ACTION_1641 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1642: x<-M+O+Q+V+W #define ACTION_1642 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1643: x<-M+O+R+S+T #define ACTION_1643 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1644: x<-M+O+R+S+U #define ACTION_1644 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1645: x<-M+O+R+S+V #define ACTION_1645 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1646: x<-M+O+R+S+W #define ACTION_1646 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1647: x<-M+O+R+T+U #define ACTION_1647 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1648: x<-M+O+R+T+V #define ACTION_1648 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1649: x<-M+O+R+T+W #define ACTION_1649 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1650: x<-M+O+R+U+V #define ACTION_1650 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1651: x<-M+O+R+U+W #define ACTION_1651 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1652: x<-M+O+R+V+W #define ACTION_1652 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1653: x<-M+O+S+T+U #define ACTION_1653 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1654: x<-M+O+S+T+V #define ACTION_1654 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1655: x<-M+O+S+T+W #define ACTION_1655 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1656: x<-M+O+S+U+V #define ACTION_1656 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1657: x<-M+O+S+U+W #define ACTION_1657 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1658: x<-M+O+S+V+W #define ACTION_1658 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1659: x<-M+O+T+U+W #define ACTION_1659 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1660: x<-M+O+T+V+W #define ACTION_1660 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1661: x<-M+O+U+V+W #define ACTION_1661 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]));continue; // Action 1662: x<-M+P+Q+T+U #define ACTION_1662 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1663: x<-M+P+Q+T+V #define ACTION_1663 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1664: x<-M+P+Q+T+W #define ACTION_1664 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1665: x<-M+P+Q+U+V #define ACTION_1665 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1666: x<-M+P+Q+U+W #define ACTION_1666 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1667: x<-M+P+Q+V+W #define ACTION_1667 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1668: x<-M+P+R+T+U #define ACTION_1668 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1669: x<-M+P+R+T+V #define ACTION_1669 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1670: x<-M+P+R+T+W #define ACTION_1670 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1671: x<-M+P+R+U+V #define ACTION_1671 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1672: x<-M+P+R+U+W #define ACTION_1672 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1673: x<-M+P+R+V+W #define ACTION_1673 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1674: x<-M+P+T+U+W #define ACTION_1674 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1675: x<-M+P+T+V+W #define ACTION_1675 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1676: x<-M+P+U+V+W #define ACTION_1676 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1677: x<-M+Q+R+T+U #define ACTION_1677 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1678: x<-M+Q+R+T+V #define ACTION_1678 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1679: x<-M+Q+R+T+W #define ACTION_1679 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1680: x<-M+Q+R+U+V #define ACTION_1680 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1681: x<-M+Q+R+U+W #define ACTION_1681 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1682: x<-M+Q+R+V+W #define ACTION_1682 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1683: x<-M+Q+S+T+U #define ACTION_1683 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1684: x<-M+Q+S+T+V #define ACTION_1684 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1685: x<-M+Q+S+T+W #define ACTION_1685 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1686: x<-M+Q+S+U+V #define ACTION_1686 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1687: x<-M+Q+S+U+W #define ACTION_1687 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1688: x<-M+Q+S+V+W #define ACTION_1688 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1689: x<-M+Q+T+U+W #define ACTION_1689 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1690: x<-M+Q+T+V+W #define ACTION_1690 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1691: x<-M+Q+U+V+W #define ACTION_1691 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]));continue; // Action 1692: x<-M+R+S+T+U #define ACTION_1692 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1693: x<-M+R+S+T+V #define ACTION_1693 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1694: x<-M+R+S+T+W #define ACTION_1694 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1695: x<-M+R+S+U+V #define ACTION_1695 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1696: x<-M+R+S+U+W #define ACTION_1696 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1697: x<-M+R+S+V+W #define ACTION_1697 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1698: x<-M+R+T+U+W #define ACTION_1698 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1699: x<-M+R+T+V+W #define ACTION_1699 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1700: x<-M+R+U+V+W #define ACTION_1700 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]));continue; // Action 1701: x<-M+S+T+U+W #define ACTION_1701 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1702: x<-M+S+T+V+W #define ACTION_1702 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1703: x<-M+S+U+V+W #define ACTION_1703 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]));continue; // Action 1704: x<-N+O+Q+R+T #define ACTION_1704 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1705: x<-N+O+Q+R+U #define ACTION_1705 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1706: x<-N+O+Q+R+V #define ACTION_1706 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1707: x<-N+O+Q+R+W #define ACTION_1707 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1708: x<-N+O+Q+S+T #define ACTION_1708 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1709: x<-N+O+Q+S+U #define ACTION_1709 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1710: x<-N+O+Q+S+V #define ACTION_1710 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1711: x<-N+O+Q+S+W #define ACTION_1711 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1712: x<-N+O+Q+T+U #define ACTION_1712 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1713: x<-N+O+Q+T+V #define ACTION_1713 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1714: x<-N+O+Q+T+W #define ACTION_1714 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1715: x<-N+O+Q+U+V #define ACTION_1715 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1716: x<-N+O+Q+U+W #define ACTION_1716 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1717: x<-N+O+Q+V+W #define ACTION_1717 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1718: x<-N+O+R+S+T #define ACTION_1718 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1719: x<-N+O+R+S+U #define ACTION_1719 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1720: x<-N+O+R+S+V #define ACTION_1720 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1721: x<-N+O+R+S+W #define ACTION_1721 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1722: x<-N+O+R+T+U #define ACTION_1722 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1723: x<-N+O+R+T+V #define ACTION_1723 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1724: x<-N+O+R+T+W #define ACTION_1724 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1725: x<-N+O+R+U+V #define ACTION_1725 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1726: x<-N+O+R+U+W #define ACTION_1726 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1727: x<-N+O+R+V+W #define ACTION_1727 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1728: x<-N+O+S+T+U #define ACTION_1728 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1729: x<-N+O+S+T+V #define ACTION_1729 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1730: x<-N+O+S+T+W #define ACTION_1730 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1731: x<-N+O+S+U+V #define ACTION_1731 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1732: x<-N+O+S+U+W #define ACTION_1732 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1733: x<-N+O+S+V+W #define ACTION_1733 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1734: x<-N+O+T+U+W #define ACTION_1734 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1735: x<-N+O+T+V+W #define ACTION_1735 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1736: x<-N+O+U+V+W #define ACTION_1736 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1737: x<-N+P+Q+R+T #define ACTION_1737 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1738: x<-N+P+Q+R+U #define ACTION_1738 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1739: x<-N+P+Q+R+V #define ACTION_1739 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1740: x<-N+P+Q+R+W #define ACTION_1740 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1741: x<-N+P+Q+S+T #define ACTION_1741 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1742: x<-N+P+Q+S+U #define ACTION_1742 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1743: x<-N+P+Q+S+V #define ACTION_1743 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1744: x<-N+P+Q+S+W #define ACTION_1744 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1745: x<-N+P+Q+T+U #define ACTION_1745 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1746: x<-N+P+Q+T+V #define ACTION_1746 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1747: x<-N+P+Q+T+W #define ACTION_1747 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1748: x<-N+P+Q+U+V #define ACTION_1748 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1749: x<-N+P+Q+U+W #define ACTION_1749 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1750: x<-N+P+Q+V+W #define ACTION_1750 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1751: x<-N+P+R+S+T #define ACTION_1751 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1752: x<-N+P+R+S+U #define ACTION_1752 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1753: x<-N+P+R+S+V #define ACTION_1753 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1754: x<-N+P+R+S+W #define ACTION_1754 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1755: x<-N+P+R+T+U #define ACTION_1755 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1756: x<-N+P+R+T+V #define ACTION_1756 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1757: x<-N+P+R+T+W #define ACTION_1757 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1758: x<-N+P+R+U+V #define ACTION_1758 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1759: x<-N+P+R+U+W #define ACTION_1759 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1760: x<-N+P+R+V+W #define ACTION_1760 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1761: x<-N+P+S+T+U #define ACTION_1761 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1762: x<-N+P+S+T+V #define ACTION_1762 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1763: x<-N+P+S+T+W #define ACTION_1763 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1764: x<-N+P+S+U+V #define ACTION_1764 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1765: x<-N+P+S+U+W #define ACTION_1765 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1766: x<-N+P+S+V+W #define ACTION_1766 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1767: x<-N+P+T+U+W #define ACTION_1767 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1768: x<-N+P+T+V+W #define ACTION_1768 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1769: x<-N+P+U+V+W #define ACTION_1769 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1770: x<-N+Q+R+T+U #define ACTION_1770 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1771: x<-N+Q+R+T+V #define ACTION_1771 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1772: x<-N+Q+R+T+W #define ACTION_1772 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1773: x<-N+Q+R+U+V #define ACTION_1773 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1774: x<-N+Q+R+U+W #define ACTION_1774 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1775: x<-N+Q+R+V+W #define ACTION_1775 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1776: x<-N+Q+S+T+U #define ACTION_1776 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1777: x<-N+Q+S+T+V #define ACTION_1777 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1778: x<-N+Q+S+T+W #define ACTION_1778 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1779: x<-N+Q+S+U+V #define ACTION_1779 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1780: x<-N+Q+S+U+W #define ACTION_1780 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1781: x<-N+Q+S+V+W #define ACTION_1781 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1782: x<-N+Q+T+U+W #define ACTION_1782 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1783: x<-N+Q+T+V+W #define ACTION_1783 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1784: x<-N+Q+U+V+W #define ACTION_1784 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1785: x<-N+R+S+T+U #define ACTION_1785 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1786: x<-N+R+S+T+V #define ACTION_1786 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1787: x<-N+R+S+T+W #define ACTION_1787 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1788: x<-N+R+S+U+V #define ACTION_1788 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1789: x<-N+R+S+U+W #define ACTION_1789 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1790: x<-N+R+S+V+W #define ACTION_1790 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1791: x<-N+R+T+U+W #define ACTION_1791 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1792: x<-N+R+T+V+W #define ACTION_1792 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1793: x<-N+R+U+V+W #define ACTION_1793 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]));continue; // Action 1794: x<-N+S+T+U+W #define ACTION_1794 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1795: x<-N+S+T+V+W #define ACTION_1795 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1796: x<-N+S+U+V+W #define ACTION_1796 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1797: x<-O+P+Q+R+T #define ACTION_1797 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1798: x<-O+P+Q+R+U #define ACTION_1798 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1799: x<-O+P+Q+R+V #define ACTION_1799 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1800: x<-O+P+Q+R+W #define ACTION_1800 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1801: x<-O+P+Q+S+T #define ACTION_1801 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1802: x<-O+P+Q+S+U #define ACTION_1802 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1803: x<-O+P+Q+S+V #define ACTION_1803 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1804: x<-O+P+Q+S+W #define ACTION_1804 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1805: x<-O+P+Q+T+U #define ACTION_1805 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1806: x<-O+P+Q+T+V #define ACTION_1806 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1807: x<-O+P+Q+T+W #define ACTION_1807 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1808: x<-O+P+Q+U+V #define ACTION_1808 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1809: x<-O+P+Q+U+W #define ACTION_1809 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1810: x<-O+P+Q+V+W #define ACTION_1810 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1811: x<-O+P+R+S+T #define ACTION_1811 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1812: x<-O+P+R+S+U #define ACTION_1812 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1813: x<-O+P+R+S+V #define ACTION_1813 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1814: x<-O+P+R+S+W #define ACTION_1814 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row01[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1815: x<-O+P+R+T+U #define ACTION_1815 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1816: x<-O+P+R+T+V #define ACTION_1816 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1817: x<-O+P+R+T+W #define ACTION_1817 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1818: x<-O+P+R+U+V #define ACTION_1818 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1819: x<-O+P+R+U+W #define ACTION_1819 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1820: x<-O+P+R+V+W #define ACTION_1820 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1821: x<-O+P+S+T+U #define ACTION_1821 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1822: x<-O+P+S+T+V #define ACTION_1822 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1823: x<-O+P+S+T+W #define ACTION_1823 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1824: x<-O+P+S+U+V #define ACTION_1824 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1825: x<-O+P+S+U+W #define ACTION_1825 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1826: x<-O+P+S+V+W #define ACTION_1826 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1827: x<-O+P+T+U+W #define ACTION_1827 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1828: x<-O+P+T+V+W #define ACTION_1828 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1829: x<-O+P+U+V+W #define ACTION_1829 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1830: x<-O+Q+R+T+U #define ACTION_1830 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1831: x<-O+Q+R+T+V #define ACTION_1831 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1832: x<-O+Q+R+T+W #define ACTION_1832 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1833: x<-O+Q+R+U+V #define ACTION_1833 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1834: x<-O+Q+R+U+W #define ACTION_1834 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1835: x<-O+Q+R+V+W #define ACTION_1835 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1836: x<-O+Q+S+T+U #define ACTION_1836 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1837: x<-O+Q+S+T+V #define ACTION_1837 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1838: x<-O+Q+S+T+W #define ACTION_1838 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1839: x<-O+Q+S+U+V #define ACTION_1839 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1840: x<-O+Q+S+U+W #define ACTION_1840 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1841: x<-O+Q+S+V+W #define ACTION_1841 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1842: x<-O+Q+T+U+W #define ACTION_1842 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1843: x<-O+Q+T+V+W #define ACTION_1843 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1844: x<-O+Q+U+V+W #define ACTION_1844 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]));continue; // Action 1845: x<-O+R+S+T+U #define ACTION_1845 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1846: x<-O+R+S+T+V #define ACTION_1846 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1847: x<-O+R+S+T+W #define ACTION_1847 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1848: x<-O+R+S+U+V #define ACTION_1848 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1849: x<-O+R+S+U+W #define ACTION_1849 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1850: x<-O+R+S+V+W #define ACTION_1850 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1851: x<-O+R+T+U+W #define ACTION_1851 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1852: x<-O+R+T+V+W #define ACTION_1852 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1853: x<-O+R+U+V+W #define ACTION_1853 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]));continue; // Action 1854: x<-O+S+T+U+W #define ACTION_1854 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 1855: x<-O+S+T+V+W #define ACTION_1855 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 1856: x<-O+S+U+V+W #define ACTION_1856 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]));continue; // Action 1857: x<-P+Q+R+T+U #define ACTION_1857 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1858: x<-P+Q+R+T+V #define ACTION_1858 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1859: x<-P+Q+R+T+W #define ACTION_1859 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1860: x<-P+Q+R+U+V #define ACTION_1860 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1861: x<-P+Q+R+U+W #define ACTION_1861 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1862: x<-P+Q+R+V+W #define ACTION_1862 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1863: x<-P+Q+S+T+U #define ACTION_1863 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1864: x<-P+Q+S+T+V #define ACTION_1864 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1865: x<-P+Q+S+T+W #define ACTION_1865 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1866: x<-P+Q+S+U+V #define ACTION_1866 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1867: x<-P+Q+S+U+W #define ACTION_1867 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1868: x<-P+Q+S+V+W #define ACTION_1868 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1869: x<-P+Q+T+U+W #define ACTION_1869 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1870: x<-P+Q+T+V+W #define ACTION_1870 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1871: x<-P+Q+U+V+W #define ACTION_1871 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1872: x<-P+R+S+T+U #define ACTION_1872 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1873: x<-P+R+S+T+V #define ACTION_1873 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1874: x<-P+R+S+T+W #define ACTION_1874 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1875: x<-P+R+S+U+V #define ACTION_1875 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1876: x<-P+R+S+U+W #define ACTION_1876 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1877: x<-P+R+S+V+W #define ACTION_1877 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1878: x<-P+R+T+U+W #define ACTION_1878 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1879: x<-P+R+T+V+W #define ACTION_1879 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1880: x<-P+R+U+V+W #define ACTION_1880 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]));continue; // Action 1881: x<-P+S+T+U+W #define ACTION_1881 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 1882: x<-P+S+T+V+W #define ACTION_1882 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 1883: x<-P+S+U+V+W #define ACTION_1883 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 1884: x<-Q+R+T+U+W #define ACTION_1884 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 1885: x<-Q+R+T+V+W #define ACTION_1885 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 1886: x<-Q+R+U+V+W #define ACTION_1886 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]));continue; // Action 1887: x<-Q+S+T+U+W #define ACTION_1887 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 1888: x<-Q+S+T+V+W #define ACTION_1888 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 1889: x<-Q+S+U+V+W #define ACTION_1889 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]));continue; // Action 1890: x<-R+S+T+U+W #define ACTION_1890 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 1891: x<-R+S+T+V+W #define ACTION_1891 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 1892: x<-R+S+U+V+W #define ACTION_1892 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]));continue; // Action 1893: x<-K+L+N+O+T+U #define ACTION_1893 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1894: x<-K+L+N+O+T+V #define ACTION_1894 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1895: x<-K+L+N+O+T+W #define ACTION_1895 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1896: x<-K+L+N+O+U+V #define ACTION_1896 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1897: x<-K+L+N+O+U+W #define ACTION_1897 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1898: x<-K+L+N+O+V+W #define ACTION_1898 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1899: x<-K+L+N+P+T+U #define ACTION_1899 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1900: x<-K+L+N+P+T+V #define ACTION_1900 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1901: x<-K+L+N+P+T+W #define ACTION_1901 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1902: x<-K+L+N+P+U+V #define ACTION_1902 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1903: x<-K+L+N+P+U+W #define ACTION_1903 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1904: x<-K+L+N+P+V+W #define ACTION_1904 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1905: x<-K+L+N+R+T+U #define ACTION_1905 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1906: x<-K+L+N+R+T+V #define ACTION_1906 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1907: x<-K+L+N+R+T+W #define ACTION_1907 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1908: x<-K+L+N+R+U+V #define ACTION_1908 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1909: x<-K+L+N+R+U+W #define ACTION_1909 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1910: x<-K+L+N+R+V+W #define ACTION_1910 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1911: x<-K+L+N+S+T+U #define ACTION_1911 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1912: x<-K+L+N+S+T+V #define ACTION_1912 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1913: x<-K+L+N+S+T+W #define ACTION_1913 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1914: x<-K+L+N+S+U+V #define ACTION_1914 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1915: x<-K+L+N+S+U+W #define ACTION_1915 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1916: x<-K+L+N+S+V+W #define ACTION_1916 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1917: x<-K+L+N+T+U+W #define ACTION_1917 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1918: x<-K+L+N+T+V+W #define ACTION_1918 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1919: x<-K+L+N+U+V+W #define ACTION_1919 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1920: x<-K+L+O+P+T+U #define ACTION_1920 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1921: x<-K+L+O+P+T+V #define ACTION_1921 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1922: x<-K+L+O+P+T+W #define ACTION_1922 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1923: x<-K+L+O+P+U+V #define ACTION_1923 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1924: x<-K+L+O+P+U+W #define ACTION_1924 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1925: x<-K+L+O+P+V+W #define ACTION_1925 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1926: x<-K+L+O+Q+T+U #define ACTION_1926 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1927: x<-K+L+O+Q+T+V #define ACTION_1927 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1928: x<-K+L+O+Q+T+W #define ACTION_1928 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1929: x<-K+L+O+Q+U+V #define ACTION_1929 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1930: x<-K+L+O+Q+U+W #define ACTION_1930 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1931: x<-K+L+O+Q+V+W #define ACTION_1931 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1932: x<-K+L+O+S+T+U #define ACTION_1932 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1933: x<-K+L+O+S+T+V #define ACTION_1933 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1934: x<-K+L+O+S+T+W #define ACTION_1934 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1935: x<-K+L+O+S+U+V #define ACTION_1935 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1936: x<-K+L+O+S+U+W #define ACTION_1936 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1937: x<-K+L+O+S+V+W #define ACTION_1937 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1938: x<-K+L+O+T+U+W #define ACTION_1938 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1939: x<-K+L+O+T+V+W #define ACTION_1939 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1940: x<-K+L+O+U+V+W #define ACTION_1940 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1941: x<-K+L+P+Q+T+U #define ACTION_1941 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1942: x<-K+L+P+Q+T+V #define ACTION_1942 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1943: x<-K+L+P+Q+T+W #define ACTION_1943 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1944: x<-K+L+P+Q+U+V #define ACTION_1944 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1945: x<-K+L+P+Q+U+W #define ACTION_1945 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1946: x<-K+L+P+Q+V+W #define ACTION_1946 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1947: x<-K+L+P+R+T+U #define ACTION_1947 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1948: x<-K+L+P+R+T+V #define ACTION_1948 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1949: x<-K+L+P+R+T+W #define ACTION_1949 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1950: x<-K+L+P+R+U+V #define ACTION_1950 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1951: x<-K+L+P+R+U+W #define ACTION_1951 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1952: x<-K+L+P+R+V+W #define ACTION_1952 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1953: x<-K+L+P+T+U+W #define ACTION_1953 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1954: x<-K+L+P+T+V+W #define ACTION_1954 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1955: x<-K+L+P+U+V+W #define ACTION_1955 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1956: x<-K+L+Q+R+T+U #define ACTION_1956 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1957: x<-K+L+Q+R+T+V #define ACTION_1957 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1958: x<-K+L+Q+R+T+W #define ACTION_1958 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1959: x<-K+L+Q+R+U+V #define ACTION_1959 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1960: x<-K+L+Q+R+U+W #define ACTION_1960 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1961: x<-K+L+Q+R+V+W #define ACTION_1961 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1962: x<-K+L+Q+S+T+U #define ACTION_1962 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1963: x<-K+L+Q+S+T+V #define ACTION_1963 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1964: x<-K+L+Q+S+T+W #define ACTION_1964 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1965: x<-K+L+Q+S+U+V #define ACTION_1965 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1966: x<-K+L+Q+S+U+W #define ACTION_1966 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1967: x<-K+L+Q+S+V+W #define ACTION_1967 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1968: x<-K+L+Q+T+U+W #define ACTION_1968 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1969: x<-K+L+Q+T+V+W #define ACTION_1969 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1970: x<-K+L+Q+U+V+W #define ACTION_1970 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1971: x<-K+L+R+S+T+U #define ACTION_1971 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1972: x<-K+L+R+S+T+V #define ACTION_1972 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1973: x<-K+L+R+S+T+W #define ACTION_1973 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1974: x<-K+L+R+S+U+V #define ACTION_1974 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1975: x<-K+L+R+S+U+W #define ACTION_1975 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1976: x<-K+L+R+S+V+W #define ACTION_1976 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1977: x<-K+L+R+T+U+W #define ACTION_1977 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1978: x<-K+L+R+T+V+W #define ACTION_1978 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1979: x<-K+L+R+U+V+W #define ACTION_1979 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1980: x<-K+L+S+T+U+W #define ACTION_1980 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1981: x<-K+L+S+T+V+W #define ACTION_1981 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1982: x<-K+L+S+U+V+W #define ACTION_1982 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 1983: x<-K+M+N+O+T+U #define ACTION_1983 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1984: x<-K+M+N+O+T+V #define ACTION_1984 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1985: x<-K+M+N+O+T+W #define ACTION_1985 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1986: x<-K+M+N+O+U+V #define ACTION_1986 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1987: x<-K+M+N+O+U+W #define ACTION_1987 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1988: x<-K+M+N+O+V+W #define ACTION_1988 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1989: x<-K+M+N+P+T+U #define ACTION_1989 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1990: x<-K+M+N+P+T+V #define ACTION_1990 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1991: x<-K+M+N+P+T+W #define ACTION_1991 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1992: x<-K+M+N+P+U+V #define ACTION_1992 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1993: x<-K+M+N+P+U+W #define ACTION_1993 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1994: x<-K+M+N+P+V+W #define ACTION_1994 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1995: x<-K+M+N+R+T+U #define ACTION_1995 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1996: x<-K+M+N+R+T+V #define ACTION_1996 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1997: x<-K+M+N+R+T+W #define ACTION_1997 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1998: x<-K+M+N+R+U+V #define ACTION_1998 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 1999: x<-K+M+N+R+U+W #define ACTION_1999 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2000: x<-K+M+N+R+V+W #define ACTION_2000 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2001: x<-K+M+N+S+T+U #define ACTION_2001 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2002: x<-K+M+N+S+T+V #define ACTION_2002 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2003: x<-K+M+N+S+T+W #define ACTION_2003 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2004: x<-K+M+N+S+U+V #define ACTION_2004 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2005: x<-K+M+N+S+U+W #define ACTION_2005 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2006: x<-K+M+N+S+V+W #define ACTION_2006 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2007: x<-K+M+N+T+U+W #define ACTION_2007 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2008: x<-K+M+N+T+V+W #define ACTION_2008 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2009: x<-K+M+N+U+V+W #define ACTION_2009 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2010: x<-K+M+O+P+T+U #define ACTION_2010 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2011: x<-K+M+O+P+T+V #define ACTION_2011 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2012: x<-K+M+O+P+T+W #define ACTION_2012 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2013: x<-K+M+O+P+U+V #define ACTION_2013 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2014: x<-K+M+O+P+U+W #define ACTION_2014 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2015: x<-K+M+O+P+V+W #define ACTION_2015 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2016: x<-K+M+O+Q+T+U #define ACTION_2016 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2017: x<-K+M+O+Q+T+V #define ACTION_2017 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2018: x<-K+M+O+Q+T+W #define ACTION_2018 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2019: x<-K+M+O+Q+U+V #define ACTION_2019 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2020: x<-K+M+O+Q+U+W #define ACTION_2020 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2021: x<-K+M+O+Q+V+W #define ACTION_2021 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2022: x<-K+M+O+S+T+U #define ACTION_2022 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2023: x<-K+M+O+S+T+V #define ACTION_2023 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2024: x<-K+M+O+S+T+W #define ACTION_2024 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2025: x<-K+M+O+S+U+V #define ACTION_2025 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2026: x<-K+M+O+S+U+W #define ACTION_2026 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2027: x<-K+M+O+S+V+W #define ACTION_2027 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2028: x<-K+M+O+T+U+W #define ACTION_2028 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2029: x<-K+M+O+T+V+W #define ACTION_2029 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2030: x<-K+M+O+U+V+W #define ACTION_2030 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2031: x<-K+M+P+Q+T+U #define ACTION_2031 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2032: x<-K+M+P+Q+T+V #define ACTION_2032 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2033: x<-K+M+P+Q+T+W #define ACTION_2033 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2034: x<-K+M+P+Q+U+V #define ACTION_2034 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2035: x<-K+M+P+Q+U+W #define ACTION_2035 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2036: x<-K+M+P+Q+V+W #define ACTION_2036 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2037: x<-K+M+P+R+T+U #define ACTION_2037 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2038: x<-K+M+P+R+T+V #define ACTION_2038 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2039: x<-K+M+P+R+T+W #define ACTION_2039 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2040: x<-K+M+P+R+U+V #define ACTION_2040 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2041: x<-K+M+P+R+U+W #define ACTION_2041 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2042: x<-K+M+P+R+V+W #define ACTION_2042 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2043: x<-K+M+P+T+U+W #define ACTION_2043 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2044: x<-K+M+P+T+V+W #define ACTION_2044 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2045: x<-K+M+P+U+V+W #define ACTION_2045 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2046: x<-K+M+Q+R+T+U #define ACTION_2046 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2047: x<-K+M+Q+R+T+V #define ACTION_2047 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2048: x<-K+M+Q+R+T+W #define ACTION_2048 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2049: x<-K+M+Q+R+U+V #define ACTION_2049 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2050: x<-K+M+Q+R+U+W #define ACTION_2050 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2051: x<-K+M+Q+R+V+W #define ACTION_2051 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2052: x<-K+M+Q+S+T+U #define ACTION_2052 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2053: x<-K+M+Q+S+T+V #define ACTION_2053 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2054: x<-K+M+Q+S+T+W #define ACTION_2054 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2055: x<-K+M+Q+S+U+V #define ACTION_2055 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2056: x<-K+M+Q+S+U+W #define ACTION_2056 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2057: x<-K+M+Q+S+V+W #define ACTION_2057 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2058: x<-K+M+Q+T+U+W #define ACTION_2058 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2059: x<-K+M+Q+T+V+W #define ACTION_2059 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2060: x<-K+M+Q+U+V+W #define ACTION_2060 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2061: x<-K+M+R+S+T+U #define ACTION_2061 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2062: x<-K+M+R+S+T+V #define ACTION_2062 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2063: x<-K+M+R+S+T+W #define ACTION_2063 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2064: x<-K+M+R+S+U+V #define ACTION_2064 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2065: x<-K+M+R+S+U+W #define ACTION_2065 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2066: x<-K+M+R+S+V+W #define ACTION_2066 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2067: x<-K+M+R+T+U+W #define ACTION_2067 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2068: x<-K+M+R+T+V+W #define ACTION_2068 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2069: x<-K+M+R+U+V+W #define ACTION_2069 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2070: x<-K+M+S+T+U+W #define ACTION_2070 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2071: x<-K+M+S+T+V+W #define ACTION_2071 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2072: x<-K+M+S+U+V+W #define ACTION_2072 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2073: x<-K+N+O+R+T+U #define ACTION_2073 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2074: x<-K+N+O+R+T+V #define ACTION_2074 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2075: x<-K+N+O+R+T+W #define ACTION_2075 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2076: x<-K+N+O+R+U+V #define ACTION_2076 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2077: x<-K+N+O+R+U+W #define ACTION_2077 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2078: x<-K+N+O+R+V+W #define ACTION_2078 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2079: x<-K+N+O+S+T+U #define ACTION_2079 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2080: x<-K+N+O+S+T+V #define ACTION_2080 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2081: x<-K+N+O+S+T+W #define ACTION_2081 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2082: x<-K+N+O+S+U+V #define ACTION_2082 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2083: x<-K+N+O+S+U+W #define ACTION_2083 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2084: x<-K+N+O+S+V+W #define ACTION_2084 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2085: x<-K+N+O+T+U+W #define ACTION_2085 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2086: x<-K+N+O+T+V+W #define ACTION_2086 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2087: x<-K+N+O+U+V+W #define ACTION_2087 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2088: x<-K+N+P+R+T+U #define ACTION_2088 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2089: x<-K+N+P+R+T+V #define ACTION_2089 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2090: x<-K+N+P+R+T+W #define ACTION_2090 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2091: x<-K+N+P+R+U+V #define ACTION_2091 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2092: x<-K+N+P+R+U+W #define ACTION_2092 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2093: x<-K+N+P+R+V+W #define ACTION_2093 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2094: x<-K+N+P+S+T+U #define ACTION_2094 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2095: x<-K+N+P+S+T+V #define ACTION_2095 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2096: x<-K+N+P+S+T+W #define ACTION_2096 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2097: x<-K+N+P+S+U+V #define ACTION_2097 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2098: x<-K+N+P+S+U+W #define ACTION_2098 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2099: x<-K+N+P+S+V+W #define ACTION_2099 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2100: x<-K+N+P+T+U+W #define ACTION_2100 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2101: x<-K+N+P+T+V+W #define ACTION_2101 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2102: x<-K+N+P+U+V+W #define ACTION_2102 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2103: x<-K+N+R+T+U+W #define ACTION_2103 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2104: x<-K+N+R+T+V+W #define ACTION_2104 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2105: x<-K+N+R+U+V+W #define ACTION_2105 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2106: x<-K+N+S+T+U+W #define ACTION_2106 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2107: x<-K+N+S+T+V+W #define ACTION_2107 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2108: x<-K+N+S+U+V+W #define ACTION_2108 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2109: x<-K+O+P+S+T+U #define ACTION_2109 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2110: x<-K+O+P+S+T+V #define ACTION_2110 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2111: x<-K+O+P+S+T+W #define ACTION_2111 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2112: x<-K+O+P+S+U+V #define ACTION_2112 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2113: x<-K+O+P+S+U+W #define ACTION_2113 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2114: x<-K+O+P+S+V+W #define ACTION_2114 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2115: x<-K+O+P+T+U+W #define ACTION_2115 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2116: x<-K+O+P+T+V+W #define ACTION_2116 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2117: x<-K+O+P+U+V+W #define ACTION_2117 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2118: x<-K+O+Q+R+T+U #define ACTION_2118 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2119: x<-K+O+Q+R+T+V #define ACTION_2119 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2120: x<-K+O+Q+R+T+W #define ACTION_2120 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2121: x<-K+O+Q+R+U+V #define ACTION_2121 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2122: x<-K+O+Q+R+U+W #define ACTION_2122 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2123: x<-K+O+Q+R+V+W #define ACTION_2123 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2124: x<-K+O+Q+S+T+U #define ACTION_2124 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2125: x<-K+O+Q+S+T+V #define ACTION_2125 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2126: x<-K+O+Q+S+T+W #define ACTION_2126 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2127: x<-K+O+Q+S+U+V #define ACTION_2127 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2128: x<-K+O+Q+S+U+W #define ACTION_2128 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2129: x<-K+O+Q+S+V+W #define ACTION_2129 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2130: x<-K+O+Q+T+U+W #define ACTION_2130 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2131: x<-K+O+Q+T+V+W #define ACTION_2131 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2132: x<-K+O+Q+U+V+W #define ACTION_2132 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2133: x<-K+O+R+S+T+U #define ACTION_2133 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2134: x<-K+O+R+S+T+V #define ACTION_2134 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2135: x<-K+O+R+S+T+W #define ACTION_2135 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2136: x<-K+O+R+S+U+V #define ACTION_2136 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2137: x<-K+O+R+S+U+W #define ACTION_2137 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2138: x<-K+O+R+S+V+W #define ACTION_2138 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2139: x<-K+O+R+T+U+W #define ACTION_2139 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2140: x<-K+O+R+T+V+W #define ACTION_2140 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2141: x<-K+O+R+U+V+W #define ACTION_2141 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2142: x<-K+O+S+T+U+W #define ACTION_2142 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2143: x<-K+O+S+T+V+W #define ACTION_2143 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2144: x<-K+O+S+U+V+W #define ACTION_2144 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2145: x<-K+P+Q+R+T+U #define ACTION_2145 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2146: x<-K+P+Q+R+T+V #define ACTION_2146 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2147: x<-K+P+Q+R+T+W #define ACTION_2147 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2148: x<-K+P+Q+R+U+V #define ACTION_2148 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2149: x<-K+P+Q+R+U+W #define ACTION_2149 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2150: x<-K+P+Q+R+V+W #define ACTION_2150 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2151: x<-K+P+Q+S+T+U #define ACTION_2151 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2152: x<-K+P+Q+S+T+V #define ACTION_2152 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2153: x<-K+P+Q+S+T+W #define ACTION_2153 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2154: x<-K+P+Q+S+U+V #define ACTION_2154 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2155: x<-K+P+Q+S+U+W #define ACTION_2155 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2156: x<-K+P+Q+S+V+W #define ACTION_2156 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2157: x<-K+P+Q+T+U+W #define ACTION_2157 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2158: x<-K+P+Q+T+V+W #define ACTION_2158 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2159: x<-K+P+Q+U+V+W #define ACTION_2159 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2160: x<-K+P+R+S+T+U #define ACTION_2160 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2161: x<-K+P+R+S+T+V #define ACTION_2161 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2162: x<-K+P+R+S+T+W #define ACTION_2162 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2163: x<-K+P+R+S+U+V #define ACTION_2163 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2164: x<-K+P+R+S+U+W #define ACTION_2164 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2165: x<-K+P+R+S+V+W #define ACTION_2165 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2166: x<-K+P+R+T+U+W #define ACTION_2166 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2167: x<-K+P+R+T+V+W #define ACTION_2167 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2168: x<-K+P+R+U+V+W #define ACTION_2168 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2169: x<-K+P+S+T+U+W #define ACTION_2169 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2170: x<-K+P+S+T+V+W #define ACTION_2170 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2171: x<-K+P+S+U+V+W #define ACTION_2171 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2172: x<-K+Q+R+T+U+W #define ACTION_2172 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2173: x<-K+Q+R+T+V+W #define ACTION_2173 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2174: x<-K+Q+R+U+V+W #define ACTION_2174 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2175: x<-K+Q+S+T+U+W #define ACTION_2175 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2176: x<-K+Q+S+T+V+W #define ACTION_2176 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2177: x<-K+Q+S+U+V+W #define ACTION_2177 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2178: x<-K+R+S+T+U+W #define ACTION_2178 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2179: x<-K+R+S+T+V+W #define ACTION_2179 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2180: x<-K+R+S+U+V+W #define ACTION_2180 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2181: x<-L+M+N+O+T+U #define ACTION_2181 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2182: x<-L+M+N+O+T+V #define ACTION_2182 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2183: x<-L+M+N+O+T+W #define ACTION_2183 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2184: x<-L+M+N+O+U+V #define ACTION_2184 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2185: x<-L+M+N+O+U+W #define ACTION_2185 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2186: x<-L+M+N+O+V+W #define ACTION_2186 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2187: x<-L+M+N+P+T+U #define ACTION_2187 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2188: x<-L+M+N+P+T+V #define ACTION_2188 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2189: x<-L+M+N+P+T+W #define ACTION_2189 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2190: x<-L+M+N+P+U+V #define ACTION_2190 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2191: x<-L+M+N+P+U+W #define ACTION_2191 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2192: x<-L+M+N+P+V+W #define ACTION_2192 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2193: x<-L+M+N+R+T+U #define ACTION_2193 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2194: x<-L+M+N+R+T+V #define ACTION_2194 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2195: x<-L+M+N+R+T+W #define ACTION_2195 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2196: x<-L+M+N+R+U+V #define ACTION_2196 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2197: x<-L+M+N+R+U+W #define ACTION_2197 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2198: x<-L+M+N+R+V+W #define ACTION_2198 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2199: x<-L+M+N+S+T+U #define ACTION_2199 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2200: x<-L+M+N+S+T+V #define ACTION_2200 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2201: x<-L+M+N+S+T+W #define ACTION_2201 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2202: x<-L+M+N+S+U+V #define ACTION_2202 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2203: x<-L+M+N+S+U+W #define ACTION_2203 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2204: x<-L+M+N+S+V+W #define ACTION_2204 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2205: x<-L+M+N+T+U+W #define ACTION_2205 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2206: x<-L+M+N+T+V+W #define ACTION_2206 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2207: x<-L+M+N+U+V+W #define ACTION_2207 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2208: x<-L+M+O+P+T+U #define ACTION_2208 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2209: x<-L+M+O+P+T+V #define ACTION_2209 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2210: x<-L+M+O+P+T+W #define ACTION_2210 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2211: x<-L+M+O+P+U+V #define ACTION_2211 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2212: x<-L+M+O+P+U+W #define ACTION_2212 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2213: x<-L+M+O+P+V+W #define ACTION_2213 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2214: x<-L+M+O+Q+T+U #define ACTION_2214 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2215: x<-L+M+O+Q+T+V #define ACTION_2215 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2216: x<-L+M+O+Q+T+W #define ACTION_2216 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2217: x<-L+M+O+Q+U+V #define ACTION_2217 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2218: x<-L+M+O+Q+U+W #define ACTION_2218 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2219: x<-L+M+O+Q+V+W #define ACTION_2219 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2220: x<-L+M+O+S+T+U #define ACTION_2220 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2221: x<-L+M+O+S+T+V #define ACTION_2221 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2222: x<-L+M+O+S+T+W #define ACTION_2222 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2223: x<-L+M+O+S+U+V #define ACTION_2223 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2224: x<-L+M+O+S+U+W #define ACTION_2224 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2225: x<-L+M+O+S+V+W #define ACTION_2225 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2226: x<-L+M+O+T+U+W #define ACTION_2226 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2227: x<-L+M+O+T+V+W #define ACTION_2227 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2228: x<-L+M+O+U+V+W #define ACTION_2228 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2229: x<-L+M+P+Q+T+U #define ACTION_2229 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2230: x<-L+M+P+Q+T+V #define ACTION_2230 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2231: x<-L+M+P+Q+T+W #define ACTION_2231 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2232: x<-L+M+P+Q+U+V #define ACTION_2232 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2233: x<-L+M+P+Q+U+W #define ACTION_2233 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2234: x<-L+M+P+Q+V+W #define ACTION_2234 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2235: x<-L+M+P+R+T+U #define ACTION_2235 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2236: x<-L+M+P+R+T+V #define ACTION_2236 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2237: x<-L+M+P+R+T+W #define ACTION_2237 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2238: x<-L+M+P+R+U+V #define ACTION_2238 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2239: x<-L+M+P+R+U+W #define ACTION_2239 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2240: x<-L+M+P+R+V+W #define ACTION_2240 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2241: x<-L+M+P+T+U+W #define ACTION_2241 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2242: x<-L+M+P+T+V+W #define ACTION_2242 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2243: x<-L+M+P+U+V+W #define ACTION_2243 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2244: x<-L+M+Q+R+T+U #define ACTION_2244 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2245: x<-L+M+Q+R+T+V #define ACTION_2245 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2246: x<-L+M+Q+R+T+W #define ACTION_2246 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2247: x<-L+M+Q+R+U+V #define ACTION_2247 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2248: x<-L+M+Q+R+U+W #define ACTION_2248 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2249: x<-L+M+Q+R+V+W #define ACTION_2249 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2250: x<-L+M+Q+S+T+U #define ACTION_2250 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2251: x<-L+M+Q+S+T+V #define ACTION_2251 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2252: x<-L+M+Q+S+T+W #define ACTION_2252 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2253: x<-L+M+Q+S+U+V #define ACTION_2253 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2254: x<-L+M+Q+S+U+W #define ACTION_2254 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2255: x<-L+M+Q+S+V+W #define ACTION_2255 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2256: x<-L+M+Q+T+U+W #define ACTION_2256 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2257: x<-L+M+Q+T+V+W #define ACTION_2257 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2258: x<-L+M+Q+U+V+W #define ACTION_2258 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2259: x<-L+M+R+S+T+U #define ACTION_2259 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2260: x<-L+M+R+S+T+V #define ACTION_2260 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2261: x<-L+M+R+S+T+W #define ACTION_2261 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2262: x<-L+M+R+S+U+V #define ACTION_2262 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2263: x<-L+M+R+S+U+W #define ACTION_2263 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2264: x<-L+M+R+S+V+W #define ACTION_2264 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2265: x<-L+M+R+T+U+W #define ACTION_2265 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2266: x<-L+M+R+T+V+W #define ACTION_2266 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2267: x<-L+M+R+U+V+W #define ACTION_2267 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2268: x<-L+M+S+T+U+W #define ACTION_2268 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2269: x<-L+M+S+T+V+W #define ACTION_2269 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2270: x<-L+M+S+U+V+W #define ACTION_2270 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2271: x<-L+N+O+Q+T+U #define ACTION_2271 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2272: x<-L+N+O+Q+T+V #define ACTION_2272 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2273: x<-L+N+O+Q+T+W #define ACTION_2273 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2274: x<-L+N+O+Q+U+V #define ACTION_2274 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2275: x<-L+N+O+Q+U+W #define ACTION_2275 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2276: x<-L+N+O+Q+V+W #define ACTION_2276 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2277: x<-L+N+O+T+U+W #define ACTION_2277 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2278: x<-L+N+O+T+V+W #define ACTION_2278 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2279: x<-L+N+O+U+V+W #define ACTION_2279 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2280: x<-L+N+P+Q+T+U #define ACTION_2280 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2281: x<-L+N+P+Q+T+V #define ACTION_2281 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2282: x<-L+N+P+Q+T+W #define ACTION_2282 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2283: x<-L+N+P+Q+U+V #define ACTION_2283 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2284: x<-L+N+P+Q+U+W #define ACTION_2284 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2285: x<-L+N+P+Q+V+W #define ACTION_2285 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2286: x<-L+N+P+R+T+U #define ACTION_2286 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2287: x<-L+N+P+R+T+V #define ACTION_2287 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2288: x<-L+N+P+R+T+W #define ACTION_2288 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2289: x<-L+N+P+R+U+V #define ACTION_2289 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2290: x<-L+N+P+R+U+W #define ACTION_2290 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2291: x<-L+N+P+R+V+W #define ACTION_2291 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2292: x<-L+N+P+S+T+U #define ACTION_2292 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2293: x<-L+N+P+S+T+V #define ACTION_2293 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2294: x<-L+N+P+S+T+W #define ACTION_2294 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2295: x<-L+N+P+S+U+V #define ACTION_2295 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2296: x<-L+N+P+S+U+W #define ACTION_2296 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2297: x<-L+N+P+S+V+W #define ACTION_2297 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2298: x<-L+N+P+T+U+W #define ACTION_2298 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2299: x<-L+N+P+T+V+W #define ACTION_2299 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2300: x<-L+N+P+U+V+W #define ACTION_2300 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2301: x<-L+N+Q+R+T+U #define ACTION_2301 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2302: x<-L+N+Q+R+T+V #define ACTION_2302 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2303: x<-L+N+Q+R+T+W #define ACTION_2303 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2304: x<-L+N+Q+R+U+V #define ACTION_2304 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2305: x<-L+N+Q+R+U+W #define ACTION_2305 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2306: x<-L+N+Q+R+V+W #define ACTION_2306 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2307: x<-L+N+Q+S+T+U #define ACTION_2307 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2308: x<-L+N+Q+S+T+V #define ACTION_2308 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2309: x<-L+N+Q+S+T+W #define ACTION_2309 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2310: x<-L+N+Q+S+U+V #define ACTION_2310 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2311: x<-L+N+Q+S+U+W #define ACTION_2311 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2312: x<-L+N+Q+S+V+W #define ACTION_2312 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2313: x<-L+N+Q+T+U+W #define ACTION_2313 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2314: x<-L+N+Q+T+V+W #define ACTION_2314 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2315: x<-L+N+Q+U+V+W #define ACTION_2315 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2316: x<-L+N+R+S+T+U #define ACTION_2316 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2317: x<-L+N+R+S+T+V #define ACTION_2317 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2318: x<-L+N+R+S+T+W #define ACTION_2318 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2319: x<-L+N+R+S+U+V #define ACTION_2319 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2320: x<-L+N+R+S+U+W #define ACTION_2320 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2321: x<-L+N+R+S+V+W #define ACTION_2321 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2322: x<-L+N+R+T+U+W #define ACTION_2322 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2323: x<-L+N+R+T+V+W #define ACTION_2323 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2324: x<-L+N+R+U+V+W #define ACTION_2324 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2325: x<-L+N+S+T+U+W #define ACTION_2325 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2326: x<-L+N+S+T+V+W #define ACTION_2326 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2327: x<-L+N+S+U+V+W #define ACTION_2327 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2328: x<-L+O+P+S+T+U #define ACTION_2328 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2329: x<-L+O+P+S+T+V #define ACTION_2329 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2330: x<-L+O+P+S+T+W #define ACTION_2330 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2331: x<-L+O+P+S+U+V #define ACTION_2331 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2332: x<-L+O+P+S+U+W #define ACTION_2332 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2333: x<-L+O+P+S+V+W #define ACTION_2333 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2334: x<-L+O+P+T+U+W #define ACTION_2334 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2335: x<-L+O+P+T+V+W #define ACTION_2335 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2336: x<-L+O+P+U+V+W #define ACTION_2336 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2337: x<-L+O+Q+T+U+W #define ACTION_2337 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2338: x<-L+O+Q+T+V+W #define ACTION_2338 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2339: x<-L+O+Q+U+V+W #define ACTION_2339 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2340: x<-L+O+S+T+U+W #define ACTION_2340 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2341: x<-L+O+S+T+V+W #define ACTION_2341 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2342: x<-L+O+S+U+V+W #define ACTION_2342 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2343: x<-L+P+Q+R+T+U #define ACTION_2343 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2344: x<-L+P+Q+R+T+V #define ACTION_2344 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2345: x<-L+P+Q+R+T+W #define ACTION_2345 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2346: x<-L+P+Q+R+U+V #define ACTION_2346 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2347: x<-L+P+Q+R+U+W #define ACTION_2347 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2348: x<-L+P+Q+R+V+W #define ACTION_2348 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2349: x<-L+P+Q+S+T+U #define ACTION_2349 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2350: x<-L+P+Q+S+T+V #define ACTION_2350 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2351: x<-L+P+Q+S+T+W #define ACTION_2351 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2352: x<-L+P+Q+S+U+V #define ACTION_2352 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2353: x<-L+P+Q+S+U+W #define ACTION_2353 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2354: x<-L+P+Q+S+V+W #define ACTION_2354 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2355: x<-L+P+Q+T+U+W #define ACTION_2355 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2356: x<-L+P+Q+T+V+W #define ACTION_2356 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2357: x<-L+P+Q+U+V+W #define ACTION_2357 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2358: x<-L+P+R+S+T+U #define ACTION_2358 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2359: x<-L+P+R+S+T+V #define ACTION_2359 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2360: x<-L+P+R+S+T+W #define ACTION_2360 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2361: x<-L+P+R+S+U+V #define ACTION_2361 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2362: x<-L+P+R+S+U+W #define ACTION_2362 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2363: x<-L+P+R+S+V+W #define ACTION_2363 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2364: x<-L+P+R+T+U+W #define ACTION_2364 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2365: x<-L+P+R+T+V+W #define ACTION_2365 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2366: x<-L+P+R+U+V+W #define ACTION_2366 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2367: x<-L+P+S+T+U+W #define ACTION_2367 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2368: x<-L+P+S+T+V+W #define ACTION_2368 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2369: x<-L+P+S+U+V+W #define ACTION_2369 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2370: x<-L+Q+R+T+U+W #define ACTION_2370 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2371: x<-L+Q+R+T+V+W #define ACTION_2371 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2372: x<-L+Q+R+U+V+W #define ACTION_2372 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2373: x<-L+Q+S+T+U+W #define ACTION_2373 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2374: x<-L+Q+S+T+V+W #define ACTION_2374 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2375: x<-L+Q+S+U+V+W #define ACTION_2375 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2376: x<-L+R+S+T+U+W #define ACTION_2376 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]));continue; // Action 2377: x<-L+R+S+T+V+W #define ACTION_2377 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]));continue; // Action 2378: x<-L+R+S+U+V+W #define ACTION_2378 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c]));continue; // Action 2379: x<-M+N+O+Q+T+U #define ACTION_2379 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2380: x<-M+N+O+Q+T+V #define ACTION_2380 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2381: x<-M+N+O+Q+T+W #define ACTION_2381 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2382: x<-M+N+O+Q+U+V #define ACTION_2382 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2383: x<-M+N+O+Q+U+W #define ACTION_2383 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2384: x<-M+N+O+Q+V+W #define ACTION_2384 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2385: x<-M+N+O+T+U+W #define ACTION_2385 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2386: x<-M+N+O+T+V+W #define ACTION_2386 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2387: x<-M+N+O+U+V+W #define ACTION_2387 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2388: x<-M+N+P+Q+T+U #define ACTION_2388 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2389: x<-M+N+P+Q+T+V #define ACTION_2389 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2390: x<-M+N+P+Q+T+W #define ACTION_2390 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2391: x<-M+N+P+Q+U+V #define ACTION_2391 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2392: x<-M+N+P+Q+U+W #define ACTION_2392 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2393: x<-M+N+P+Q+V+W #define ACTION_2393 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2394: x<-M+N+P+R+T+U #define ACTION_2394 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2395: x<-M+N+P+R+T+V #define ACTION_2395 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2396: x<-M+N+P+R+T+W #define ACTION_2396 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2397: x<-M+N+P+R+U+V #define ACTION_2397 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2398: x<-M+N+P+R+U+W #define ACTION_2398 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2399: x<-M+N+P+R+V+W #define ACTION_2399 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2400: x<-M+N+P+T+U+W #define ACTION_2400 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2401: x<-M+N+P+T+V+W #define ACTION_2401 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2402: x<-M+N+P+U+V+W #define ACTION_2402 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2403: x<-M+N+Q+R+T+U #define ACTION_2403 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2404: x<-M+N+Q+R+T+V #define ACTION_2404 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2405: x<-M+N+Q+R+T+W #define ACTION_2405 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2406: x<-M+N+Q+R+U+V #define ACTION_2406 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2407: x<-M+N+Q+R+U+W #define ACTION_2407 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2408: x<-M+N+Q+R+V+W #define ACTION_2408 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2409: x<-M+N+Q+S+T+U #define ACTION_2409 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2410: x<-M+N+Q+S+T+V #define ACTION_2410 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2411: x<-M+N+Q+S+T+W #define ACTION_2411 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2412: x<-M+N+Q+S+U+V #define ACTION_2412 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2413: x<-M+N+Q+S+U+W #define ACTION_2413 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2414: x<-M+N+Q+S+V+W #define ACTION_2414 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2415: x<-M+N+Q+T+U+W #define ACTION_2415 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2416: x<-M+N+Q+T+V+W #define ACTION_2416 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2417: x<-M+N+Q+U+V+W #define ACTION_2417 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2418: x<-M+N+R+S+T+U #define ACTION_2418 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2419: x<-M+N+R+S+T+V #define ACTION_2419 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2420: x<-M+N+R+S+T+W #define ACTION_2420 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2421: x<-M+N+R+S+U+V #define ACTION_2421 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2422: x<-M+N+R+S+U+W #define ACTION_2422 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2423: x<-M+N+R+S+V+W #define ACTION_2423 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2424: x<-M+N+R+T+U+W #define ACTION_2424 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2425: x<-M+N+R+T+V+W #define ACTION_2425 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2426: x<-M+N+R+U+V+W #define ACTION_2426 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2427: x<-M+N+S+T+U+W #define ACTION_2427 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2428: x<-M+N+S+T+V+W #define ACTION_2428 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2429: x<-M+N+S+U+V+W #define ACTION_2429 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2430: x<-M+O+P+Q+T+U #define ACTION_2430 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2431: x<-M+O+P+Q+T+V #define ACTION_2431 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2432: x<-M+O+P+Q+T+W #define ACTION_2432 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2433: x<-M+O+P+Q+U+V #define ACTION_2433 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2434: x<-M+O+P+Q+U+W #define ACTION_2434 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2435: x<-M+O+P+Q+V+W #define ACTION_2435 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2436: x<-M+O+P+R+T+U #define ACTION_2436 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2437: x<-M+O+P+R+T+V #define ACTION_2437 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2438: x<-M+O+P+R+T+W #define ACTION_2438 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2439: x<-M+O+P+R+U+V #define ACTION_2439 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2440: x<-M+O+P+R+U+W #define ACTION_2440 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2441: x<-M+O+P+R+V+W #define ACTION_2441 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2442: x<-M+O+P+T+U+W #define ACTION_2442 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2443: x<-M+O+P+T+V+W #define ACTION_2443 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2444: x<-M+O+P+U+V+W #define ACTION_2444 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2445: x<-M+O+Q+R+T+U #define ACTION_2445 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2446: x<-M+O+Q+R+T+V #define ACTION_2446 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2447: x<-M+O+Q+R+T+W #define ACTION_2447 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2448: x<-M+O+Q+R+U+V #define ACTION_2448 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2449: x<-M+O+Q+R+U+W #define ACTION_2449 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2450: x<-M+O+Q+R+V+W #define ACTION_2450 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2451: x<-M+O+Q+S+T+U #define ACTION_2451 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2452: x<-M+O+Q+S+T+V #define ACTION_2452 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2453: x<-M+O+Q+S+T+W #define ACTION_2453 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2454: x<-M+O+Q+S+U+V #define ACTION_2454 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2455: x<-M+O+Q+S+U+W #define ACTION_2455 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2456: x<-M+O+Q+S+V+W #define ACTION_2456 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2457: x<-M+O+Q+T+U+W #define ACTION_2457 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2458: x<-M+O+Q+T+V+W #define ACTION_2458 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2459: x<-M+O+Q+U+V+W #define ACTION_2459 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2460: x<-M+O+R+S+T+U #define ACTION_2460 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2461: x<-M+O+R+S+T+V #define ACTION_2461 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2462: x<-M+O+R+S+T+W #define ACTION_2462 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2463: x<-M+O+R+S+U+V #define ACTION_2463 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2464: x<-M+O+R+S+U+W #define ACTION_2464 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2465: x<-M+O+R+S+V+W #define ACTION_2465 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2466: x<-M+O+R+T+U+W #define ACTION_2466 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2467: x<-M+O+R+T+V+W #define ACTION_2467 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2468: x<-M+O+R+U+V+W #define ACTION_2468 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2469: x<-M+O+S+T+U+W #define ACTION_2469 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2470: x<-M+O+S+T+V+W #define ACTION_2470 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2471: x<-M+O+S+U+V+W #define ACTION_2471 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2472: x<-M+P+Q+T+U+W #define ACTION_2472 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2473: x<-M+P+Q+T+V+W #define ACTION_2473 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2474: x<-M+P+Q+U+V+W #define ACTION_2474 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2475: x<-M+P+R+T+U+W #define ACTION_2475 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2476: x<-M+P+R+T+V+W #define ACTION_2476 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2477: x<-M+P+R+U+V+W #define ACTION_2477 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2478: x<-M+Q+R+T+U+W #define ACTION_2478 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2479: x<-M+Q+R+T+V+W #define ACTION_2479 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2480: x<-M+Q+R+U+V+W #define ACTION_2480 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2481: x<-M+Q+S+T+U+W #define ACTION_2481 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2482: x<-M+Q+S+T+V+W #define ACTION_2482 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2483: x<-M+Q+S+U+V+W #define ACTION_2483 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2484: x<-M+R+S+T+U+W #define ACTION_2484 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2485: x<-M+R+S+T+V+W #define ACTION_2485 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2486: x<-M+R+S+U+V+W #define ACTION_2486 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2487: x<-N+O+Q+R+T+U #define ACTION_2487 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2488: x<-N+O+Q+R+T+V #define ACTION_2488 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2489: x<-N+O+Q+R+T+W #define ACTION_2489 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2490: x<-N+O+Q+R+U+V #define ACTION_2490 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2491: x<-N+O+Q+R+U+W #define ACTION_2491 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2492: x<-N+O+Q+R+V+W #define ACTION_2492 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2493: x<-N+O+Q+S+T+U #define ACTION_2493 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2494: x<-N+O+Q+S+T+V #define ACTION_2494 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2495: x<-N+O+Q+S+T+W #define ACTION_2495 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2496: x<-N+O+Q+S+U+V #define ACTION_2496 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2497: x<-N+O+Q+S+U+W #define ACTION_2497 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2498: x<-N+O+Q+S+V+W #define ACTION_2498 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2499: x<-N+O+Q+T+U+W #define ACTION_2499 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2500: x<-N+O+Q+T+V+W #define ACTION_2500 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2501: x<-N+O+Q+U+V+W #define ACTION_2501 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2502: x<-N+O+R+S+T+U #define ACTION_2502 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2503: x<-N+O+R+S+T+V #define ACTION_2503 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2504: x<-N+O+R+S+T+W #define ACTION_2504 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2505: x<-N+O+R+S+U+V #define ACTION_2505 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2506: x<-N+O+R+S+U+W #define ACTION_2506 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2507: x<-N+O+R+S+V+W #define ACTION_2507 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2508: x<-N+O+R+T+U+W #define ACTION_2508 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2509: x<-N+O+R+T+V+W #define ACTION_2509 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2510: x<-N+O+R+U+V+W #define ACTION_2510 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2511: x<-N+O+S+T+U+W #define ACTION_2511 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2512: x<-N+O+S+T+V+W #define ACTION_2512 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2513: x<-N+O+S+U+V+W #define ACTION_2513 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2514: x<-N+P+Q+R+T+U #define ACTION_2514 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2515: x<-N+P+Q+R+T+V #define ACTION_2515 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2516: x<-N+P+Q+R+T+W #define ACTION_2516 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2517: x<-N+P+Q+R+U+V #define ACTION_2517 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2518: x<-N+P+Q+R+U+W #define ACTION_2518 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2519: x<-N+P+Q+R+V+W #define ACTION_2519 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2520: x<-N+P+Q+S+T+U #define ACTION_2520 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2521: x<-N+P+Q+S+T+V #define ACTION_2521 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2522: x<-N+P+Q+S+T+W #define ACTION_2522 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2523: x<-N+P+Q+S+U+V #define ACTION_2523 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2524: x<-N+P+Q+S+U+W #define ACTION_2524 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2525: x<-N+P+Q+S+V+W #define ACTION_2525 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2526: x<-N+P+Q+T+U+W #define ACTION_2526 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2527: x<-N+P+Q+T+V+W #define ACTION_2527 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2528: x<-N+P+Q+U+V+W #define ACTION_2528 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2529: x<-N+P+R+S+T+U #define ACTION_2529 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2530: x<-N+P+R+S+T+V #define ACTION_2530 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2531: x<-N+P+R+S+T+W #define ACTION_2531 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2532: x<-N+P+R+S+U+V #define ACTION_2532 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2533: x<-N+P+R+S+U+W #define ACTION_2533 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2534: x<-N+P+R+S+V+W #define ACTION_2534 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2535: x<-N+P+R+T+U+W #define ACTION_2535 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2536: x<-N+P+R+T+V+W #define ACTION_2536 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2537: x<-N+P+R+U+V+W #define ACTION_2537 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2538: x<-N+P+S+T+U+W #define ACTION_2538 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2539: x<-N+P+S+T+V+W #define ACTION_2539 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2540: x<-N+P+S+U+V+W #define ACTION_2540 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2541: x<-N+Q+R+T+U+W #define ACTION_2541 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2542: x<-N+Q+R+T+V+W #define ACTION_2542 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2543: x<-N+Q+R+U+V+W #define ACTION_2543 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2544: x<-N+Q+S+T+U+W #define ACTION_2544 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2545: x<-N+Q+S+T+V+W #define ACTION_2545 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2546: x<-N+Q+S+U+V+W #define ACTION_2546 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2547: x<-N+R+S+T+U+W #define ACTION_2547 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2548: x<-N+R+S+T+V+W #define ACTION_2548 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2549: x<-N+R+S+U+V+W #define ACTION_2549 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2550: x<-O+P+Q+R+T+U #define ACTION_2550 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2551: x<-O+P+Q+R+T+V #define ACTION_2551 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2552: x<-O+P+Q+R+T+W #define ACTION_2552 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2553: x<-O+P+Q+R+U+V #define ACTION_2553 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2554: x<-O+P+Q+R+U+W #define ACTION_2554 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2555: x<-O+P+Q+R+V+W #define ACTION_2555 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2556: x<-O+P+Q+S+T+U #define ACTION_2556 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2557: x<-O+P+Q+S+T+V #define ACTION_2557 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2558: x<-O+P+Q+S+T+W #define ACTION_2558 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2559: x<-O+P+Q+S+U+V #define ACTION_2559 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2560: x<-O+P+Q+S+U+W #define ACTION_2560 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2561: x<-O+P+Q+S+V+W #define ACTION_2561 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2562: x<-O+P+Q+T+U+W #define ACTION_2562 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2563: x<-O+P+Q+T+V+W #define ACTION_2563 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2564: x<-O+P+Q+U+V+W #define ACTION_2564 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2565: x<-O+P+R+S+T+U #define ACTION_2565 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2566: x<-O+P+R+S+T+V #define ACTION_2566 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2567: x<-O+P+R+S+T+W #define ACTION_2567 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c - 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2568: x<-O+P+R+S+U+V #define ACTION_2568 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2569: x<-O+P+R+S+U+W #define ACTION_2569 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2570: x<-O+P+R+S+V+W #define ACTION_2570 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice11_row01[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2571: x<-O+P+R+T+U+W #define ACTION_2571 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2572: x<-O+P+R+T+V+W #define ACTION_2572 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2573: x<-O+P+R+U+V+W #define ACTION_2573 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2574: x<-O+P+S+T+U+W #define ACTION_2574 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2575: x<-O+P+S+T+V+W #define ACTION_2575 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2576: x<-O+P+S+U+V+W #define ACTION_2576 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2577: x<-O+Q+R+T+U+W #define ACTION_2577 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2578: x<-O+Q+R+T+V+W #define ACTION_2578 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2579: x<-O+Q+R+U+V+W #define ACTION_2579 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2580: x<-O+Q+S+T+U+W #define ACTION_2580 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2581: x<-O+Q+S+T+V+W #define ACTION_2581 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2582: x<-O+Q+S+U+V+W #define ACTION_2582 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2583: x<-O+R+S+T+U+W #define ACTION_2583 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]));continue; // Action 2584: x<-O+R+S+T+V+W #define ACTION_2584 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]));continue; // Action 2585: x<-O+R+S+U+V+W #define ACTION_2585 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c]));continue; // Action 2586: x<-P+Q+R+T+U+W #define ACTION_2586 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2587: x<-P+Q+R+T+V+W #define ACTION_2587 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2588: x<-P+Q+R+U+V+W #define ACTION_2588 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2589: x<-P+Q+S+T+U+W #define ACTION_2589 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2590: x<-P+Q+S+T+V+W #define ACTION_2590 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2591: x<-P+Q+S+U+V+W #define ACTION_2591 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2592: x<-P+R+S+T+U+W #define ACTION_2592 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]));continue; // Action 2593: x<-P+R+S+T+V+W #define ACTION_2593 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]));continue; // Action 2594: x<-P+R+S+U+V+W #define ACTION_2594 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), img_labels_slice00_row11[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 2], img_labels_slice11_row01[c]), img_labels_slice11_row00[c + 2]));continue; // Action 2595: x<-K+L+N+O+T+U+W #define ACTION_2595 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2596: x<-K+L+N+O+T+V+W #define ACTION_2596 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2597: x<-K+L+N+O+U+V+W #define ACTION_2597 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2598: x<-K+L+N+P+T+U+W #define ACTION_2598 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2599: x<-K+L+N+P+T+V+W #define ACTION_2599 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2600: x<-K+L+N+P+U+V+W #define ACTION_2600 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2601: x<-K+L+N+R+T+U+W #define ACTION_2601 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2602: x<-K+L+N+R+T+V+W #define ACTION_2602 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2603: x<-K+L+N+R+U+V+W #define ACTION_2603 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2604: x<-K+L+N+S+T+U+W #define ACTION_2604 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2605: x<-K+L+N+S+T+V+W #define ACTION_2605 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2606: x<-K+L+N+S+U+V+W #define ACTION_2606 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2607: x<-K+L+O+P+T+U+W #define ACTION_2607 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2608: x<-K+L+O+P+T+V+W #define ACTION_2608 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2609: x<-K+L+O+P+U+V+W #define ACTION_2609 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2610: x<-K+L+O+Q+T+U+W #define ACTION_2610 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2611: x<-K+L+O+Q+T+V+W #define ACTION_2611 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2612: x<-K+L+O+Q+U+V+W #define ACTION_2612 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2613: x<-K+L+O+S+T+U+W #define ACTION_2613 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2614: x<-K+L+O+S+T+V+W #define ACTION_2614 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2615: x<-K+L+O+S+U+V+W #define ACTION_2615 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2616: x<-K+L+P+Q+T+U+W #define ACTION_2616 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2617: x<-K+L+P+Q+T+V+W #define ACTION_2617 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2618: x<-K+L+P+Q+U+V+W #define ACTION_2618 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2619: x<-K+L+P+R+T+U+W #define ACTION_2619 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2620: x<-K+L+P+R+T+V+W #define ACTION_2620 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2621: x<-K+L+P+R+U+V+W #define ACTION_2621 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2622: x<-K+L+Q+R+T+U+W #define ACTION_2622 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2623: x<-K+L+Q+R+T+V+W #define ACTION_2623 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2624: x<-K+L+Q+R+U+V+W #define ACTION_2624 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2625: x<-K+L+Q+S+T+U+W #define ACTION_2625 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2626: x<-K+L+Q+S+T+V+W #define ACTION_2626 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2627: x<-K+L+Q+S+U+V+W #define ACTION_2627 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2628: x<-K+L+R+S+T+U+W #define ACTION_2628 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2629: x<-K+L+R+S+T+V+W #define ACTION_2629 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2630: x<-K+L+R+S+U+V+W #define ACTION_2630 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2631: x<-K+M+N+O+T+U+W #define ACTION_2631 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2632: x<-K+M+N+O+T+V+W #define ACTION_2632 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2633: x<-K+M+N+O+U+V+W #define ACTION_2633 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2634: x<-K+M+N+P+T+U+W #define ACTION_2634 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2635: x<-K+M+N+P+T+V+W #define ACTION_2635 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2636: x<-K+M+N+P+U+V+W #define ACTION_2636 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2637: x<-K+M+N+R+T+U+W #define ACTION_2637 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2638: x<-K+M+N+R+T+V+W #define ACTION_2638 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2639: x<-K+M+N+R+U+V+W #define ACTION_2639 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2640: x<-K+M+N+S+T+U+W #define ACTION_2640 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2641: x<-K+M+N+S+T+V+W #define ACTION_2641 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2642: x<-K+M+N+S+U+V+W #define ACTION_2642 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2643: x<-K+M+O+P+T+U+W #define ACTION_2643 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2644: x<-K+M+O+P+T+V+W #define ACTION_2644 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2645: x<-K+M+O+P+U+V+W #define ACTION_2645 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2646: x<-K+M+O+Q+T+U+W #define ACTION_2646 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2647: x<-K+M+O+Q+T+V+W #define ACTION_2647 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2648: x<-K+M+O+Q+U+V+W #define ACTION_2648 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2649: x<-K+M+O+S+T+U+W #define ACTION_2649 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2650: x<-K+M+O+S+T+V+W #define ACTION_2650 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2651: x<-K+M+O+S+U+V+W #define ACTION_2651 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2652: x<-K+M+P+Q+T+U+W #define ACTION_2652 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2653: x<-K+M+P+Q+T+V+W #define ACTION_2653 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2654: x<-K+M+P+Q+U+V+W #define ACTION_2654 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2655: x<-K+M+P+R+T+U+W #define ACTION_2655 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2656: x<-K+M+P+R+T+V+W #define ACTION_2656 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2657: x<-K+M+P+R+U+V+W #define ACTION_2657 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2658: x<-K+M+Q+R+T+U+W #define ACTION_2658 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2659: x<-K+M+Q+R+T+V+W #define ACTION_2659 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2660: x<-K+M+Q+R+U+V+W #define ACTION_2660 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2661: x<-K+M+Q+S+T+U+W #define ACTION_2661 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2662: x<-K+M+Q+S+T+V+W #define ACTION_2662 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2663: x<-K+M+Q+S+U+V+W #define ACTION_2663 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2664: x<-K+M+R+S+T+U+W #define ACTION_2664 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2665: x<-K+M+R+S+T+V+W #define ACTION_2665 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2666: x<-K+M+R+S+U+V+W #define ACTION_2666 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2667: x<-K+N+O+R+T+U+W #define ACTION_2667 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2668: x<-K+N+O+R+T+V+W #define ACTION_2668 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2669: x<-K+N+O+R+U+V+W #define ACTION_2669 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2670: x<-K+N+O+S+T+U+W #define ACTION_2670 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2671: x<-K+N+O+S+T+V+W #define ACTION_2671 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2672: x<-K+N+O+S+U+V+W #define ACTION_2672 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2673: x<-K+N+P+R+T+U+W #define ACTION_2673 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2674: x<-K+N+P+R+T+V+W #define ACTION_2674 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2675: x<-K+N+P+R+U+V+W #define ACTION_2675 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2676: x<-K+N+P+S+T+U+W #define ACTION_2676 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2677: x<-K+N+P+S+T+V+W #define ACTION_2677 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2678: x<-K+N+P+S+U+V+W #define ACTION_2678 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2679: x<-K+O+P+S+T+U+W #define ACTION_2679 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2680: x<-K+O+P+S+T+V+W #define ACTION_2680 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2681: x<-K+O+P+S+U+V+W #define ACTION_2681 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2682: x<-K+O+Q+R+T+U+W #define ACTION_2682 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2683: x<-K+O+Q+R+T+V+W #define ACTION_2683 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2684: x<-K+O+Q+R+U+V+W #define ACTION_2684 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2685: x<-K+O+Q+S+T+U+W #define ACTION_2685 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2686: x<-K+O+Q+S+T+V+W #define ACTION_2686 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2687: x<-K+O+Q+S+U+V+W #define ACTION_2687 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2688: x<-K+O+R+S+T+U+W #define ACTION_2688 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2689: x<-K+O+R+S+T+V+W #define ACTION_2689 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2690: x<-K+O+R+S+U+V+W #define ACTION_2690 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c - 2]));continue; // Action 2691: x<-K+P+Q+R+T+U+W #define ACTION_2691 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2692: x<-K+P+Q+R+T+V+W #define ACTION_2692 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2693: x<-K+P+Q+R+U+V+W #define ACTION_2693 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2694: x<-K+P+Q+S+T+U+W #define ACTION_2694 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2695: x<-K+P+Q+S+T+V+W #define ACTION_2695 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2696: x<-K+P+Q+S+U+V+W #define ACTION_2696 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2697: x<-K+P+R+S+T+U+W #define ACTION_2697 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2698: x<-K+P+R+S+T+V+W #define ACTION_2698 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2699: x<-K+P+R+S+U+V+W #define ACTION_2699 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c - 2]));continue; // Action 2700: x<-L+M+N+O+T+U+W #define ACTION_2700 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2701: x<-L+M+N+O+T+V+W #define ACTION_2701 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2702: x<-L+M+N+O+U+V+W #define ACTION_2702 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2703: x<-L+M+N+P+T+U+W #define ACTION_2703 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2704: x<-L+M+N+P+T+V+W #define ACTION_2704 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2705: x<-L+M+N+P+U+V+W #define ACTION_2705 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2706: x<-L+M+N+R+T+U+W #define ACTION_2706 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2707: x<-L+M+N+R+T+V+W #define ACTION_2707 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2708: x<-L+M+N+R+U+V+W #define ACTION_2708 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2709: x<-L+M+N+S+T+U+W #define ACTION_2709 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2710: x<-L+M+N+S+T+V+W #define ACTION_2710 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2711: x<-L+M+N+S+U+V+W #define ACTION_2711 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2712: x<-L+M+O+P+T+U+W #define ACTION_2712 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2713: x<-L+M+O+P+T+V+W #define ACTION_2713 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2714: x<-L+M+O+P+U+V+W #define ACTION_2714 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2715: x<-L+M+O+Q+T+U+W #define ACTION_2715 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2716: x<-L+M+O+Q+T+V+W #define ACTION_2716 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2717: x<-L+M+O+Q+U+V+W #define ACTION_2717 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2718: x<-L+M+O+S+T+U+W #define ACTION_2718 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2719: x<-L+M+O+S+T+V+W #define ACTION_2719 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2720: x<-L+M+O+S+U+V+W #define ACTION_2720 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2721: x<-L+M+P+Q+T+U+W #define ACTION_2721 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2722: x<-L+M+P+Q+T+V+W #define ACTION_2722 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2723: x<-L+M+P+Q+U+V+W #define ACTION_2723 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2724: x<-L+M+P+R+T+U+W #define ACTION_2724 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2725: x<-L+M+P+R+T+V+W #define ACTION_2725 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2726: x<-L+M+P+R+U+V+W #define ACTION_2726 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2727: x<-L+M+Q+R+T+U+W #define ACTION_2727 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2728: x<-L+M+Q+R+T+V+W #define ACTION_2728 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2729: x<-L+M+Q+R+U+V+W #define ACTION_2729 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2730: x<-L+M+Q+S+T+U+W #define ACTION_2730 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2731: x<-L+M+Q+S+T+V+W #define ACTION_2731 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2732: x<-L+M+Q+S+U+V+W #define ACTION_2732 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2733: x<-L+M+R+S+T+U+W #define ACTION_2733 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2734: x<-L+M+R+S+T+V+W #define ACTION_2734 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2735: x<-L+M+R+S+U+V+W #define ACTION_2735 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2736: x<-L+N+O+Q+T+U+W #define ACTION_2736 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2737: x<-L+N+O+Q+T+V+W #define ACTION_2737 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2738: x<-L+N+O+Q+U+V+W #define ACTION_2738 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2739: x<-L+N+P+Q+T+U+W #define ACTION_2739 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2740: x<-L+N+P+Q+T+V+W #define ACTION_2740 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2741: x<-L+N+P+Q+U+V+W #define ACTION_2741 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2742: x<-L+N+P+R+T+U+W #define ACTION_2742 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2743: x<-L+N+P+R+T+V+W #define ACTION_2743 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2744: x<-L+N+P+R+U+V+W #define ACTION_2744 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2745: x<-L+N+P+S+T+U+W #define ACTION_2745 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2746: x<-L+N+P+S+T+V+W #define ACTION_2746 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2747: x<-L+N+P+S+U+V+W #define ACTION_2747 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2748: x<-L+N+Q+R+T+U+W #define ACTION_2748 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2749: x<-L+N+Q+R+T+V+W #define ACTION_2749 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2750: x<-L+N+Q+R+U+V+W #define ACTION_2750 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2751: x<-L+N+Q+S+T+U+W #define ACTION_2751 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2752: x<-L+N+Q+S+T+V+W #define ACTION_2752 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2753: x<-L+N+Q+S+U+V+W #define ACTION_2753 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2754: x<-L+N+R+S+T+U+W #define ACTION_2754 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2755: x<-L+N+R+S+T+V+W #define ACTION_2755 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2756: x<-L+N+R+S+U+V+W #define ACTION_2756 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c]));continue; // Action 2757: x<-L+O+P+S+T+U+W #define ACTION_2757 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2758: x<-L+O+P+S+T+V+W #define ACTION_2758 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2759: x<-L+O+P+S+U+V+W #define ACTION_2759 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c]));continue; // Action 2760: x<-L+P+Q+R+T+U+W #define ACTION_2760 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2761: x<-L+P+Q+R+T+V+W #define ACTION_2761 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2762: x<-L+P+Q+R+U+V+W #define ACTION_2762 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2763: x<-L+P+Q+S+T+U+W #define ACTION_2763 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2764: x<-L+P+Q+S+T+V+W #define ACTION_2764 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2765: x<-L+P+Q+S+U+V+W #define ACTION_2765 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2766: x<-L+P+R+S+T+U+W #define ACTION_2766 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2767: x<-L+P+R+S+T+V+W #define ACTION_2767 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2768: x<-L+P+R+S+U+V+W #define ACTION_2768 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row11[c]));continue; // Action 2769: x<-M+N+O+Q+T+U+W #define ACTION_2769 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2770: x<-M+N+O+Q+T+V+W #define ACTION_2770 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2771: x<-M+N+O+Q+U+V+W #define ACTION_2771 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2772: x<-M+N+P+Q+T+U+W #define ACTION_2772 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2773: x<-M+N+P+Q+T+V+W #define ACTION_2773 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2774: x<-M+N+P+Q+U+V+W #define ACTION_2774 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2775: x<-M+N+P+R+T+U+W #define ACTION_2775 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2776: x<-M+N+P+R+T+V+W #define ACTION_2776 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2777: x<-M+N+P+R+U+V+W #define ACTION_2777 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2778: x<-M+N+Q+R+T+U+W #define ACTION_2778 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2779: x<-M+N+Q+R+T+V+W #define ACTION_2779 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2780: x<-M+N+Q+R+U+V+W #define ACTION_2780 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2781: x<-M+N+Q+S+T+U+W #define ACTION_2781 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2782: x<-M+N+Q+S+T+V+W #define ACTION_2782 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2783: x<-M+N+Q+S+U+V+W #define ACTION_2783 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2784: x<-M+N+R+S+T+U+W #define ACTION_2784 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2785: x<-M+N+R+S+T+V+W #define ACTION_2785 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2786: x<-M+N+R+S+U+V+W #define ACTION_2786 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row11[c + 2]));continue; // Action 2787: x<-M+O+P+Q+T+U+W #define ACTION_2787 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2788: x<-M+O+P+Q+T+V+W #define ACTION_2788 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2789: x<-M+O+P+Q+U+V+W #define ACTION_2789 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2790: x<-M+O+P+R+T+U+W #define ACTION_2790 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2791: x<-M+O+P+R+T+V+W #define ACTION_2791 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2792: x<-M+O+P+R+U+V+W #define ACTION_2792 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2793: x<-M+O+Q+R+T+U+W #define ACTION_2793 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2794: x<-M+O+Q+R+T+V+W #define ACTION_2794 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2795: x<-M+O+Q+R+U+V+W #define ACTION_2795 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2796: x<-M+O+Q+S+T+U+W #define ACTION_2796 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2797: x<-M+O+Q+S+T+V+W #define ACTION_2797 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2798: x<-M+O+Q+S+U+V+W #define ACTION_2798 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2799: x<-M+O+R+S+T+U+W #define ACTION_2799 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2800: x<-M+O+R+S+T+V+W #define ACTION_2800 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2801: x<-M+O+R+S+U+V+W #define ACTION_2801 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row11[c + 2]));continue; // Action 2802: x<-N+O+Q+R+T+U+W #define ACTION_2802 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2803: x<-N+O+Q+R+T+V+W #define ACTION_2803 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2804: x<-N+O+Q+R+U+V+W #define ACTION_2804 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2805: x<-N+O+Q+S+T+U+W #define ACTION_2805 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2806: x<-N+O+Q+S+T+V+W #define ACTION_2806 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2807: x<-N+O+Q+S+U+V+W #define ACTION_2807 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2808: x<-N+O+R+S+T+U+W #define ACTION_2808 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2809: x<-N+O+R+S+T+V+W #define ACTION_2809 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2810: x<-N+O+R+S+U+V+W #define ACTION_2810 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2811: x<-N+P+Q+R+T+U+W #define ACTION_2811 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2812: x<-N+P+Q+R+T+V+W #define ACTION_2812 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2813: x<-N+P+Q+R+U+V+W #define ACTION_2813 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2814: x<-N+P+Q+S+T+U+W #define ACTION_2814 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2815: x<-N+P+Q+S+T+V+W #define ACTION_2815 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2816: x<-N+P+Q+S+U+V+W #define ACTION_2816 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2817: x<-N+P+R+S+T+U+W #define ACTION_2817 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2818: x<-N+P+R+S+T+V+W #define ACTION_2818 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2819: x<-N+P+R+S+U+V+W #define ACTION_2819 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2820: x<-O+P+Q+R+T+U+W #define ACTION_2820 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2821: x<-O+P+Q+R+T+V+W #define ACTION_2821 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2822: x<-O+P+Q+R+U+V+W #define ACTION_2822 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2823: x<-O+P+Q+S+T+U+W #define ACTION_2823 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2824: x<-O+P+Q+S+T+V+W #define ACTION_2824 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2825: x<-O+P+Q+S+U+V+W #define ACTION_2825 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2826: x<-O+P+R+S+T+U+W #define ACTION_2826 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2827: x<-O+P+R+S+T+V+W #define ACTION_2827 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c - 2], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2828: x<-O+P+R+S+U+V+W #define ACTION_2828 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row11[c + 2]), LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; ================================================ FILE: include/labeling3D_EPDT_22c_action_def_mem.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany // Action 0: nothing #define ACTION_0 img_labels(s + 0, r + 0, c) = 0;continue; // Action 1: x<-newlabel #define ACTION_1 img_labels(s + 0, r + 0, c) = LabelsSolver::MemNewLabel();continue; // Action 2: x<-K #define ACTION_2 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c - 2);continue; // Action 3: x<-L #define ACTION_3 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c);continue; // Action 4: x<-M #define ACTION_4 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c + 2);continue; // Action 5: x<-N #define ACTION_5 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c - 2);continue; // Action 6: x<-O #define ACTION_6 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c);continue; // Action 7: x<-P #define ACTION_7 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c + 2);continue; // Action 8: x<-Q #define ACTION_8 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c - 2);continue; // Action 9: x<-R #define ACTION_9 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c);continue; // Action 10: x<-S #define ACTION_10 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c + 2);continue; // Action 11: x<-T #define ACTION_11 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c - 2);continue; // Action 12: x<-U #define ACTION_12 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c);continue; // Action 13: x<-V #define ACTION_13 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c + 2);continue; // Action 14: x<-W #define ACTION_14 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r + 0, c - 2);continue; // Action 15: x<-K+L #define ACTION_15 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 16: x<-K+M #define ACTION_16 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 17: x<-K+N #define ACTION_17 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 18: x<-K+O #define ACTION_18 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 19: x<-K+P #define ACTION_19 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 20: x<-K+Q #define ACTION_20 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 21: x<-K+R #define ACTION_21 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 22: x<-K+S #define ACTION_22 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 23: x<-K+T #define ACTION_23 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 24: x<-K+U #define ACTION_24 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 25: x<-K+V #define ACTION_25 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 26: x<-K+W #define ACTION_26 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 27: x<-L+M #define ACTION_27 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 28: x<-L+N #define ACTION_28 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 29: x<-L+O #define ACTION_29 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c));continue; // Action 30: x<-L+P #define ACTION_30 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 31: x<-L+Q #define ACTION_31 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 32: x<-L+R #define ACTION_32 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c));continue; // Action 33: x<-L+S #define ACTION_33 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 34: x<-L+T #define ACTION_34 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 35: x<-L+U #define ACTION_35 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c));continue; // Action 36: x<-L+V #define ACTION_36 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 37: x<-L+W #define ACTION_37 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 38: x<-M+N #define ACTION_38 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 39: x<-M+O #define ACTION_39 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 40: x<-M+P #define ACTION_40 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 41: x<-M+Q #define ACTION_41 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 42: x<-M+R #define ACTION_42 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 43: x<-M+S #define ACTION_43 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 44: x<-M+T #define ACTION_44 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 45: x<-M+U #define ACTION_45 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 46: x<-M+V #define ACTION_46 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 47: x<-M+W #define ACTION_47 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 48: x<-N+O #define ACTION_48 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 49: x<-N+P #define ACTION_49 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 50: x<-N+Q #define ACTION_50 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 51: x<-N+R #define ACTION_51 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 52: x<-N+S #define ACTION_52 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 53: x<-N+T #define ACTION_53 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 54: x<-N+U #define ACTION_54 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 55: x<-N+V #define ACTION_55 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 56: x<-N+W #define ACTION_56 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 57: x<-O+P #define ACTION_57 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 58: x<-O+Q #define ACTION_58 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 59: x<-O+R #define ACTION_59 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c));continue; // Action 60: x<-O+S #define ACTION_60 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 61: x<-O+T #define ACTION_61 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 62: x<-O+U #define ACTION_62 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c));continue; // Action 63: x<-O+V #define ACTION_63 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 64: x<-O+W #define ACTION_64 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 65: x<-P+Q #define ACTION_65 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 66: x<-P+R #define ACTION_66 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2));continue; // Action 67: x<-P+S #define ACTION_67 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 68: x<-P+T #define ACTION_68 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 69: x<-P+U #define ACTION_69 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2));continue; // Action 70: x<-P+V #define ACTION_70 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 71: x<-P+W #define ACTION_71 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 72: x<-Q+R #define ACTION_72 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2));continue; // Action 73: x<-Q+S #define ACTION_73 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 74: x<-Q+T #define ACTION_74 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 75: x<-Q+U #define ACTION_75 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2));continue; // Action 76: x<-Q+V #define ACTION_76 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 77: x<-Q+W #define ACTION_77 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 78: x<-R+S #define ACTION_78 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c));continue; // Action 79: x<-R+T #define ACTION_79 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c));continue; // Action 80: x<-R+U #define ACTION_80 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c));continue; // Action 81: x<-R+V #define ACTION_81 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c));continue; // Action 82: x<-R+W #define ACTION_82 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c));continue; // Action 83: x<-S+T #define ACTION_83 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 84: x<-S+U #define ACTION_84 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2));continue; // Action 85: x<-S+V #define ACTION_85 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 86: x<-S+W #define ACTION_86 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 87: x<-T+U #define ACTION_87 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2));continue; // Action 88: x<-T+V #define ACTION_88 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2));continue; // Action 89: x<-T+W #define ACTION_89 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2));continue; // Action 90: x<-U+V #define ACTION_90 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c));continue; // Action 91: x<-U+W #define ACTION_91 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c));continue; // Action 92: x<-V+W #define ACTION_92 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2));continue; // Action 93: x<-K+L+N #define ACTION_93 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 94: x<-K+L+O #define ACTION_94 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 95: x<-K+L+P #define ACTION_95 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 96: x<-K+L+Q #define ACTION_96 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 97: x<-K+L+R #define ACTION_97 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 98: x<-K+L+S #define ACTION_98 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 99: x<-K+L+T #define ACTION_99 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 100: x<-K+L+U #define ACTION_100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 101: x<-K+L+V #define ACTION_101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 102: x<-K+L+W #define ACTION_102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 103: x<-K+M+N #define ACTION_103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 104: x<-K+M+O #define ACTION_104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 105: x<-K+M+P #define ACTION_105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 106: x<-K+M+Q #define ACTION_106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 107: x<-K+M+R #define ACTION_107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 108: x<-K+M+S #define ACTION_108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 109: x<-K+M+T #define ACTION_109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 110: x<-K+M+U #define ACTION_110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 111: x<-K+M+V #define ACTION_111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 112: x<-K+M+W #define ACTION_112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 113: x<-K+N+O #define ACTION_113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 114: x<-K+N+P #define ACTION_114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 115: x<-K+N+R #define ACTION_115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 116: x<-K+N+S #define ACTION_116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 117: x<-K+N+T #define ACTION_117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 118: x<-K+N+U #define ACTION_118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 119: x<-K+N+V #define ACTION_119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 120: x<-K+N+W #define ACTION_120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 121: x<-K+O+P #define ACTION_121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 122: x<-K+O+Q #define ACTION_122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 123: x<-K+O+R #define ACTION_123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 124: x<-K+O+S #define ACTION_124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 125: x<-K+O+T #define ACTION_125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 126: x<-K+O+U #define ACTION_126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 127: x<-K+O+V #define ACTION_127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 128: x<-K+O+W #define ACTION_128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 129: x<-K+P+Q #define ACTION_129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 130: x<-K+P+R #define ACTION_130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 131: x<-K+P+S #define ACTION_131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 132: x<-K+P+T #define ACTION_132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 133: x<-K+P+U #define ACTION_133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 134: x<-K+P+V #define ACTION_134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 135: x<-K+P+W #define ACTION_135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 136: x<-K+Q+R #define ACTION_136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 137: x<-K+Q+S #define ACTION_137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 138: x<-K+Q+T #define ACTION_138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 139: x<-K+Q+U #define ACTION_139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 140: x<-K+Q+V #define ACTION_140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 141: x<-K+Q+W #define ACTION_141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 142: x<-K+R+S #define ACTION_142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 143: x<-K+R+T #define ACTION_143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 144: x<-K+R+U #define ACTION_144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 145: x<-K+R+V #define ACTION_145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 146: x<-K+R+W #define ACTION_146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 147: x<-K+S+T #define ACTION_147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 148: x<-K+S+U #define ACTION_148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 149: x<-K+S+V #define ACTION_149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 150: x<-K+S+W #define ACTION_150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 151: x<-K+T+U #define ACTION_151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 152: x<-K+T+V #define ACTION_152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 153: x<-K+T+W #define ACTION_153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 154: x<-K+U+V #define ACTION_154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 155: x<-K+U+W #define ACTION_155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 156: x<-K+V+W #define ACTION_156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 157: x<-L+M+N #define ACTION_157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 158: x<-L+M+O #define ACTION_158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 159: x<-L+M+P #define ACTION_159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 160: x<-L+M+Q #define ACTION_160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 161: x<-L+M+R #define ACTION_161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 162: x<-L+M+S #define ACTION_162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 163: x<-L+M+T #define ACTION_163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 164: x<-L+M+U #define ACTION_164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 165: x<-L+M+V #define ACTION_165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 166: x<-L+M+W #define ACTION_166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 167: x<-L+N+O #define ACTION_167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 168: x<-L+N+P #define ACTION_168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 169: x<-L+N+Q #define ACTION_169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 170: x<-L+N+R #define ACTION_170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 171: x<-L+N+S #define ACTION_171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 172: x<-L+N+T #define ACTION_172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 173: x<-L+N+U #define ACTION_173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 174: x<-L+N+V #define ACTION_174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 175: x<-L+N+W #define ACTION_175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 176: x<-L+O+P #define ACTION_176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 177: x<-L+O+Q #define ACTION_177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 178: x<-L+O+S #define ACTION_178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 179: x<-L+O+T #define ACTION_179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 180: x<-L+O+U #define ACTION_180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 181: x<-L+O+V #define ACTION_181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 182: x<-L+O+W #define ACTION_182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 183: x<-L+P+Q #define ACTION_183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 184: x<-L+P+R #define ACTION_184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 185: x<-L+P+S #define ACTION_185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 186: x<-L+P+T #define ACTION_186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 187: x<-L+P+U #define ACTION_187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 188: x<-L+P+V #define ACTION_188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 189: x<-L+P+W #define ACTION_189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 190: x<-L+Q+R #define ACTION_190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 191: x<-L+Q+S #define ACTION_191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 192: x<-L+Q+T #define ACTION_192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 193: x<-L+Q+U #define ACTION_193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 194: x<-L+Q+V #define ACTION_194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 195: x<-L+Q+W #define ACTION_195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 196: x<-L+R+S #define ACTION_196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 197: x<-L+R+T #define ACTION_197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 198: x<-L+R+U #define ACTION_198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 199: x<-L+R+V #define ACTION_199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 200: x<-L+R+W #define ACTION_200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 201: x<-L+S+T #define ACTION_201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 202: x<-L+S+U #define ACTION_202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 203: x<-L+S+V #define ACTION_203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 204: x<-L+S+W #define ACTION_204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 205: x<-L+T+U #define ACTION_205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 206: x<-L+T+V #define ACTION_206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 207: x<-L+T+W #define ACTION_207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 208: x<-L+U+V #define ACTION_208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 209: x<-L+U+W #define ACTION_209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 210: x<-L+V+W #define ACTION_210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 211: x<-M+N+O #define ACTION_211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 212: x<-M+N+P #define ACTION_212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 213: x<-M+N+Q #define ACTION_213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 214: x<-M+N+R #define ACTION_214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 215: x<-M+N+S #define ACTION_215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 216: x<-M+N+T #define ACTION_216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 217: x<-M+N+U #define ACTION_217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 218: x<-M+N+V #define ACTION_218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 219: x<-M+N+W #define ACTION_219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 220: x<-M+O+P #define ACTION_220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 221: x<-M+O+Q #define ACTION_221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 222: x<-M+O+R #define ACTION_222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 223: x<-M+O+S #define ACTION_223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 224: x<-M+O+T #define ACTION_224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 225: x<-M+O+U #define ACTION_225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 226: x<-M+O+V #define ACTION_226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 227: x<-M+O+W #define ACTION_227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 228: x<-M+P+Q #define ACTION_228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 229: x<-M+P+R #define ACTION_229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 230: x<-M+P+T #define ACTION_230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 231: x<-M+P+U #define ACTION_231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 232: x<-M+P+V #define ACTION_232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 233: x<-M+P+W #define ACTION_233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 234: x<-M+Q+R #define ACTION_234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 235: x<-M+Q+S #define ACTION_235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 236: x<-M+Q+T #define ACTION_236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 237: x<-M+Q+U #define ACTION_237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 238: x<-M+Q+V #define ACTION_238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 239: x<-M+Q+W #define ACTION_239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 240: x<-M+R+S #define ACTION_240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 241: x<-M+R+T #define ACTION_241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 242: x<-M+R+U #define ACTION_242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 243: x<-M+R+V #define ACTION_243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 244: x<-M+R+W #define ACTION_244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 245: x<-M+S+T #define ACTION_245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 246: x<-M+S+U #define ACTION_246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 247: x<-M+S+V #define ACTION_247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 248: x<-M+S+W #define ACTION_248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 249: x<-M+T+U #define ACTION_249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 250: x<-M+T+V #define ACTION_250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 251: x<-M+T+W #define ACTION_251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 252: x<-M+U+V #define ACTION_252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 253: x<-M+U+W #define ACTION_253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 254: x<-M+V+W #define ACTION_254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 255: x<-N+O+Q #define ACTION_255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 256: x<-N+O+R #define ACTION_256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 257: x<-N+O+S #define ACTION_257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 258: x<-N+O+T #define ACTION_258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 259: x<-N+O+U #define ACTION_259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 260: x<-N+O+V #define ACTION_260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 261: x<-N+O+W #define ACTION_261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 262: x<-N+P+Q #define ACTION_262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 263: x<-N+P+R #define ACTION_263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 264: x<-N+P+S #define ACTION_264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 265: x<-N+P+T #define ACTION_265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 266: x<-N+P+U #define ACTION_266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 267: x<-N+P+V #define ACTION_267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 268: x<-N+P+W #define ACTION_268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 269: x<-N+Q+R #define ACTION_269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 270: x<-N+Q+S #define ACTION_270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 271: x<-N+Q+T #define ACTION_271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 272: x<-N+Q+U #define ACTION_272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 273: x<-N+Q+V #define ACTION_273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 274: x<-N+Q+W #define ACTION_274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 275: x<-N+R+S #define ACTION_275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 276: x<-N+R+T #define ACTION_276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 277: x<-N+R+U #define ACTION_277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 278: x<-N+R+V #define ACTION_278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 279: x<-N+R+W #define ACTION_279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 280: x<-N+S+T #define ACTION_280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 281: x<-N+S+U #define ACTION_281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 282: x<-N+S+V #define ACTION_282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 283: x<-N+S+W #define ACTION_283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 284: x<-N+T+U #define ACTION_284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 285: x<-N+T+V #define ACTION_285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 286: x<-N+T+W #define ACTION_286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 287: x<-N+U+V #define ACTION_287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 288: x<-N+U+W #define ACTION_288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 289: x<-N+V+W #define ACTION_289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 290: x<-O+P+Q #define ACTION_290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 291: x<-O+P+R #define ACTION_291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 292: x<-O+P+S #define ACTION_292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 293: x<-O+P+T #define ACTION_293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 294: x<-O+P+U #define ACTION_294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 295: x<-O+P+V #define ACTION_295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 296: x<-O+P+W #define ACTION_296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 297: x<-O+Q+R #define ACTION_297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 298: x<-O+Q+S #define ACTION_298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 299: x<-O+Q+T #define ACTION_299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 300: x<-O+Q+U #define ACTION_300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 301: x<-O+Q+V #define ACTION_301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 302: x<-O+Q+W #define ACTION_302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 303: x<-O+R+S #define ACTION_303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 304: x<-O+R+T #define ACTION_304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 305: x<-O+R+U #define ACTION_305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 306: x<-O+R+V #define ACTION_306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 307: x<-O+R+W #define ACTION_307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 308: x<-O+S+T #define ACTION_308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 309: x<-O+S+U #define ACTION_309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 310: x<-O+S+V #define ACTION_310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 311: x<-O+S+W #define ACTION_311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 312: x<-O+T+U #define ACTION_312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 313: x<-O+T+V #define ACTION_313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 314: x<-O+T+W #define ACTION_314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 315: x<-O+U+V #define ACTION_315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 316: x<-O+U+W #define ACTION_316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 317: x<-O+V+W #define ACTION_317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 318: x<-P+Q+R #define ACTION_318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 319: x<-P+Q+S #define ACTION_319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 320: x<-P+Q+T #define ACTION_320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 321: x<-P+Q+U #define ACTION_321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 322: x<-P+Q+V #define ACTION_322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 323: x<-P+Q+W #define ACTION_323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 324: x<-P+R+S #define ACTION_324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 325: x<-P+R+T #define ACTION_325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 326: x<-P+R+U #define ACTION_326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 327: x<-P+R+V #define ACTION_327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 328: x<-P+R+W #define ACTION_328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 329: x<-P+S+T #define ACTION_329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 330: x<-P+S+U #define ACTION_330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 331: x<-P+S+V #define ACTION_331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 332: x<-P+S+W #define ACTION_332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 333: x<-P+T+U #define ACTION_333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 334: x<-P+T+V #define ACTION_334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 335: x<-P+T+W #define ACTION_335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 336: x<-P+U+V #define ACTION_336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 337: x<-P+U+W #define ACTION_337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 338: x<-P+V+W #define ACTION_338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 339: x<-Q+R+T #define ACTION_339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 340: x<-Q+R+U #define ACTION_340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 341: x<-Q+R+V #define ACTION_341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 342: x<-Q+R+W #define ACTION_342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 343: x<-Q+S+T #define ACTION_343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 344: x<-Q+S+U #define ACTION_344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 345: x<-Q+S+V #define ACTION_345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 346: x<-Q+S+W #define ACTION_346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 347: x<-Q+T+U #define ACTION_347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 348: x<-Q+T+V #define ACTION_348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 349: x<-Q+T+W #define ACTION_349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 350: x<-Q+U+V #define ACTION_350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 351: x<-Q+U+W #define ACTION_351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 352: x<-Q+V+W #define ACTION_352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 353: x<-R+S+T #define ACTION_353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 354: x<-R+S+U #define ACTION_354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 355: x<-R+S+V #define ACTION_355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 356: x<-R+S+W #define ACTION_356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 357: x<-R+T+U #define ACTION_357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 358: x<-R+T+V #define ACTION_358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 359: x<-R+T+W #define ACTION_359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 360: x<-R+U+V #define ACTION_360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c));continue; // Action 361: x<-R+U+W #define ACTION_361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c));continue; // Action 362: x<-R+V+W #define ACTION_362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 363: x<-S+T+U #define ACTION_363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 364: x<-S+T+V #define ACTION_364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 365: x<-S+T+W #define ACTION_365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 366: x<-S+U+V #define ACTION_366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2));continue; // Action 367: x<-S+U+W #define ACTION_367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2));continue; // Action 368: x<-S+V+W #define ACTION_368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 369: x<-T+U+W #define ACTION_369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2));continue; // Action 370: x<-T+V+W #define ACTION_370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2));continue; // Action 371: x<-U+V+W #define ACTION_371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c));continue; // Action 372: x<-K+L+N+O #define ACTION_372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 373: x<-K+L+N+P #define ACTION_373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 374: x<-K+L+N+R #define ACTION_374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 375: x<-K+L+N+S #define ACTION_375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 376: x<-K+L+N+T #define ACTION_376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 377: x<-K+L+N+U #define ACTION_377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 378: x<-K+L+N+V #define ACTION_378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 379: x<-K+L+N+W #define ACTION_379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 380: x<-K+L+O+P #define ACTION_380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 381: x<-K+L+O+Q #define ACTION_381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 382: x<-K+L+O+S #define ACTION_382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 383: x<-K+L+O+T #define ACTION_383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 384: x<-K+L+O+U #define ACTION_384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 385: x<-K+L+O+V #define ACTION_385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 386: x<-K+L+O+W #define ACTION_386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 387: x<-K+L+P+Q #define ACTION_387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 388: x<-K+L+P+R #define ACTION_388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 389: x<-K+L+P+T #define ACTION_389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 390: x<-K+L+P+U #define ACTION_390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 391: x<-K+L+P+V #define ACTION_391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 392: x<-K+L+P+W #define ACTION_392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 393: x<-K+L+Q+R #define ACTION_393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 394: x<-K+L+Q+S #define ACTION_394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 395: x<-K+L+Q+T #define ACTION_395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 396: x<-K+L+Q+U #define ACTION_396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 397: x<-K+L+Q+V #define ACTION_397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 398: x<-K+L+Q+W #define ACTION_398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 399: x<-K+L+R+S #define ACTION_399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 400: x<-K+L+R+T #define ACTION_400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 401: x<-K+L+R+U #define ACTION_401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 402: x<-K+L+R+V #define ACTION_402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 403: x<-K+L+R+W #define ACTION_403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 404: x<-K+L+S+T #define ACTION_404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 405: x<-K+L+S+U #define ACTION_405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 406: x<-K+L+S+V #define ACTION_406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 407: x<-K+L+S+W #define ACTION_407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 408: x<-K+L+T+U #define ACTION_408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 409: x<-K+L+T+V #define ACTION_409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 410: x<-K+L+T+W #define ACTION_410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 411: x<-K+L+U+V #define ACTION_411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 412: x<-K+L+U+W #define ACTION_412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 413: x<-K+L+V+W #define ACTION_413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 414: x<-K+M+N+O #define ACTION_414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 415: x<-K+M+N+P #define ACTION_415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 416: x<-K+M+N+R #define ACTION_416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 417: x<-K+M+N+S #define ACTION_417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 418: x<-K+M+N+T #define ACTION_418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 419: x<-K+M+N+U #define ACTION_419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 420: x<-K+M+N+V #define ACTION_420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 421: x<-K+M+N+W #define ACTION_421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 422: x<-K+M+O+P #define ACTION_422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 423: x<-K+M+O+Q #define ACTION_423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 424: x<-K+M+O+S #define ACTION_424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 425: x<-K+M+O+T #define ACTION_425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 426: x<-K+M+O+U #define ACTION_426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 427: x<-K+M+O+V #define ACTION_427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 428: x<-K+M+O+W #define ACTION_428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 429: x<-K+M+P+Q #define ACTION_429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 430: x<-K+M+P+R #define ACTION_430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 431: x<-K+M+P+T #define ACTION_431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 432: x<-K+M+P+U #define ACTION_432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 433: x<-K+M+P+V #define ACTION_433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 434: x<-K+M+P+W #define ACTION_434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 435: x<-K+M+Q+R #define ACTION_435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 436: x<-K+M+Q+S #define ACTION_436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 437: x<-K+M+Q+T #define ACTION_437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 438: x<-K+M+Q+U #define ACTION_438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 439: x<-K+M+Q+V #define ACTION_439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 440: x<-K+M+Q+W #define ACTION_440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 441: x<-K+M+R+S #define ACTION_441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 442: x<-K+M+R+T #define ACTION_442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 443: x<-K+M+R+U #define ACTION_443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 444: x<-K+M+R+V #define ACTION_444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 445: x<-K+M+R+W #define ACTION_445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 446: x<-K+M+S+T #define ACTION_446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 447: x<-K+M+S+U #define ACTION_447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 448: x<-K+M+S+V #define ACTION_448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 449: x<-K+M+S+W #define ACTION_449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 450: x<-K+M+T+U #define ACTION_450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 451: x<-K+M+T+V #define ACTION_451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 452: x<-K+M+T+W #define ACTION_452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 453: x<-K+M+U+V #define ACTION_453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 454: x<-K+M+U+W #define ACTION_454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 455: x<-K+M+V+W #define ACTION_455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 456: x<-K+N+O+R #define ACTION_456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 457: x<-K+N+O+S #define ACTION_457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 458: x<-K+N+O+T #define ACTION_458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 459: x<-K+N+O+U #define ACTION_459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 460: x<-K+N+O+V #define ACTION_460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 461: x<-K+N+O+W #define ACTION_461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 462: x<-K+N+P+R #define ACTION_462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 463: x<-K+N+P+S #define ACTION_463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 464: x<-K+N+P+T #define ACTION_464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 465: x<-K+N+P+U #define ACTION_465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 466: x<-K+N+P+V #define ACTION_466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 467: x<-K+N+P+W #define ACTION_467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 468: x<-K+N+R+T #define ACTION_468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 469: x<-K+N+R+U #define ACTION_469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 470: x<-K+N+R+V #define ACTION_470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 471: x<-K+N+R+W #define ACTION_471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 472: x<-K+N+S+T #define ACTION_472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 473: x<-K+N+S+U #define ACTION_473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 474: x<-K+N+S+V #define ACTION_474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 475: x<-K+N+S+W #define ACTION_475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 476: x<-K+N+T+U #define ACTION_476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 477: x<-K+N+T+V #define ACTION_477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 478: x<-K+N+T+W #define ACTION_478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 479: x<-K+N+U+V #define ACTION_479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 480: x<-K+N+U+W #define ACTION_480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 481: x<-K+N+V+W #define ACTION_481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 482: x<-K+O+P+S #define ACTION_482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 483: x<-K+O+P+T #define ACTION_483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 484: x<-K+O+P+U #define ACTION_484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 485: x<-K+O+P+V #define ACTION_485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 486: x<-K+O+P+W #define ACTION_486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 487: x<-K+O+Q+R #define ACTION_487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 488: x<-K+O+Q+S #define ACTION_488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 489: x<-K+O+Q+T #define ACTION_489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 490: x<-K+O+Q+U #define ACTION_490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 491: x<-K+O+Q+V #define ACTION_491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 492: x<-K+O+Q+W #define ACTION_492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 493: x<-K+O+R+S #define ACTION_493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 494: x<-K+O+R+T #define ACTION_494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 495: x<-K+O+R+U #define ACTION_495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 496: x<-K+O+R+V #define ACTION_496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 497: x<-K+O+R+W #define ACTION_497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 498: x<-K+O+S+T #define ACTION_498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 499: x<-K+O+S+U #define ACTION_499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 500: x<-K+O+S+V #define ACTION_500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 501: x<-K+O+S+W #define ACTION_501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 502: x<-K+O+T+U #define ACTION_502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 503: x<-K+O+T+V #define ACTION_503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 504: x<-K+O+T+W #define ACTION_504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 505: x<-K+O+U+V #define ACTION_505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 506: x<-K+O+U+W #define ACTION_506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 507: x<-K+O+V+W #define ACTION_507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 508: x<-K+P+Q+R #define ACTION_508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 509: x<-K+P+Q+S #define ACTION_509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 510: x<-K+P+Q+T #define ACTION_510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 511: x<-K+P+Q+U #define ACTION_511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 512: x<-K+P+Q+V #define ACTION_512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 513: x<-K+P+Q+W #define ACTION_513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 514: x<-K+P+R+S #define ACTION_514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 515: x<-K+P+R+T #define ACTION_515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 516: x<-K+P+R+U #define ACTION_516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 517: x<-K+P+R+V #define ACTION_517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 518: x<-K+P+R+W #define ACTION_518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 519: x<-K+P+S+T #define ACTION_519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 520: x<-K+P+S+U #define ACTION_520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 521: x<-K+P+S+V #define ACTION_521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 522: x<-K+P+S+W #define ACTION_522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 523: x<-K+P+T+U #define ACTION_523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 524: x<-K+P+T+V #define ACTION_524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 525: x<-K+P+T+W #define ACTION_525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 526: x<-K+P+U+V #define ACTION_526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 527: x<-K+P+U+W #define ACTION_527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 528: x<-K+P+V+W #define ACTION_528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 529: x<-K+Q+R+T #define ACTION_529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 530: x<-K+Q+R+U #define ACTION_530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 531: x<-K+Q+R+V #define ACTION_531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 532: x<-K+Q+R+W #define ACTION_532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 533: x<-K+Q+S+T #define ACTION_533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 534: x<-K+Q+S+U #define ACTION_534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 535: x<-K+Q+S+V #define ACTION_535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 536: x<-K+Q+S+W #define ACTION_536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 537: x<-K+Q+T+U #define ACTION_537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 538: x<-K+Q+T+V #define ACTION_538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 539: x<-K+Q+T+W #define ACTION_539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 540: x<-K+Q+U+V #define ACTION_540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 541: x<-K+Q+U+W #define ACTION_541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 542: x<-K+Q+V+W #define ACTION_542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 543: x<-K+R+S+T #define ACTION_543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 544: x<-K+R+S+U #define ACTION_544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 545: x<-K+R+S+V #define ACTION_545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 546: x<-K+R+S+W #define ACTION_546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 547: x<-K+R+T+U #define ACTION_547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 548: x<-K+R+T+V #define ACTION_548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 549: x<-K+R+T+W #define ACTION_549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 550: x<-K+R+U+V #define ACTION_550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 551: x<-K+R+U+W #define ACTION_551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 552: x<-K+R+V+W #define ACTION_552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 553: x<-K+S+T+U #define ACTION_553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 554: x<-K+S+T+V #define ACTION_554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 555: x<-K+S+T+W #define ACTION_555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 556: x<-K+S+U+V #define ACTION_556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 557: x<-K+S+U+W #define ACTION_557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 558: x<-K+S+V+W #define ACTION_558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 559: x<-K+T+U+W #define ACTION_559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 560: x<-K+T+V+W #define ACTION_560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 561: x<-K+U+V+W #define ACTION_561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 562: x<-L+M+N+O #define ACTION_562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 563: x<-L+M+N+P #define ACTION_563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 564: x<-L+M+N+R #define ACTION_564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 565: x<-L+M+N+S #define ACTION_565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 566: x<-L+M+N+T #define ACTION_566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 567: x<-L+M+N+U #define ACTION_567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 568: x<-L+M+N+V #define ACTION_568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 569: x<-L+M+N+W #define ACTION_569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 570: x<-L+M+O+P #define ACTION_570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 571: x<-L+M+O+Q #define ACTION_571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 572: x<-L+M+O+S #define ACTION_572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 573: x<-L+M+O+T #define ACTION_573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 574: x<-L+M+O+U #define ACTION_574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 575: x<-L+M+O+V #define ACTION_575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 576: x<-L+M+O+W #define ACTION_576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 577: x<-L+M+P+Q #define ACTION_577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 578: x<-L+M+P+R #define ACTION_578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 579: x<-L+M+P+T #define ACTION_579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 580: x<-L+M+P+U #define ACTION_580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 581: x<-L+M+P+V #define ACTION_581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 582: x<-L+M+P+W #define ACTION_582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 583: x<-L+M+Q+R #define ACTION_583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 584: x<-L+M+Q+S #define ACTION_584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 585: x<-L+M+Q+T #define ACTION_585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 586: x<-L+M+Q+U #define ACTION_586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 587: x<-L+M+Q+V #define ACTION_587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 588: x<-L+M+Q+W #define ACTION_588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 589: x<-L+M+R+S #define ACTION_589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 590: x<-L+M+R+T #define ACTION_590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 591: x<-L+M+R+U #define ACTION_591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 592: x<-L+M+R+V #define ACTION_592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 593: x<-L+M+R+W #define ACTION_593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 594: x<-L+M+S+T #define ACTION_594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 595: x<-L+M+S+U #define ACTION_595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 596: x<-L+M+S+V #define ACTION_596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 597: x<-L+M+S+W #define ACTION_597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 598: x<-L+M+T+U #define ACTION_598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 599: x<-L+M+T+V #define ACTION_599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 600: x<-L+M+T+W #define ACTION_600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 601: x<-L+M+U+V #define ACTION_601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 602: x<-L+M+U+W #define ACTION_602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 603: x<-L+M+V+W #define ACTION_603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 604: x<-L+N+O+Q #define ACTION_604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 605: x<-L+N+O+T #define ACTION_605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 606: x<-L+N+O+U #define ACTION_606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 607: x<-L+N+O+V #define ACTION_607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 608: x<-L+N+O+W #define ACTION_608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 609: x<-L+N+P+Q #define ACTION_609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 610: x<-L+N+P+R #define ACTION_610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 611: x<-L+N+P+S #define ACTION_611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 612: x<-L+N+P+T #define ACTION_612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 613: x<-L+N+P+U #define ACTION_613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 614: x<-L+N+P+V #define ACTION_614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 615: x<-L+N+P+W #define ACTION_615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 616: x<-L+N+Q+R #define ACTION_616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 617: x<-L+N+Q+S #define ACTION_617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 618: x<-L+N+Q+T #define ACTION_618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 619: x<-L+N+Q+U #define ACTION_619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 620: x<-L+N+Q+V #define ACTION_620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 621: x<-L+N+Q+W #define ACTION_621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 622: x<-L+N+R+S #define ACTION_622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 623: x<-L+N+R+T #define ACTION_623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 624: x<-L+N+R+U #define ACTION_624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 625: x<-L+N+R+V #define ACTION_625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 626: x<-L+N+R+W #define ACTION_626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 627: x<-L+N+S+T #define ACTION_627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 628: x<-L+N+S+U #define ACTION_628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 629: x<-L+N+S+V #define ACTION_629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 630: x<-L+N+S+W #define ACTION_630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 631: x<-L+N+T+U #define ACTION_631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 632: x<-L+N+T+V #define ACTION_632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 633: x<-L+N+T+W #define ACTION_633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 634: x<-L+N+U+V #define ACTION_634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 635: x<-L+N+U+W #define ACTION_635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 636: x<-L+N+V+W #define ACTION_636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 637: x<-L+O+P+S #define ACTION_637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 638: x<-L+O+P+T #define ACTION_638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 639: x<-L+O+P+U #define ACTION_639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 640: x<-L+O+P+V #define ACTION_640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 641: x<-L+O+P+W #define ACTION_641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 642: x<-L+O+Q+T #define ACTION_642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 643: x<-L+O+Q+U #define ACTION_643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 644: x<-L+O+Q+V #define ACTION_644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 645: x<-L+O+Q+W #define ACTION_645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 646: x<-L+O+S+T #define ACTION_646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 647: x<-L+O+S+U #define ACTION_647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 648: x<-L+O+S+V #define ACTION_648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 649: x<-L+O+S+W #define ACTION_649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 650: x<-L+O+T+U #define ACTION_650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 651: x<-L+O+T+V #define ACTION_651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 652: x<-L+O+T+W #define ACTION_652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 653: x<-L+O+U+V #define ACTION_653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 654: x<-L+O+U+W #define ACTION_654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 655: x<-L+O+V+W #define ACTION_655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 656: x<-L+P+Q+R #define ACTION_656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 657: x<-L+P+Q+S #define ACTION_657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 658: x<-L+P+Q+T #define ACTION_658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 659: x<-L+P+Q+U #define ACTION_659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 660: x<-L+P+Q+V #define ACTION_660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 661: x<-L+P+Q+W #define ACTION_661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 662: x<-L+P+R+S #define ACTION_662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 663: x<-L+P+R+T #define ACTION_663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 664: x<-L+P+R+U #define ACTION_664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 665: x<-L+P+R+V #define ACTION_665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 666: x<-L+P+R+W #define ACTION_666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 667: x<-L+P+S+T #define ACTION_667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 668: x<-L+P+S+U #define ACTION_668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 669: x<-L+P+S+V #define ACTION_669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 670: x<-L+P+S+W #define ACTION_670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 671: x<-L+P+T+U #define ACTION_671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 672: x<-L+P+T+V #define ACTION_672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 673: x<-L+P+T+W #define ACTION_673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 674: x<-L+P+U+V #define ACTION_674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 675: x<-L+P+U+W #define ACTION_675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 676: x<-L+P+V+W #define ACTION_676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 677: x<-L+Q+R+T #define ACTION_677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 678: x<-L+Q+R+U #define ACTION_678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 679: x<-L+Q+R+V #define ACTION_679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 680: x<-L+Q+R+W #define ACTION_680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 681: x<-L+Q+S+T #define ACTION_681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 682: x<-L+Q+S+U #define ACTION_682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 683: x<-L+Q+S+V #define ACTION_683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 684: x<-L+Q+S+W #define ACTION_684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 685: x<-L+Q+T+U #define ACTION_685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 686: x<-L+Q+T+V #define ACTION_686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 687: x<-L+Q+T+W #define ACTION_687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 688: x<-L+Q+U+V #define ACTION_688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 689: x<-L+Q+U+W #define ACTION_689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 690: x<-L+Q+V+W #define ACTION_690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 691: x<-L+R+S+T #define ACTION_691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 692: x<-L+R+S+U #define ACTION_692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 693: x<-L+R+S+V #define ACTION_693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 694: x<-L+R+S+W #define ACTION_694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 695: x<-L+R+T+U #define ACTION_695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 696: x<-L+R+T+V #define ACTION_696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 697: x<-L+R+T+W #define ACTION_697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 698: x<-L+R+U+V #define ACTION_698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 699: x<-L+R+U+W #define ACTION_699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 700: x<-L+R+V+W #define ACTION_700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 701: x<-L+S+T+U #define ACTION_701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 702: x<-L+S+T+V #define ACTION_702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 703: x<-L+S+T+W #define ACTION_703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 704: x<-L+S+U+V #define ACTION_704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 705: x<-L+S+U+W #define ACTION_705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 706: x<-L+S+V+W #define ACTION_706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 707: x<-L+T+U+W #define ACTION_707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 708: x<-L+T+V+W #define ACTION_708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 709: x<-L+U+V+W #define ACTION_709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 710: x<-M+N+O+Q #define ACTION_710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 711: x<-M+N+O+T #define ACTION_711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 712: x<-M+N+O+U #define ACTION_712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 713: x<-M+N+O+V #define ACTION_713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 714: x<-M+N+O+W #define ACTION_714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 715: x<-M+N+P+Q #define ACTION_715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 716: x<-M+N+P+R #define ACTION_716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 717: x<-M+N+P+T #define ACTION_717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 718: x<-M+N+P+U #define ACTION_718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 719: x<-M+N+P+V #define ACTION_719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 720: x<-M+N+P+W #define ACTION_720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 721: x<-M+N+Q+R #define ACTION_721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 722: x<-M+N+Q+S #define ACTION_722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 723: x<-M+N+Q+T #define ACTION_723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 724: x<-M+N+Q+U #define ACTION_724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 725: x<-M+N+Q+V #define ACTION_725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 726: x<-M+N+Q+W #define ACTION_726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 727: x<-M+N+R+S #define ACTION_727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 728: x<-M+N+R+T #define ACTION_728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 729: x<-M+N+R+U #define ACTION_729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 730: x<-M+N+R+V #define ACTION_730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 731: x<-M+N+R+W #define ACTION_731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 732: x<-M+N+S+T #define ACTION_732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 733: x<-M+N+S+U #define ACTION_733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 734: x<-M+N+S+V #define ACTION_734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 735: x<-M+N+S+W #define ACTION_735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 736: x<-M+N+T+U #define ACTION_736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 737: x<-M+N+T+V #define ACTION_737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 738: x<-M+N+T+W #define ACTION_738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 739: x<-M+N+U+V #define ACTION_739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 740: x<-M+N+U+W #define ACTION_740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 741: x<-M+N+V+W #define ACTION_741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 742: x<-M+O+P+Q #define ACTION_742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 743: x<-M+O+P+R #define ACTION_743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 744: x<-M+O+P+T #define ACTION_744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 745: x<-M+O+P+U #define ACTION_745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 746: x<-M+O+P+V #define ACTION_746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 747: x<-M+O+P+W #define ACTION_747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 748: x<-M+O+Q+R #define ACTION_748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 749: x<-M+O+Q+S #define ACTION_749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 750: x<-M+O+Q+T #define ACTION_750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 751: x<-M+O+Q+U #define ACTION_751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 752: x<-M+O+Q+V #define ACTION_752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 753: x<-M+O+Q+W #define ACTION_753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 754: x<-M+O+R+S #define ACTION_754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 755: x<-M+O+R+T #define ACTION_755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 756: x<-M+O+R+U #define ACTION_756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 757: x<-M+O+R+V #define ACTION_757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 758: x<-M+O+R+W #define ACTION_758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 759: x<-M+O+S+T #define ACTION_759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 760: x<-M+O+S+U #define ACTION_760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 761: x<-M+O+S+V #define ACTION_761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 762: x<-M+O+S+W #define ACTION_762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 763: x<-M+O+T+U #define ACTION_763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 764: x<-M+O+T+V #define ACTION_764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 765: x<-M+O+T+W #define ACTION_765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 766: x<-M+O+U+V #define ACTION_766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 767: x<-M+O+U+W #define ACTION_767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 768: x<-M+O+V+W #define ACTION_768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 769: x<-M+P+Q+T #define ACTION_769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 770: x<-M+P+Q+U #define ACTION_770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 771: x<-M+P+Q+V #define ACTION_771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 772: x<-M+P+Q+W #define ACTION_772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 773: x<-M+P+R+T #define ACTION_773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 774: x<-M+P+R+U #define ACTION_774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 775: x<-M+P+R+V #define ACTION_775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 776: x<-M+P+R+W #define ACTION_776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 777: x<-M+P+T+U #define ACTION_777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 778: x<-M+P+T+V #define ACTION_778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 779: x<-M+P+T+W #define ACTION_779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 780: x<-M+P+U+V #define ACTION_780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 781: x<-M+P+U+W #define ACTION_781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 782: x<-M+P+V+W #define ACTION_782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 783: x<-M+Q+R+T #define ACTION_783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 784: x<-M+Q+R+U #define ACTION_784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 785: x<-M+Q+R+V #define ACTION_785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 786: x<-M+Q+R+W #define ACTION_786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 787: x<-M+Q+S+T #define ACTION_787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 788: x<-M+Q+S+U #define ACTION_788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 789: x<-M+Q+S+V #define ACTION_789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 790: x<-M+Q+S+W #define ACTION_790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 791: x<-M+Q+T+U #define ACTION_791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 792: x<-M+Q+T+V #define ACTION_792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 793: x<-M+Q+T+W #define ACTION_793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 794: x<-M+Q+U+V #define ACTION_794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 795: x<-M+Q+U+W #define ACTION_795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 796: x<-M+Q+V+W #define ACTION_796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 797: x<-M+R+S+T #define ACTION_797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 798: x<-M+R+S+U #define ACTION_798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 799: x<-M+R+S+V #define ACTION_799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 800: x<-M+R+S+W #define ACTION_800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 801: x<-M+R+T+U #define ACTION_801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 802: x<-M+R+T+V #define ACTION_802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 803: x<-M+R+T+W #define ACTION_803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 804: x<-M+R+U+V #define ACTION_804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 805: x<-M+R+U+W #define ACTION_805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 806: x<-M+R+V+W #define ACTION_806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 807: x<-M+S+T+U #define ACTION_807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 808: x<-M+S+T+V #define ACTION_808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 809: x<-M+S+T+W #define ACTION_809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 810: x<-M+S+U+V #define ACTION_810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 811: x<-M+S+U+W #define ACTION_811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 812: x<-M+S+V+W #define ACTION_812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 813: x<-M+T+U+W #define ACTION_813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 814: x<-M+T+V+W #define ACTION_814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 815: x<-M+U+V+W #define ACTION_815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 816: x<-N+O+Q+R #define ACTION_816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 817: x<-N+O+Q+S #define ACTION_817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 818: x<-N+O+Q+T #define ACTION_818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 819: x<-N+O+Q+U #define ACTION_819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 820: x<-N+O+Q+V #define ACTION_820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 821: x<-N+O+Q+W #define ACTION_821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 822: x<-N+O+R+S #define ACTION_822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 823: x<-N+O+R+T #define ACTION_823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 824: x<-N+O+R+U #define ACTION_824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 825: x<-N+O+R+V #define ACTION_825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 826: x<-N+O+R+W #define ACTION_826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 827: x<-N+O+S+T #define ACTION_827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 828: x<-N+O+S+U #define ACTION_828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 829: x<-N+O+S+V #define ACTION_829 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 830: x<-N+O+S+W #define ACTION_830 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 831: x<-N+O+T+U #define ACTION_831 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 832: x<-N+O+T+V #define ACTION_832 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 833: x<-N+O+T+W #define ACTION_833 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 834: x<-N+O+U+V #define ACTION_834 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 835: x<-N+O+U+W #define ACTION_835 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 836: x<-N+O+V+W #define ACTION_836 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 837: x<-N+P+Q+R #define ACTION_837 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 838: x<-N+P+Q+S #define ACTION_838 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 839: x<-N+P+Q+T #define ACTION_839 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 840: x<-N+P+Q+U #define ACTION_840 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 841: x<-N+P+Q+V #define ACTION_841 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 842: x<-N+P+Q+W #define ACTION_842 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 843: x<-N+P+R+S #define ACTION_843 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 844: x<-N+P+R+T #define ACTION_844 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 845: x<-N+P+R+U #define ACTION_845 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 846: x<-N+P+R+V #define ACTION_846 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 847: x<-N+P+R+W #define ACTION_847 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 848: x<-N+P+S+T #define ACTION_848 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 849: x<-N+P+S+U #define ACTION_849 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 850: x<-N+P+S+V #define ACTION_850 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 851: x<-N+P+S+W #define ACTION_851 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 852: x<-N+P+T+U #define ACTION_852 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 853: x<-N+P+T+V #define ACTION_853 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 854: x<-N+P+T+W #define ACTION_854 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 855: x<-N+P+U+V #define ACTION_855 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 856: x<-N+P+U+W #define ACTION_856 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 857: x<-N+P+V+W #define ACTION_857 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 858: x<-N+Q+R+T #define ACTION_858 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 859: x<-N+Q+R+U #define ACTION_859 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 860: x<-N+Q+R+V #define ACTION_860 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 861: x<-N+Q+R+W #define ACTION_861 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 862: x<-N+Q+S+T #define ACTION_862 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 863: x<-N+Q+S+U #define ACTION_863 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 864: x<-N+Q+S+V #define ACTION_864 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 865: x<-N+Q+S+W #define ACTION_865 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 866: x<-N+Q+T+U #define ACTION_866 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 867: x<-N+Q+T+V #define ACTION_867 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 868: x<-N+Q+T+W #define ACTION_868 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 869: x<-N+Q+U+V #define ACTION_869 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 870: x<-N+Q+U+W #define ACTION_870 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 871: x<-N+Q+V+W #define ACTION_871 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 872: x<-N+R+S+T #define ACTION_872 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 873: x<-N+R+S+U #define ACTION_873 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 874: x<-N+R+S+V #define ACTION_874 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 875: x<-N+R+S+W #define ACTION_875 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 876: x<-N+R+T+U #define ACTION_876 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 877: x<-N+R+T+V #define ACTION_877 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 878: x<-N+R+T+W #define ACTION_878 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 879: x<-N+R+U+V #define ACTION_879 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 880: x<-N+R+U+W #define ACTION_880 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 881: x<-N+R+V+W #define ACTION_881 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 882: x<-N+S+T+U #define ACTION_882 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 883: x<-N+S+T+V #define ACTION_883 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 884: x<-N+S+T+W #define ACTION_884 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 885: x<-N+S+U+V #define ACTION_885 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 886: x<-N+S+U+W #define ACTION_886 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 887: x<-N+S+V+W #define ACTION_887 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 888: x<-N+T+U+W #define ACTION_888 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 889: x<-N+T+V+W #define ACTION_889 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 890: x<-N+U+V+W #define ACTION_890 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 891: x<-O+P+Q+R #define ACTION_891 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 892: x<-O+P+Q+S #define ACTION_892 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 893: x<-O+P+Q+T #define ACTION_893 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 894: x<-O+P+Q+U #define ACTION_894 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 895: x<-O+P+Q+V #define ACTION_895 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 896: x<-O+P+Q+W #define ACTION_896 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 897: x<-O+P+R+S #define ACTION_897 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 898: x<-O+P+R+T #define ACTION_898 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 899: x<-O+P+R+U #define ACTION_899 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 900: x<-O+P+R+V #define ACTION_900 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 901: x<-O+P+R+W #define ACTION_901 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 902: x<-O+P+S+T #define ACTION_902 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 903: x<-O+P+S+U #define ACTION_903 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 904: x<-O+P+S+V #define ACTION_904 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 905: x<-O+P+S+W #define ACTION_905 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 906: x<-O+P+T+U #define ACTION_906 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 907: x<-O+P+T+V #define ACTION_907 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 908: x<-O+P+T+W #define ACTION_908 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 909: x<-O+P+U+V #define ACTION_909 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 910: x<-O+P+U+W #define ACTION_910 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 911: x<-O+P+V+W #define ACTION_911 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 912: x<-O+Q+R+T #define ACTION_912 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 913: x<-O+Q+R+U #define ACTION_913 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 914: x<-O+Q+R+V #define ACTION_914 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 915: x<-O+Q+R+W #define ACTION_915 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 916: x<-O+Q+S+T #define ACTION_916 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 917: x<-O+Q+S+U #define ACTION_917 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 918: x<-O+Q+S+V #define ACTION_918 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 919: x<-O+Q+S+W #define ACTION_919 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 920: x<-O+Q+T+U #define ACTION_920 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 921: x<-O+Q+T+V #define ACTION_921 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 922: x<-O+Q+T+W #define ACTION_922 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 923: x<-O+Q+U+V #define ACTION_923 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 924: x<-O+Q+U+W #define ACTION_924 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 925: x<-O+Q+V+W #define ACTION_925 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 926: x<-O+R+S+T #define ACTION_926 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 927: x<-O+R+S+U #define ACTION_927 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 928: x<-O+R+S+V #define ACTION_928 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 929: x<-O+R+S+W #define ACTION_929 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 930: x<-O+R+T+U #define ACTION_930 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 931: x<-O+R+T+V #define ACTION_931 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 932: x<-O+R+T+W #define ACTION_932 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 933: x<-O+R+U+V #define ACTION_933 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 934: x<-O+R+U+W #define ACTION_934 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 935: x<-O+R+V+W #define ACTION_935 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 936: x<-O+S+T+U #define ACTION_936 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 937: x<-O+S+T+V #define ACTION_937 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 938: x<-O+S+T+W #define ACTION_938 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 939: x<-O+S+U+V #define ACTION_939 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 940: x<-O+S+U+W #define ACTION_940 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 941: x<-O+S+V+W #define ACTION_941 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 942: x<-O+T+U+W #define ACTION_942 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 943: x<-O+T+V+W #define ACTION_943 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 944: x<-O+U+V+W #define ACTION_944 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 945: x<-P+Q+R+T #define ACTION_945 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 946: x<-P+Q+R+U #define ACTION_946 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 947: x<-P+Q+R+V #define ACTION_947 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 948: x<-P+Q+R+W #define ACTION_948 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 949: x<-P+Q+S+T #define ACTION_949 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 950: x<-P+Q+S+U #define ACTION_950 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 951: x<-P+Q+S+V #define ACTION_951 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 952: x<-P+Q+S+W #define ACTION_952 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 953: x<-P+Q+T+U #define ACTION_953 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 954: x<-P+Q+T+V #define ACTION_954 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 955: x<-P+Q+T+W #define ACTION_955 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 956: x<-P+Q+U+V #define ACTION_956 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 957: x<-P+Q+U+W #define ACTION_957 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 958: x<-P+Q+V+W #define ACTION_958 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 959: x<-P+R+S+T #define ACTION_959 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 960: x<-P+R+S+U #define ACTION_960 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 961: x<-P+R+S+V #define ACTION_961 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 962: x<-P+R+S+W #define ACTION_962 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 963: x<-P+R+T+U #define ACTION_963 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 964: x<-P+R+T+V #define ACTION_964 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 965: x<-P+R+T+W #define ACTION_965 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 966: x<-P+R+U+V #define ACTION_966 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 967: x<-P+R+U+W #define ACTION_967 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 968: x<-P+R+V+W #define ACTION_968 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 969: x<-P+S+T+U #define ACTION_969 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 970: x<-P+S+T+V #define ACTION_970 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 971: x<-P+S+T+W #define ACTION_971 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 972: x<-P+S+U+V #define ACTION_972 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 973: x<-P+S+U+W #define ACTION_973 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 974: x<-P+S+V+W #define ACTION_974 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 975: x<-P+T+U+W #define ACTION_975 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 976: x<-P+T+V+W #define ACTION_976 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 977: x<-P+U+V+W #define ACTION_977 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 978: x<-Q+R+T+U #define ACTION_978 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 979: x<-Q+R+T+V #define ACTION_979 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 980: x<-Q+R+T+W #define ACTION_980 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 981: x<-Q+R+U+V #define ACTION_981 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 982: x<-Q+R+U+W #define ACTION_982 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 983: x<-Q+R+V+W #define ACTION_983 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 984: x<-Q+S+T+U #define ACTION_984 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 985: x<-Q+S+T+V #define ACTION_985 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 986: x<-Q+S+T+W #define ACTION_986 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 987: x<-Q+S+U+V #define ACTION_987 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 988: x<-Q+S+U+W #define ACTION_988 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 989: x<-Q+S+V+W #define ACTION_989 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 990: x<-Q+T+U+W #define ACTION_990 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 991: x<-Q+T+V+W #define ACTION_991 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 992: x<-Q+U+V+W #define ACTION_992 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 993: x<-R+S+T+U #define ACTION_993 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 994: x<-R+S+T+V #define ACTION_994 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 995: x<-R+S+T+W #define ACTION_995 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 996: x<-R+S+U+V #define ACTION_996 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 997: x<-R+S+U+W #define ACTION_997 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 998: x<-R+S+V+W #define ACTION_998 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 999: x<-R+T+U+W #define ACTION_999 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)));continue; // Action 1000: x<-R+T+V+W #define ACTION_1000 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)));continue; // Action 1001: x<-R+U+V+W #define ACTION_1001 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)));continue; // Action 1002: x<-S+T+U+W #define ACTION_1002 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1003: x<-S+T+V+W #define ACTION_1003 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1004: x<-S+U+V+W #define ACTION_1004 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1005: x<-K+L+N+O+T #define ACTION_1005 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1006: x<-K+L+N+O+U #define ACTION_1006 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1007: x<-K+L+N+O+V #define ACTION_1007 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1008: x<-K+L+N+O+W #define ACTION_1008 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1009: x<-K+L+N+P+T #define ACTION_1009 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1010: x<-K+L+N+P+U #define ACTION_1010 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1011: x<-K+L+N+P+V #define ACTION_1011 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1012: x<-K+L+N+P+W #define ACTION_1012 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1013: x<-K+L+N+R+T #define ACTION_1013 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1014: x<-K+L+N+R+U #define ACTION_1014 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1015: x<-K+L+N+R+V #define ACTION_1015 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1016: x<-K+L+N+R+W #define ACTION_1016 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1017: x<-K+L+N+S+T #define ACTION_1017 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1018: x<-K+L+N+S+U #define ACTION_1018 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1019: x<-K+L+N+S+V #define ACTION_1019 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1020: x<-K+L+N+S+W #define ACTION_1020 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1021: x<-K+L+N+T+U #define ACTION_1021 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1022: x<-K+L+N+T+V #define ACTION_1022 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1023: x<-K+L+N+T+W #define ACTION_1023 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1024: x<-K+L+N+U+V #define ACTION_1024 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1025: x<-K+L+N+U+W #define ACTION_1025 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1026: x<-K+L+N+V+W #define ACTION_1026 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1027: x<-K+L+O+P+T #define ACTION_1027 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1028: x<-K+L+O+P+U #define ACTION_1028 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1029: x<-K+L+O+P+V #define ACTION_1029 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1030: x<-K+L+O+P+W #define ACTION_1030 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1031: x<-K+L+O+Q+T #define ACTION_1031 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1032: x<-K+L+O+Q+U #define ACTION_1032 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1033: x<-K+L+O+Q+V #define ACTION_1033 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1034: x<-K+L+O+Q+W #define ACTION_1034 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1035: x<-K+L+O+S+T #define ACTION_1035 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1036: x<-K+L+O+S+U #define ACTION_1036 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1037: x<-K+L+O+S+V #define ACTION_1037 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1038: x<-K+L+O+S+W #define ACTION_1038 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1039: x<-K+L+O+T+U #define ACTION_1039 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1040: x<-K+L+O+T+V #define ACTION_1040 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1041: x<-K+L+O+T+W #define ACTION_1041 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1042: x<-K+L+O+U+V #define ACTION_1042 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1043: x<-K+L+O+U+W #define ACTION_1043 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1044: x<-K+L+O+V+W #define ACTION_1044 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1045: x<-K+L+P+Q+T #define ACTION_1045 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1046: x<-K+L+P+Q+U #define ACTION_1046 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1047: x<-K+L+P+Q+V #define ACTION_1047 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1048: x<-K+L+P+Q+W #define ACTION_1048 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1049: x<-K+L+P+R+T #define ACTION_1049 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1050: x<-K+L+P+R+U #define ACTION_1050 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1051: x<-K+L+P+R+V #define ACTION_1051 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1052: x<-K+L+P+R+W #define ACTION_1052 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1053: x<-K+L+P+T+U #define ACTION_1053 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1054: x<-K+L+P+T+V #define ACTION_1054 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1055: x<-K+L+P+T+W #define ACTION_1055 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1056: x<-K+L+P+U+V #define ACTION_1056 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1057: x<-K+L+P+U+W #define ACTION_1057 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1058: x<-K+L+P+V+W #define ACTION_1058 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1059: x<-K+L+Q+R+T #define ACTION_1059 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1060: x<-K+L+Q+R+U #define ACTION_1060 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1061: x<-K+L+Q+R+V #define ACTION_1061 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1062: x<-K+L+Q+R+W #define ACTION_1062 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1063: x<-K+L+Q+S+T #define ACTION_1063 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1064: x<-K+L+Q+S+U #define ACTION_1064 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1065: x<-K+L+Q+S+V #define ACTION_1065 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1066: x<-K+L+Q+S+W #define ACTION_1066 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1067: x<-K+L+Q+T+U #define ACTION_1067 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1068: x<-K+L+Q+T+V #define ACTION_1068 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1069: x<-K+L+Q+T+W #define ACTION_1069 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1070: x<-K+L+Q+U+V #define ACTION_1070 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1071: x<-K+L+Q+U+W #define ACTION_1071 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1072: x<-K+L+Q+V+W #define ACTION_1072 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1073: x<-K+L+R+S+T #define ACTION_1073 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1074: x<-K+L+R+S+U #define ACTION_1074 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1075: x<-K+L+R+S+V #define ACTION_1075 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1076: x<-K+L+R+S+W #define ACTION_1076 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1077: x<-K+L+R+T+U #define ACTION_1077 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1078: x<-K+L+R+T+V #define ACTION_1078 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1079: x<-K+L+R+T+W #define ACTION_1079 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1080: x<-K+L+R+U+V #define ACTION_1080 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1081: x<-K+L+R+U+W #define ACTION_1081 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1082: x<-K+L+R+V+W #define ACTION_1082 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1083: x<-K+L+S+T+U #define ACTION_1083 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1084: x<-K+L+S+T+V #define ACTION_1084 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1085: x<-K+L+S+T+W #define ACTION_1085 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1086: x<-K+L+S+U+V #define ACTION_1086 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1087: x<-K+L+S+U+W #define ACTION_1087 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1088: x<-K+L+S+V+W #define ACTION_1088 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1089: x<-K+L+T+U+W #define ACTION_1089 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1090: x<-K+L+T+V+W #define ACTION_1090 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1091: x<-K+L+U+V+W #define ACTION_1091 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1092: x<-K+M+N+O+T #define ACTION_1092 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1093: x<-K+M+N+O+U #define ACTION_1093 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1094: x<-K+M+N+O+V #define ACTION_1094 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1095: x<-K+M+N+O+W #define ACTION_1095 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1096: x<-K+M+N+P+T #define ACTION_1096 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1097: x<-K+M+N+P+U #define ACTION_1097 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1098: x<-K+M+N+P+V #define ACTION_1098 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1099: x<-K+M+N+P+W #define ACTION_1099 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1100: x<-K+M+N+R+T #define ACTION_1100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1101: x<-K+M+N+R+U #define ACTION_1101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1102: x<-K+M+N+R+V #define ACTION_1102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1103: x<-K+M+N+R+W #define ACTION_1103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1104: x<-K+M+N+S+T #define ACTION_1104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1105: x<-K+M+N+S+U #define ACTION_1105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1106: x<-K+M+N+S+V #define ACTION_1106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1107: x<-K+M+N+S+W #define ACTION_1107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1108: x<-K+M+N+T+U #define ACTION_1108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1109: x<-K+M+N+T+V #define ACTION_1109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1110: x<-K+M+N+T+W #define ACTION_1110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1111: x<-K+M+N+U+V #define ACTION_1111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1112: x<-K+M+N+U+W #define ACTION_1112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1113: x<-K+M+N+V+W #define ACTION_1113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1114: x<-K+M+O+P+T #define ACTION_1114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1115: x<-K+M+O+P+U #define ACTION_1115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1116: x<-K+M+O+P+V #define ACTION_1116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1117: x<-K+M+O+P+W #define ACTION_1117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1118: x<-K+M+O+Q+T #define ACTION_1118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1119: x<-K+M+O+Q+U #define ACTION_1119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1120: x<-K+M+O+Q+V #define ACTION_1120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1121: x<-K+M+O+Q+W #define ACTION_1121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1122: x<-K+M+O+S+T #define ACTION_1122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1123: x<-K+M+O+S+U #define ACTION_1123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1124: x<-K+M+O+S+V #define ACTION_1124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1125: x<-K+M+O+S+W #define ACTION_1125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1126: x<-K+M+O+T+U #define ACTION_1126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1127: x<-K+M+O+T+V #define ACTION_1127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1128: x<-K+M+O+T+W #define ACTION_1128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1129: x<-K+M+O+U+V #define ACTION_1129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1130: x<-K+M+O+U+W #define ACTION_1130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1131: x<-K+M+O+V+W #define ACTION_1131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1132: x<-K+M+P+Q+T #define ACTION_1132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1133: x<-K+M+P+Q+U #define ACTION_1133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1134: x<-K+M+P+Q+V #define ACTION_1134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1135: x<-K+M+P+Q+W #define ACTION_1135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1136: x<-K+M+P+R+T #define ACTION_1136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1137: x<-K+M+P+R+U #define ACTION_1137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1138: x<-K+M+P+R+V #define ACTION_1138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1139: x<-K+M+P+R+W #define ACTION_1139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1140: x<-K+M+P+T+U #define ACTION_1140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1141: x<-K+M+P+T+V #define ACTION_1141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1142: x<-K+M+P+T+W #define ACTION_1142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1143: x<-K+M+P+U+V #define ACTION_1143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1144: x<-K+M+P+U+W #define ACTION_1144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1145: x<-K+M+P+V+W #define ACTION_1145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1146: x<-K+M+Q+R+T #define ACTION_1146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1147: x<-K+M+Q+R+U #define ACTION_1147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1148: x<-K+M+Q+R+V #define ACTION_1148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1149: x<-K+M+Q+R+W #define ACTION_1149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1150: x<-K+M+Q+S+T #define ACTION_1150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1151: x<-K+M+Q+S+U #define ACTION_1151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1152: x<-K+M+Q+S+V #define ACTION_1152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1153: x<-K+M+Q+S+W #define ACTION_1153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1154: x<-K+M+Q+T+U #define ACTION_1154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1155: x<-K+M+Q+T+V #define ACTION_1155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1156: x<-K+M+Q+T+W #define ACTION_1156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1157: x<-K+M+Q+U+V #define ACTION_1157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1158: x<-K+M+Q+U+W #define ACTION_1158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1159: x<-K+M+Q+V+W #define ACTION_1159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1160: x<-K+M+R+S+T #define ACTION_1160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1161: x<-K+M+R+S+U #define ACTION_1161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1162: x<-K+M+R+S+V #define ACTION_1162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1163: x<-K+M+R+S+W #define ACTION_1163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1164: x<-K+M+R+T+U #define ACTION_1164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1165: x<-K+M+R+T+V #define ACTION_1165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1166: x<-K+M+R+T+W #define ACTION_1166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1167: x<-K+M+R+U+V #define ACTION_1167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1168: x<-K+M+R+U+W #define ACTION_1168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1169: x<-K+M+R+V+W #define ACTION_1169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1170: x<-K+M+S+T+U #define ACTION_1170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1171: x<-K+M+S+T+V #define ACTION_1171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1172: x<-K+M+S+T+W #define ACTION_1172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1173: x<-K+M+S+U+V #define ACTION_1173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1174: x<-K+M+S+U+W #define ACTION_1174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1175: x<-K+M+S+V+W #define ACTION_1175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1176: x<-K+M+T+U+W #define ACTION_1176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1177: x<-K+M+T+V+W #define ACTION_1177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1178: x<-K+M+U+V+W #define ACTION_1178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1179: x<-K+N+O+R+T #define ACTION_1179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1180: x<-K+N+O+R+U #define ACTION_1180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1181: x<-K+N+O+R+V #define ACTION_1181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1182: x<-K+N+O+R+W #define ACTION_1182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1183: x<-K+N+O+S+T #define ACTION_1183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1184: x<-K+N+O+S+U #define ACTION_1184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1185: x<-K+N+O+S+V #define ACTION_1185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1186: x<-K+N+O+S+W #define ACTION_1186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1187: x<-K+N+O+T+U #define ACTION_1187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1188: x<-K+N+O+T+V #define ACTION_1188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1189: x<-K+N+O+T+W #define ACTION_1189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1190: x<-K+N+O+U+V #define ACTION_1190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1191: x<-K+N+O+U+W #define ACTION_1191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1192: x<-K+N+O+V+W #define ACTION_1192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1193: x<-K+N+P+R+T #define ACTION_1193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1194: x<-K+N+P+R+U #define ACTION_1194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1195: x<-K+N+P+R+V #define ACTION_1195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1196: x<-K+N+P+R+W #define ACTION_1196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1197: x<-K+N+P+S+T #define ACTION_1197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1198: x<-K+N+P+S+U #define ACTION_1198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1199: x<-K+N+P+S+V #define ACTION_1199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1200: x<-K+N+P+S+W #define ACTION_1200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1201: x<-K+N+P+T+U #define ACTION_1201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1202: x<-K+N+P+T+V #define ACTION_1202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1203: x<-K+N+P+T+W #define ACTION_1203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1204: x<-K+N+P+U+V #define ACTION_1204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1205: x<-K+N+P+U+W #define ACTION_1205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1206: x<-K+N+P+V+W #define ACTION_1206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1207: x<-K+N+R+T+U #define ACTION_1207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1208: x<-K+N+R+T+V #define ACTION_1208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1209: x<-K+N+R+T+W #define ACTION_1209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1210: x<-K+N+R+U+V #define ACTION_1210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1211: x<-K+N+R+U+W #define ACTION_1211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1212: x<-K+N+R+V+W #define ACTION_1212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1213: x<-K+N+S+T+U #define ACTION_1213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1214: x<-K+N+S+T+V #define ACTION_1214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1215: x<-K+N+S+T+W #define ACTION_1215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1216: x<-K+N+S+U+V #define ACTION_1216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1217: x<-K+N+S+U+W #define ACTION_1217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1218: x<-K+N+S+V+W #define ACTION_1218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1219: x<-K+N+T+U+W #define ACTION_1219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1220: x<-K+N+T+V+W #define ACTION_1220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1221: x<-K+N+U+V+W #define ACTION_1221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1222: x<-K+O+P+S+T #define ACTION_1222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1223: x<-K+O+P+S+U #define ACTION_1223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1224: x<-K+O+P+S+V #define ACTION_1224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1225: x<-K+O+P+S+W #define ACTION_1225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1226: x<-K+O+P+T+U #define ACTION_1226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1227: x<-K+O+P+T+V #define ACTION_1227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1228: x<-K+O+P+T+W #define ACTION_1228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1229: x<-K+O+P+U+V #define ACTION_1229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1230: x<-K+O+P+U+W #define ACTION_1230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1231: x<-K+O+P+V+W #define ACTION_1231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1232: x<-K+O+Q+R+T #define ACTION_1232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1233: x<-K+O+Q+R+U #define ACTION_1233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1234: x<-K+O+Q+R+V #define ACTION_1234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1235: x<-K+O+Q+R+W #define ACTION_1235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1236: x<-K+O+Q+S+T #define ACTION_1236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1237: x<-K+O+Q+S+U #define ACTION_1237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1238: x<-K+O+Q+S+V #define ACTION_1238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1239: x<-K+O+Q+S+W #define ACTION_1239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1240: x<-K+O+Q+T+U #define ACTION_1240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1241: x<-K+O+Q+T+V #define ACTION_1241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1242: x<-K+O+Q+T+W #define ACTION_1242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1243: x<-K+O+Q+U+V #define ACTION_1243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1244: x<-K+O+Q+U+W #define ACTION_1244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1245: x<-K+O+Q+V+W #define ACTION_1245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1246: x<-K+O+R+S+T #define ACTION_1246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1247: x<-K+O+R+S+U #define ACTION_1247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1248: x<-K+O+R+S+V #define ACTION_1248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1249: x<-K+O+R+S+W #define ACTION_1249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1250: x<-K+O+R+T+U #define ACTION_1250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1251: x<-K+O+R+T+V #define ACTION_1251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1252: x<-K+O+R+T+W #define ACTION_1252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1253: x<-K+O+R+U+V #define ACTION_1253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1254: x<-K+O+R+U+W #define ACTION_1254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1255: x<-K+O+R+V+W #define ACTION_1255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1256: x<-K+O+S+T+U #define ACTION_1256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1257: x<-K+O+S+T+V #define ACTION_1257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1258: x<-K+O+S+T+W #define ACTION_1258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1259: x<-K+O+S+U+V #define ACTION_1259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1260: x<-K+O+S+U+W #define ACTION_1260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1261: x<-K+O+S+V+W #define ACTION_1261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1262: x<-K+O+T+U+W #define ACTION_1262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1263: x<-K+O+T+V+W #define ACTION_1263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1264: x<-K+O+U+V+W #define ACTION_1264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1265: x<-K+P+Q+R+T #define ACTION_1265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1266: x<-K+P+Q+R+U #define ACTION_1266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1267: x<-K+P+Q+R+V #define ACTION_1267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1268: x<-K+P+Q+R+W #define ACTION_1268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1269: x<-K+P+Q+S+T #define ACTION_1269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1270: x<-K+P+Q+S+U #define ACTION_1270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1271: x<-K+P+Q+S+V #define ACTION_1271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1272: x<-K+P+Q+S+W #define ACTION_1272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1273: x<-K+P+Q+T+U #define ACTION_1273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1274: x<-K+P+Q+T+V #define ACTION_1274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1275: x<-K+P+Q+T+W #define ACTION_1275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1276: x<-K+P+Q+U+V #define ACTION_1276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1277: x<-K+P+Q+U+W #define ACTION_1277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1278: x<-K+P+Q+V+W #define ACTION_1278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1279: x<-K+P+R+S+T #define ACTION_1279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1280: x<-K+P+R+S+U #define ACTION_1280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1281: x<-K+P+R+S+V #define ACTION_1281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1282: x<-K+P+R+S+W #define ACTION_1282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1283: x<-K+P+R+T+U #define ACTION_1283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1284: x<-K+P+R+T+V #define ACTION_1284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1285: x<-K+P+R+T+W #define ACTION_1285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1286: x<-K+P+R+U+V #define ACTION_1286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1287: x<-K+P+R+U+W #define ACTION_1287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1288: x<-K+P+R+V+W #define ACTION_1288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1289: x<-K+P+S+T+U #define ACTION_1289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1290: x<-K+P+S+T+V #define ACTION_1290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1291: x<-K+P+S+T+W #define ACTION_1291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1292: x<-K+P+S+U+V #define ACTION_1292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1293: x<-K+P+S+U+W #define ACTION_1293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1294: x<-K+P+S+V+W #define ACTION_1294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1295: x<-K+P+T+U+W #define ACTION_1295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1296: x<-K+P+T+V+W #define ACTION_1296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1297: x<-K+P+U+V+W #define ACTION_1297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1298: x<-K+Q+R+T+U #define ACTION_1298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1299: x<-K+Q+R+T+V #define ACTION_1299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1300: x<-K+Q+R+T+W #define ACTION_1300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1301: x<-K+Q+R+U+V #define ACTION_1301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1302: x<-K+Q+R+U+W #define ACTION_1302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1303: x<-K+Q+R+V+W #define ACTION_1303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1304: x<-K+Q+S+T+U #define ACTION_1304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1305: x<-K+Q+S+T+V #define ACTION_1305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1306: x<-K+Q+S+T+W #define ACTION_1306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1307: x<-K+Q+S+U+V #define ACTION_1307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1308: x<-K+Q+S+U+W #define ACTION_1308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1309: x<-K+Q+S+V+W #define ACTION_1309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1310: x<-K+Q+T+U+W #define ACTION_1310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1311: x<-K+Q+T+V+W #define ACTION_1311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1312: x<-K+Q+U+V+W #define ACTION_1312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1313: x<-K+R+S+T+U #define ACTION_1313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1314: x<-K+R+S+T+V #define ACTION_1314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1315: x<-K+R+S+T+W #define ACTION_1315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1316: x<-K+R+S+U+V #define ACTION_1316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1317: x<-K+R+S+U+W #define ACTION_1317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1318: x<-K+R+S+V+W #define ACTION_1318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1319: x<-K+R+T+U+W #define ACTION_1319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1320: x<-K+R+T+V+W #define ACTION_1320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1321: x<-K+R+U+V+W #define ACTION_1321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1322: x<-K+S+T+U+W #define ACTION_1322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1323: x<-K+S+T+V+W #define ACTION_1323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1324: x<-K+S+U+V+W #define ACTION_1324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1325: x<-L+M+N+O+T #define ACTION_1325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1326: x<-L+M+N+O+U #define ACTION_1326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1327: x<-L+M+N+O+V #define ACTION_1327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1328: x<-L+M+N+O+W #define ACTION_1328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1329: x<-L+M+N+P+T #define ACTION_1329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1330: x<-L+M+N+P+U #define ACTION_1330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1331: x<-L+M+N+P+V #define ACTION_1331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1332: x<-L+M+N+P+W #define ACTION_1332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1333: x<-L+M+N+R+T #define ACTION_1333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1334: x<-L+M+N+R+U #define ACTION_1334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1335: x<-L+M+N+R+V #define ACTION_1335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1336: x<-L+M+N+R+W #define ACTION_1336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1337: x<-L+M+N+S+T #define ACTION_1337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1338: x<-L+M+N+S+U #define ACTION_1338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1339: x<-L+M+N+S+V #define ACTION_1339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1340: x<-L+M+N+S+W #define ACTION_1340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1341: x<-L+M+N+T+U #define ACTION_1341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1342: x<-L+M+N+T+V #define ACTION_1342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1343: x<-L+M+N+T+W #define ACTION_1343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1344: x<-L+M+N+U+V #define ACTION_1344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1345: x<-L+M+N+U+W #define ACTION_1345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1346: x<-L+M+N+V+W #define ACTION_1346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1347: x<-L+M+O+P+T #define ACTION_1347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1348: x<-L+M+O+P+U #define ACTION_1348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1349: x<-L+M+O+P+V #define ACTION_1349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1350: x<-L+M+O+P+W #define ACTION_1350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1351: x<-L+M+O+Q+T #define ACTION_1351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1352: x<-L+M+O+Q+U #define ACTION_1352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1353: x<-L+M+O+Q+V #define ACTION_1353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1354: x<-L+M+O+Q+W #define ACTION_1354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1355: x<-L+M+O+S+T #define ACTION_1355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1356: x<-L+M+O+S+U #define ACTION_1356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1357: x<-L+M+O+S+V #define ACTION_1357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1358: x<-L+M+O+S+W #define ACTION_1358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1359: x<-L+M+O+T+U #define ACTION_1359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1360: x<-L+M+O+T+V #define ACTION_1360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1361: x<-L+M+O+T+W #define ACTION_1361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1362: x<-L+M+O+U+V #define ACTION_1362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1363: x<-L+M+O+U+W #define ACTION_1363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1364: x<-L+M+O+V+W #define ACTION_1364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1365: x<-L+M+P+Q+T #define ACTION_1365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1366: x<-L+M+P+Q+U #define ACTION_1366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1367: x<-L+M+P+Q+V #define ACTION_1367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1368: x<-L+M+P+Q+W #define ACTION_1368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1369: x<-L+M+P+R+T #define ACTION_1369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1370: x<-L+M+P+R+U #define ACTION_1370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1371: x<-L+M+P+R+V #define ACTION_1371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1372: x<-L+M+P+R+W #define ACTION_1372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1373: x<-L+M+P+T+U #define ACTION_1373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1374: x<-L+M+P+T+V #define ACTION_1374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1375: x<-L+M+P+T+W #define ACTION_1375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1376: x<-L+M+P+U+V #define ACTION_1376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1377: x<-L+M+P+U+W #define ACTION_1377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1378: x<-L+M+P+V+W #define ACTION_1378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1379: x<-L+M+Q+R+T #define ACTION_1379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1380: x<-L+M+Q+R+U #define ACTION_1380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1381: x<-L+M+Q+R+V #define ACTION_1381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1382: x<-L+M+Q+R+W #define ACTION_1382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1383: x<-L+M+Q+S+T #define ACTION_1383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1384: x<-L+M+Q+S+U #define ACTION_1384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1385: x<-L+M+Q+S+V #define ACTION_1385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1386: x<-L+M+Q+S+W #define ACTION_1386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1387: x<-L+M+Q+T+U #define ACTION_1387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1388: x<-L+M+Q+T+V #define ACTION_1388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1389: x<-L+M+Q+T+W #define ACTION_1389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1390: x<-L+M+Q+U+V #define ACTION_1390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1391: x<-L+M+Q+U+W #define ACTION_1391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1392: x<-L+M+Q+V+W #define ACTION_1392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1393: x<-L+M+R+S+T #define ACTION_1393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1394: x<-L+M+R+S+U #define ACTION_1394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1395: x<-L+M+R+S+V #define ACTION_1395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1396: x<-L+M+R+S+W #define ACTION_1396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1397: x<-L+M+R+T+U #define ACTION_1397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1398: x<-L+M+R+T+V #define ACTION_1398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1399: x<-L+M+R+T+W #define ACTION_1399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1400: x<-L+M+R+U+V #define ACTION_1400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1401: x<-L+M+R+U+W #define ACTION_1401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1402: x<-L+M+R+V+W #define ACTION_1402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1403: x<-L+M+S+T+U #define ACTION_1403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1404: x<-L+M+S+T+V #define ACTION_1404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1405: x<-L+M+S+T+W #define ACTION_1405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1406: x<-L+M+S+U+V #define ACTION_1406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1407: x<-L+M+S+U+W #define ACTION_1407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1408: x<-L+M+S+V+W #define ACTION_1408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1409: x<-L+M+T+U+W #define ACTION_1409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1410: x<-L+M+T+V+W #define ACTION_1410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1411: x<-L+M+U+V+W #define ACTION_1411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1412: x<-L+N+O+Q+T #define ACTION_1412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1413: x<-L+N+O+Q+U #define ACTION_1413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1414: x<-L+N+O+Q+V #define ACTION_1414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1415: x<-L+N+O+Q+W #define ACTION_1415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1416: x<-L+N+O+T+U #define ACTION_1416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1417: x<-L+N+O+T+V #define ACTION_1417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1418: x<-L+N+O+T+W #define ACTION_1418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1419: x<-L+N+O+U+V #define ACTION_1419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1420: x<-L+N+O+U+W #define ACTION_1420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1421: x<-L+N+O+V+W #define ACTION_1421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1422: x<-L+N+P+Q+T #define ACTION_1422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1423: x<-L+N+P+Q+U #define ACTION_1423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1424: x<-L+N+P+Q+V #define ACTION_1424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1425: x<-L+N+P+Q+W #define ACTION_1425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1426: x<-L+N+P+R+T #define ACTION_1426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1427: x<-L+N+P+R+U #define ACTION_1427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1428: x<-L+N+P+R+V #define ACTION_1428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1429: x<-L+N+P+R+W #define ACTION_1429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1430: x<-L+N+P+S+T #define ACTION_1430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1431: x<-L+N+P+S+U #define ACTION_1431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1432: x<-L+N+P+S+V #define ACTION_1432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1433: x<-L+N+P+S+W #define ACTION_1433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1434: x<-L+N+P+T+U #define ACTION_1434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1435: x<-L+N+P+T+V #define ACTION_1435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1436: x<-L+N+P+T+W #define ACTION_1436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1437: x<-L+N+P+U+V #define ACTION_1437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1438: x<-L+N+P+U+W #define ACTION_1438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1439: x<-L+N+P+V+W #define ACTION_1439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1440: x<-L+N+Q+R+T #define ACTION_1440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1441: x<-L+N+Q+R+U #define ACTION_1441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1442: x<-L+N+Q+R+V #define ACTION_1442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1443: x<-L+N+Q+R+W #define ACTION_1443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1444: x<-L+N+Q+S+T #define ACTION_1444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1445: x<-L+N+Q+S+U #define ACTION_1445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1446: x<-L+N+Q+S+V #define ACTION_1446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1447: x<-L+N+Q+S+W #define ACTION_1447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1448: x<-L+N+Q+T+U #define ACTION_1448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1449: x<-L+N+Q+T+V #define ACTION_1449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1450: x<-L+N+Q+T+W #define ACTION_1450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1451: x<-L+N+Q+U+V #define ACTION_1451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1452: x<-L+N+Q+U+W #define ACTION_1452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1453: x<-L+N+Q+V+W #define ACTION_1453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1454: x<-L+N+R+S+T #define ACTION_1454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1455: x<-L+N+R+S+U #define ACTION_1455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1456: x<-L+N+R+S+V #define ACTION_1456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1457: x<-L+N+R+S+W #define ACTION_1457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1458: x<-L+N+R+T+U #define ACTION_1458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1459: x<-L+N+R+T+V #define ACTION_1459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1460: x<-L+N+R+T+W #define ACTION_1460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1461: x<-L+N+R+U+V #define ACTION_1461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1462: x<-L+N+R+U+W #define ACTION_1462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1463: x<-L+N+R+V+W #define ACTION_1463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1464: x<-L+N+S+T+U #define ACTION_1464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1465: x<-L+N+S+T+V #define ACTION_1465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1466: x<-L+N+S+T+W #define ACTION_1466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1467: x<-L+N+S+U+V #define ACTION_1467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1468: x<-L+N+S+U+W #define ACTION_1468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1469: x<-L+N+S+V+W #define ACTION_1469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1470: x<-L+N+T+U+W #define ACTION_1470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1471: x<-L+N+T+V+W #define ACTION_1471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1472: x<-L+N+U+V+W #define ACTION_1472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1473: x<-L+O+P+S+T #define ACTION_1473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1474: x<-L+O+P+S+U #define ACTION_1474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1475: x<-L+O+P+S+V #define ACTION_1475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1476: x<-L+O+P+S+W #define ACTION_1476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1477: x<-L+O+P+T+U #define ACTION_1477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1478: x<-L+O+P+T+V #define ACTION_1478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1479: x<-L+O+P+T+W #define ACTION_1479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1480: x<-L+O+P+U+V #define ACTION_1480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1481: x<-L+O+P+U+W #define ACTION_1481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1482: x<-L+O+P+V+W #define ACTION_1482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1483: x<-L+O+Q+T+U #define ACTION_1483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1484: x<-L+O+Q+T+V #define ACTION_1484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1485: x<-L+O+Q+T+W #define ACTION_1485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1486: x<-L+O+Q+U+V #define ACTION_1486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1487: x<-L+O+Q+U+W #define ACTION_1487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1488: x<-L+O+Q+V+W #define ACTION_1488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1489: x<-L+O+S+T+U #define ACTION_1489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1490: x<-L+O+S+T+V #define ACTION_1490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1491: x<-L+O+S+T+W #define ACTION_1491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1492: x<-L+O+S+U+V #define ACTION_1492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1493: x<-L+O+S+U+W #define ACTION_1493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1494: x<-L+O+S+V+W #define ACTION_1494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1495: x<-L+O+T+U+W #define ACTION_1495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1496: x<-L+O+T+V+W #define ACTION_1496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1497: x<-L+O+U+V+W #define ACTION_1497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1498: x<-L+P+Q+R+T #define ACTION_1498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1499: x<-L+P+Q+R+U #define ACTION_1499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1500: x<-L+P+Q+R+V #define ACTION_1500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1501: x<-L+P+Q+R+W #define ACTION_1501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1502: x<-L+P+Q+S+T #define ACTION_1502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1503: x<-L+P+Q+S+U #define ACTION_1503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1504: x<-L+P+Q+S+V #define ACTION_1504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1505: x<-L+P+Q+S+W #define ACTION_1505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1506: x<-L+P+Q+T+U #define ACTION_1506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1507: x<-L+P+Q+T+V #define ACTION_1507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1508: x<-L+P+Q+T+W #define ACTION_1508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1509: x<-L+P+Q+U+V #define ACTION_1509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1510: x<-L+P+Q+U+W #define ACTION_1510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1511: x<-L+P+Q+V+W #define ACTION_1511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1512: x<-L+P+R+S+T #define ACTION_1512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1513: x<-L+P+R+S+U #define ACTION_1513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1514: x<-L+P+R+S+V #define ACTION_1514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1515: x<-L+P+R+S+W #define ACTION_1515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1516: x<-L+P+R+T+U #define ACTION_1516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1517: x<-L+P+R+T+V #define ACTION_1517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1518: x<-L+P+R+T+W #define ACTION_1518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1519: x<-L+P+R+U+V #define ACTION_1519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1520: x<-L+P+R+U+W #define ACTION_1520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1521: x<-L+P+R+V+W #define ACTION_1521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1522: x<-L+P+S+T+U #define ACTION_1522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1523: x<-L+P+S+T+V #define ACTION_1523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1524: x<-L+P+S+T+W #define ACTION_1524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1525: x<-L+P+S+U+V #define ACTION_1525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1526: x<-L+P+S+U+W #define ACTION_1526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1527: x<-L+P+S+V+W #define ACTION_1527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1528: x<-L+P+T+U+W #define ACTION_1528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1529: x<-L+P+T+V+W #define ACTION_1529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1530: x<-L+P+U+V+W #define ACTION_1530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1531: x<-L+Q+R+T+U #define ACTION_1531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1532: x<-L+Q+R+T+V #define ACTION_1532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1533: x<-L+Q+R+T+W #define ACTION_1533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1534: x<-L+Q+R+U+V #define ACTION_1534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1535: x<-L+Q+R+U+W #define ACTION_1535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1536: x<-L+Q+R+V+W #define ACTION_1536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1537: x<-L+Q+S+T+U #define ACTION_1537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1538: x<-L+Q+S+T+V #define ACTION_1538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1539: x<-L+Q+S+T+W #define ACTION_1539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1540: x<-L+Q+S+U+V #define ACTION_1540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1541: x<-L+Q+S+U+W #define ACTION_1541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1542: x<-L+Q+S+V+W #define ACTION_1542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1543: x<-L+Q+T+U+W #define ACTION_1543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1544: x<-L+Q+T+V+W #define ACTION_1544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1545: x<-L+Q+U+V+W #define ACTION_1545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1546: x<-L+R+S+T+U #define ACTION_1546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1547: x<-L+R+S+T+V #define ACTION_1547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1548: x<-L+R+S+T+W #define ACTION_1548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1549: x<-L+R+S+U+V #define ACTION_1549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1550: x<-L+R+S+U+W #define ACTION_1550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1551: x<-L+R+S+V+W #define ACTION_1551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1552: x<-L+R+T+U+W #define ACTION_1552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1553: x<-L+R+T+V+W #define ACTION_1553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1554: x<-L+R+U+V+W #define ACTION_1554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1555: x<-L+S+T+U+W #define ACTION_1555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1556: x<-L+S+T+V+W #define ACTION_1556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1557: x<-L+S+U+V+W #define ACTION_1557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1558: x<-M+N+O+Q+T #define ACTION_1558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1559: x<-M+N+O+Q+U #define ACTION_1559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1560: x<-M+N+O+Q+V #define ACTION_1560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1561: x<-M+N+O+Q+W #define ACTION_1561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1562: x<-M+N+O+T+U #define ACTION_1562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1563: x<-M+N+O+T+V #define ACTION_1563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1564: x<-M+N+O+T+W #define ACTION_1564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1565: x<-M+N+O+U+V #define ACTION_1565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1566: x<-M+N+O+U+W #define ACTION_1566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1567: x<-M+N+O+V+W #define ACTION_1567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1568: x<-M+N+P+Q+T #define ACTION_1568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1569: x<-M+N+P+Q+U #define ACTION_1569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1570: x<-M+N+P+Q+V #define ACTION_1570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1571: x<-M+N+P+Q+W #define ACTION_1571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1572: x<-M+N+P+R+T #define ACTION_1572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1573: x<-M+N+P+R+U #define ACTION_1573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1574: x<-M+N+P+R+V #define ACTION_1574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1575: x<-M+N+P+R+W #define ACTION_1575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1576: x<-M+N+P+T+U #define ACTION_1576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1577: x<-M+N+P+T+V #define ACTION_1577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1578: x<-M+N+P+T+W #define ACTION_1578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1579: x<-M+N+P+U+V #define ACTION_1579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1580: x<-M+N+P+U+W #define ACTION_1580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1581: x<-M+N+P+V+W #define ACTION_1581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1582: x<-M+N+Q+R+T #define ACTION_1582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1583: x<-M+N+Q+R+U #define ACTION_1583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1584: x<-M+N+Q+R+V #define ACTION_1584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1585: x<-M+N+Q+R+W #define ACTION_1585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1586: x<-M+N+Q+S+T #define ACTION_1586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1587: x<-M+N+Q+S+U #define ACTION_1587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1588: x<-M+N+Q+S+V #define ACTION_1588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1589: x<-M+N+Q+S+W #define ACTION_1589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1590: x<-M+N+Q+T+U #define ACTION_1590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1591: x<-M+N+Q+T+V #define ACTION_1591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1592: x<-M+N+Q+T+W #define ACTION_1592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1593: x<-M+N+Q+U+V #define ACTION_1593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1594: x<-M+N+Q+U+W #define ACTION_1594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1595: x<-M+N+Q+V+W #define ACTION_1595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1596: x<-M+N+R+S+T #define ACTION_1596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1597: x<-M+N+R+S+U #define ACTION_1597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1598: x<-M+N+R+S+V #define ACTION_1598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1599: x<-M+N+R+S+W #define ACTION_1599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1600: x<-M+N+R+T+U #define ACTION_1600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1601: x<-M+N+R+T+V #define ACTION_1601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1602: x<-M+N+R+T+W #define ACTION_1602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1603: x<-M+N+R+U+V #define ACTION_1603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1604: x<-M+N+R+U+W #define ACTION_1604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1605: x<-M+N+R+V+W #define ACTION_1605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1606: x<-M+N+S+T+U #define ACTION_1606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1607: x<-M+N+S+T+V #define ACTION_1607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1608: x<-M+N+S+T+W #define ACTION_1608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1609: x<-M+N+S+U+V #define ACTION_1609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1610: x<-M+N+S+U+W #define ACTION_1610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1611: x<-M+N+S+V+W #define ACTION_1611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1612: x<-M+N+T+U+W #define ACTION_1612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1613: x<-M+N+T+V+W #define ACTION_1613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1614: x<-M+N+U+V+W #define ACTION_1614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1615: x<-M+O+P+Q+T #define ACTION_1615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1616: x<-M+O+P+Q+U #define ACTION_1616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1617: x<-M+O+P+Q+V #define ACTION_1617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1618: x<-M+O+P+Q+W #define ACTION_1618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1619: x<-M+O+P+R+T #define ACTION_1619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1620: x<-M+O+P+R+U #define ACTION_1620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1621: x<-M+O+P+R+V #define ACTION_1621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1622: x<-M+O+P+R+W #define ACTION_1622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1623: x<-M+O+P+T+U #define ACTION_1623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1624: x<-M+O+P+T+V #define ACTION_1624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1625: x<-M+O+P+T+W #define ACTION_1625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1626: x<-M+O+P+U+V #define ACTION_1626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1627: x<-M+O+P+U+W #define ACTION_1627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1628: x<-M+O+P+V+W #define ACTION_1628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1629: x<-M+O+Q+R+T #define ACTION_1629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1630: x<-M+O+Q+R+U #define ACTION_1630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1631: x<-M+O+Q+R+V #define ACTION_1631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1632: x<-M+O+Q+R+W #define ACTION_1632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1633: x<-M+O+Q+S+T #define ACTION_1633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1634: x<-M+O+Q+S+U #define ACTION_1634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1635: x<-M+O+Q+S+V #define ACTION_1635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1636: x<-M+O+Q+S+W #define ACTION_1636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1637: x<-M+O+Q+T+U #define ACTION_1637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1638: x<-M+O+Q+T+V #define ACTION_1638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1639: x<-M+O+Q+T+W #define ACTION_1639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1640: x<-M+O+Q+U+V #define ACTION_1640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1641: x<-M+O+Q+U+W #define ACTION_1641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1642: x<-M+O+Q+V+W #define ACTION_1642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1643: x<-M+O+R+S+T #define ACTION_1643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1644: x<-M+O+R+S+U #define ACTION_1644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1645: x<-M+O+R+S+V #define ACTION_1645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1646: x<-M+O+R+S+W #define ACTION_1646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1647: x<-M+O+R+T+U #define ACTION_1647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1648: x<-M+O+R+T+V #define ACTION_1648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1649: x<-M+O+R+T+W #define ACTION_1649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1650: x<-M+O+R+U+V #define ACTION_1650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1651: x<-M+O+R+U+W #define ACTION_1651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1652: x<-M+O+R+V+W #define ACTION_1652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1653: x<-M+O+S+T+U #define ACTION_1653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1654: x<-M+O+S+T+V #define ACTION_1654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1655: x<-M+O+S+T+W #define ACTION_1655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1656: x<-M+O+S+U+V #define ACTION_1656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1657: x<-M+O+S+U+W #define ACTION_1657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1658: x<-M+O+S+V+W #define ACTION_1658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1659: x<-M+O+T+U+W #define ACTION_1659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1660: x<-M+O+T+V+W #define ACTION_1660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1661: x<-M+O+U+V+W #define ACTION_1661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1662: x<-M+P+Q+T+U #define ACTION_1662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1663: x<-M+P+Q+T+V #define ACTION_1663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1664: x<-M+P+Q+T+W #define ACTION_1664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1665: x<-M+P+Q+U+V #define ACTION_1665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1666: x<-M+P+Q+U+W #define ACTION_1666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1667: x<-M+P+Q+V+W #define ACTION_1667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1668: x<-M+P+R+T+U #define ACTION_1668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1669: x<-M+P+R+T+V #define ACTION_1669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1670: x<-M+P+R+T+W #define ACTION_1670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1671: x<-M+P+R+U+V #define ACTION_1671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1672: x<-M+P+R+U+W #define ACTION_1672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1673: x<-M+P+R+V+W #define ACTION_1673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1674: x<-M+P+T+U+W #define ACTION_1674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1675: x<-M+P+T+V+W #define ACTION_1675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1676: x<-M+P+U+V+W #define ACTION_1676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1677: x<-M+Q+R+T+U #define ACTION_1677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1678: x<-M+Q+R+T+V #define ACTION_1678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1679: x<-M+Q+R+T+W #define ACTION_1679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1680: x<-M+Q+R+U+V #define ACTION_1680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1681: x<-M+Q+R+U+W #define ACTION_1681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1682: x<-M+Q+R+V+W #define ACTION_1682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1683: x<-M+Q+S+T+U #define ACTION_1683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1684: x<-M+Q+S+T+V #define ACTION_1684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1685: x<-M+Q+S+T+W #define ACTION_1685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1686: x<-M+Q+S+U+V #define ACTION_1686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1687: x<-M+Q+S+U+W #define ACTION_1687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1688: x<-M+Q+S+V+W #define ACTION_1688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1689: x<-M+Q+T+U+W #define ACTION_1689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1690: x<-M+Q+T+V+W #define ACTION_1690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1691: x<-M+Q+U+V+W #define ACTION_1691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1692: x<-M+R+S+T+U #define ACTION_1692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1693: x<-M+R+S+T+V #define ACTION_1693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1694: x<-M+R+S+T+W #define ACTION_1694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1695: x<-M+R+S+U+V #define ACTION_1695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1696: x<-M+R+S+U+W #define ACTION_1696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1697: x<-M+R+S+V+W #define ACTION_1697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1698: x<-M+R+T+U+W #define ACTION_1698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1699: x<-M+R+T+V+W #define ACTION_1699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1700: x<-M+R+U+V+W #define ACTION_1700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1701: x<-M+S+T+U+W #define ACTION_1701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1702: x<-M+S+T+V+W #define ACTION_1702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1703: x<-M+S+U+V+W #define ACTION_1703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1704: x<-N+O+Q+R+T #define ACTION_1704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1705: x<-N+O+Q+R+U #define ACTION_1705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1706: x<-N+O+Q+R+V #define ACTION_1706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1707: x<-N+O+Q+R+W #define ACTION_1707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1708: x<-N+O+Q+S+T #define ACTION_1708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1709: x<-N+O+Q+S+U #define ACTION_1709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1710: x<-N+O+Q+S+V #define ACTION_1710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1711: x<-N+O+Q+S+W #define ACTION_1711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1712: x<-N+O+Q+T+U #define ACTION_1712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1713: x<-N+O+Q+T+V #define ACTION_1713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1714: x<-N+O+Q+T+W #define ACTION_1714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1715: x<-N+O+Q+U+V #define ACTION_1715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1716: x<-N+O+Q+U+W #define ACTION_1716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1717: x<-N+O+Q+V+W #define ACTION_1717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1718: x<-N+O+R+S+T #define ACTION_1718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1719: x<-N+O+R+S+U #define ACTION_1719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1720: x<-N+O+R+S+V #define ACTION_1720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1721: x<-N+O+R+S+W #define ACTION_1721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1722: x<-N+O+R+T+U #define ACTION_1722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1723: x<-N+O+R+T+V #define ACTION_1723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1724: x<-N+O+R+T+W #define ACTION_1724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1725: x<-N+O+R+U+V #define ACTION_1725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1726: x<-N+O+R+U+W #define ACTION_1726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1727: x<-N+O+R+V+W #define ACTION_1727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1728: x<-N+O+S+T+U #define ACTION_1728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1729: x<-N+O+S+T+V #define ACTION_1729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1730: x<-N+O+S+T+W #define ACTION_1730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1731: x<-N+O+S+U+V #define ACTION_1731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1732: x<-N+O+S+U+W #define ACTION_1732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1733: x<-N+O+S+V+W #define ACTION_1733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1734: x<-N+O+T+U+W #define ACTION_1734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1735: x<-N+O+T+V+W #define ACTION_1735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1736: x<-N+O+U+V+W #define ACTION_1736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1737: x<-N+P+Q+R+T #define ACTION_1737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1738: x<-N+P+Q+R+U #define ACTION_1738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1739: x<-N+P+Q+R+V #define ACTION_1739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1740: x<-N+P+Q+R+W #define ACTION_1740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1741: x<-N+P+Q+S+T #define ACTION_1741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1742: x<-N+P+Q+S+U #define ACTION_1742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1743: x<-N+P+Q+S+V #define ACTION_1743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1744: x<-N+P+Q+S+W #define ACTION_1744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1745: x<-N+P+Q+T+U #define ACTION_1745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1746: x<-N+P+Q+T+V #define ACTION_1746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1747: x<-N+P+Q+T+W #define ACTION_1747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1748: x<-N+P+Q+U+V #define ACTION_1748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1749: x<-N+P+Q+U+W #define ACTION_1749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1750: x<-N+P+Q+V+W #define ACTION_1750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1751: x<-N+P+R+S+T #define ACTION_1751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1752: x<-N+P+R+S+U #define ACTION_1752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1753: x<-N+P+R+S+V #define ACTION_1753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1754: x<-N+P+R+S+W #define ACTION_1754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1755: x<-N+P+R+T+U #define ACTION_1755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1756: x<-N+P+R+T+V #define ACTION_1756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1757: x<-N+P+R+T+W #define ACTION_1757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1758: x<-N+P+R+U+V #define ACTION_1758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1759: x<-N+P+R+U+W #define ACTION_1759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1760: x<-N+P+R+V+W #define ACTION_1760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1761: x<-N+P+S+T+U #define ACTION_1761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1762: x<-N+P+S+T+V #define ACTION_1762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1763: x<-N+P+S+T+W #define ACTION_1763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1764: x<-N+P+S+U+V #define ACTION_1764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1765: x<-N+P+S+U+W #define ACTION_1765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1766: x<-N+P+S+V+W #define ACTION_1766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1767: x<-N+P+T+U+W #define ACTION_1767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1768: x<-N+P+T+V+W #define ACTION_1768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1769: x<-N+P+U+V+W #define ACTION_1769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1770: x<-N+Q+R+T+U #define ACTION_1770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1771: x<-N+Q+R+T+V #define ACTION_1771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1772: x<-N+Q+R+T+W #define ACTION_1772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1773: x<-N+Q+R+U+V #define ACTION_1773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1774: x<-N+Q+R+U+W #define ACTION_1774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1775: x<-N+Q+R+V+W #define ACTION_1775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1776: x<-N+Q+S+T+U #define ACTION_1776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1777: x<-N+Q+S+T+V #define ACTION_1777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1778: x<-N+Q+S+T+W #define ACTION_1778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1779: x<-N+Q+S+U+V #define ACTION_1779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1780: x<-N+Q+S+U+W #define ACTION_1780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1781: x<-N+Q+S+V+W #define ACTION_1781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1782: x<-N+Q+T+U+W #define ACTION_1782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1783: x<-N+Q+T+V+W #define ACTION_1783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1784: x<-N+Q+U+V+W #define ACTION_1784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1785: x<-N+R+S+T+U #define ACTION_1785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1786: x<-N+R+S+T+V #define ACTION_1786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1787: x<-N+R+S+T+W #define ACTION_1787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1788: x<-N+R+S+U+V #define ACTION_1788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1789: x<-N+R+S+U+W #define ACTION_1789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1790: x<-N+R+S+V+W #define ACTION_1790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1791: x<-N+R+T+U+W #define ACTION_1791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1792: x<-N+R+T+V+W #define ACTION_1792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1793: x<-N+R+U+V+W #define ACTION_1793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1794: x<-N+S+T+U+W #define ACTION_1794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1795: x<-N+S+T+V+W #define ACTION_1795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1796: x<-N+S+U+V+W #define ACTION_1796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1797: x<-O+P+Q+R+T #define ACTION_1797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1798: x<-O+P+Q+R+U #define ACTION_1798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1799: x<-O+P+Q+R+V #define ACTION_1799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1800: x<-O+P+Q+R+W #define ACTION_1800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1801: x<-O+P+Q+S+T #define ACTION_1801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1802: x<-O+P+Q+S+U #define ACTION_1802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1803: x<-O+P+Q+S+V #define ACTION_1803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1804: x<-O+P+Q+S+W #define ACTION_1804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1805: x<-O+P+Q+T+U #define ACTION_1805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1806: x<-O+P+Q+T+V #define ACTION_1806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1807: x<-O+P+Q+T+W #define ACTION_1807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1808: x<-O+P+Q+U+V #define ACTION_1808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1809: x<-O+P+Q+U+W #define ACTION_1809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1810: x<-O+P+Q+V+W #define ACTION_1810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1811: x<-O+P+R+S+T #define ACTION_1811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1812: x<-O+P+R+S+U #define ACTION_1812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1813: x<-O+P+R+S+V #define ACTION_1813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1814: x<-O+P+R+S+W #define ACTION_1814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1815: x<-O+P+R+T+U #define ACTION_1815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1816: x<-O+P+R+T+V #define ACTION_1816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1817: x<-O+P+R+T+W #define ACTION_1817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1818: x<-O+P+R+U+V #define ACTION_1818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1819: x<-O+P+R+U+W #define ACTION_1819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1820: x<-O+P+R+V+W #define ACTION_1820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1821: x<-O+P+S+T+U #define ACTION_1821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1822: x<-O+P+S+T+V #define ACTION_1822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1823: x<-O+P+S+T+W #define ACTION_1823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1824: x<-O+P+S+U+V #define ACTION_1824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1825: x<-O+P+S+U+W #define ACTION_1825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1826: x<-O+P+S+V+W #define ACTION_1826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1827: x<-O+P+T+U+W #define ACTION_1827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1828: x<-O+P+T+V+W #define ACTION_1828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1829: x<-O+P+U+V+W #define ACTION_1829 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1830: x<-O+Q+R+T+U #define ACTION_1830 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1831: x<-O+Q+R+T+V #define ACTION_1831 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1832: x<-O+Q+R+T+W #define ACTION_1832 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1833: x<-O+Q+R+U+V #define ACTION_1833 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1834: x<-O+Q+R+U+W #define ACTION_1834 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1835: x<-O+Q+R+V+W #define ACTION_1835 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1836: x<-O+Q+S+T+U #define ACTION_1836 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1837: x<-O+Q+S+T+V #define ACTION_1837 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1838: x<-O+Q+S+T+W #define ACTION_1838 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1839: x<-O+Q+S+U+V #define ACTION_1839 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1840: x<-O+Q+S+U+W #define ACTION_1840 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1841: x<-O+Q+S+V+W #define ACTION_1841 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1842: x<-O+Q+T+U+W #define ACTION_1842 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1843: x<-O+Q+T+V+W #define ACTION_1843 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1844: x<-O+Q+U+V+W #define ACTION_1844 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1845: x<-O+R+S+T+U #define ACTION_1845 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1846: x<-O+R+S+T+V #define ACTION_1846 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1847: x<-O+R+S+T+W #define ACTION_1847 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1848: x<-O+R+S+U+V #define ACTION_1848 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1849: x<-O+R+S+U+W #define ACTION_1849 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1850: x<-O+R+S+V+W #define ACTION_1850 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1851: x<-O+R+T+U+W #define ACTION_1851 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1852: x<-O+R+T+V+W #define ACTION_1852 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1853: x<-O+R+U+V+W #define ACTION_1853 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1854: x<-O+S+T+U+W #define ACTION_1854 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1855: x<-O+S+T+V+W #define ACTION_1855 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1856: x<-O+S+U+V+W #define ACTION_1856 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1857: x<-P+Q+R+T+U #define ACTION_1857 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1858: x<-P+Q+R+T+V #define ACTION_1858 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1859: x<-P+Q+R+T+W #define ACTION_1859 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1860: x<-P+Q+R+U+V #define ACTION_1860 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1861: x<-P+Q+R+U+W #define ACTION_1861 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1862: x<-P+Q+R+V+W #define ACTION_1862 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1863: x<-P+Q+S+T+U #define ACTION_1863 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1864: x<-P+Q+S+T+V #define ACTION_1864 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1865: x<-P+Q+S+T+W #define ACTION_1865 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1866: x<-P+Q+S+U+V #define ACTION_1866 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1867: x<-P+Q+S+U+W #define ACTION_1867 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1868: x<-P+Q+S+V+W #define ACTION_1868 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1869: x<-P+Q+T+U+W #define ACTION_1869 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1870: x<-P+Q+T+V+W #define ACTION_1870 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1871: x<-P+Q+U+V+W #define ACTION_1871 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1872: x<-P+R+S+T+U #define ACTION_1872 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1873: x<-P+R+S+T+V #define ACTION_1873 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1874: x<-P+R+S+T+W #define ACTION_1874 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1875: x<-P+R+S+U+V #define ACTION_1875 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1876: x<-P+R+S+U+W #define ACTION_1876 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1877: x<-P+R+S+V+W #define ACTION_1877 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1878: x<-P+R+T+U+W #define ACTION_1878 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1879: x<-P+R+T+V+W #define ACTION_1879 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1880: x<-P+R+U+V+W #define ACTION_1880 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1881: x<-P+S+T+U+W #define ACTION_1881 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1882: x<-P+S+T+V+W #define ACTION_1882 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1883: x<-P+S+U+V+W #define ACTION_1883 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1884: x<-Q+R+T+U+W #define ACTION_1884 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1885: x<-Q+R+T+V+W #define ACTION_1885 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1886: x<-Q+R+U+V+W #define ACTION_1886 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1887: x<-Q+S+T+U+W #define ACTION_1887 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1888: x<-Q+S+T+V+W #define ACTION_1888 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1889: x<-Q+S+U+V+W #define ACTION_1889 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1890: x<-R+S+T+U+W #define ACTION_1890 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1891: x<-R+S+T+V+W #define ACTION_1891 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1892: x<-R+S+U+V+W #define ACTION_1892 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1893: x<-K+L+N+O+T+U #define ACTION_1893 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1894: x<-K+L+N+O+T+V #define ACTION_1894 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1895: x<-K+L+N+O+T+W #define ACTION_1895 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1896: x<-K+L+N+O+U+V #define ACTION_1896 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1897: x<-K+L+N+O+U+W #define ACTION_1897 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1898: x<-K+L+N+O+V+W #define ACTION_1898 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1899: x<-K+L+N+P+T+U #define ACTION_1899 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1900: x<-K+L+N+P+T+V #define ACTION_1900 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1901: x<-K+L+N+P+T+W #define ACTION_1901 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1902: x<-K+L+N+P+U+V #define ACTION_1902 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1903: x<-K+L+N+P+U+W #define ACTION_1903 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1904: x<-K+L+N+P+V+W #define ACTION_1904 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1905: x<-K+L+N+R+T+U #define ACTION_1905 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1906: x<-K+L+N+R+T+V #define ACTION_1906 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1907: x<-K+L+N+R+T+W #define ACTION_1907 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1908: x<-K+L+N+R+U+V #define ACTION_1908 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1909: x<-K+L+N+R+U+W #define ACTION_1909 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1910: x<-K+L+N+R+V+W #define ACTION_1910 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1911: x<-K+L+N+S+T+U #define ACTION_1911 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1912: x<-K+L+N+S+T+V #define ACTION_1912 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1913: x<-K+L+N+S+T+W #define ACTION_1913 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1914: x<-K+L+N+S+U+V #define ACTION_1914 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1915: x<-K+L+N+S+U+W #define ACTION_1915 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1916: x<-K+L+N+S+V+W #define ACTION_1916 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1917: x<-K+L+N+T+U+W #define ACTION_1917 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1918: x<-K+L+N+T+V+W #define ACTION_1918 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1919: x<-K+L+N+U+V+W #define ACTION_1919 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1920: x<-K+L+O+P+T+U #define ACTION_1920 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1921: x<-K+L+O+P+T+V #define ACTION_1921 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1922: x<-K+L+O+P+T+W #define ACTION_1922 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1923: x<-K+L+O+P+U+V #define ACTION_1923 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1924: x<-K+L+O+P+U+W #define ACTION_1924 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1925: x<-K+L+O+P+V+W #define ACTION_1925 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1926: x<-K+L+O+Q+T+U #define ACTION_1926 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1927: x<-K+L+O+Q+T+V #define ACTION_1927 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1928: x<-K+L+O+Q+T+W #define ACTION_1928 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1929: x<-K+L+O+Q+U+V #define ACTION_1929 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1930: x<-K+L+O+Q+U+W #define ACTION_1930 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1931: x<-K+L+O+Q+V+W #define ACTION_1931 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1932: x<-K+L+O+S+T+U #define ACTION_1932 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1933: x<-K+L+O+S+T+V #define ACTION_1933 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1934: x<-K+L+O+S+T+W #define ACTION_1934 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1935: x<-K+L+O+S+U+V #define ACTION_1935 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1936: x<-K+L+O+S+U+W #define ACTION_1936 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1937: x<-K+L+O+S+V+W #define ACTION_1937 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1938: x<-K+L+O+T+U+W #define ACTION_1938 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1939: x<-K+L+O+T+V+W #define ACTION_1939 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1940: x<-K+L+O+U+V+W #define ACTION_1940 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1941: x<-K+L+P+Q+T+U #define ACTION_1941 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1942: x<-K+L+P+Q+T+V #define ACTION_1942 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1943: x<-K+L+P+Q+T+W #define ACTION_1943 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1944: x<-K+L+P+Q+U+V #define ACTION_1944 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1945: x<-K+L+P+Q+U+W #define ACTION_1945 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1946: x<-K+L+P+Q+V+W #define ACTION_1946 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1947: x<-K+L+P+R+T+U #define ACTION_1947 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1948: x<-K+L+P+R+T+V #define ACTION_1948 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1949: x<-K+L+P+R+T+W #define ACTION_1949 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1950: x<-K+L+P+R+U+V #define ACTION_1950 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1951: x<-K+L+P+R+U+W #define ACTION_1951 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1952: x<-K+L+P+R+V+W #define ACTION_1952 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1953: x<-K+L+P+T+U+W #define ACTION_1953 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1954: x<-K+L+P+T+V+W #define ACTION_1954 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1955: x<-K+L+P+U+V+W #define ACTION_1955 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1956: x<-K+L+Q+R+T+U #define ACTION_1956 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1957: x<-K+L+Q+R+T+V #define ACTION_1957 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1958: x<-K+L+Q+R+T+W #define ACTION_1958 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1959: x<-K+L+Q+R+U+V #define ACTION_1959 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1960: x<-K+L+Q+R+U+W #define ACTION_1960 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1961: x<-K+L+Q+R+V+W #define ACTION_1961 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1962: x<-K+L+Q+S+T+U #define ACTION_1962 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1963: x<-K+L+Q+S+T+V #define ACTION_1963 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1964: x<-K+L+Q+S+T+W #define ACTION_1964 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1965: x<-K+L+Q+S+U+V #define ACTION_1965 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1966: x<-K+L+Q+S+U+W #define ACTION_1966 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1967: x<-K+L+Q+S+V+W #define ACTION_1967 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1968: x<-K+L+Q+T+U+W #define ACTION_1968 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1969: x<-K+L+Q+T+V+W #define ACTION_1969 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1970: x<-K+L+Q+U+V+W #define ACTION_1970 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1971: x<-K+L+R+S+T+U #define ACTION_1971 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1972: x<-K+L+R+S+T+V #define ACTION_1972 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1973: x<-K+L+R+S+T+W #define ACTION_1973 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1974: x<-K+L+R+S+U+V #define ACTION_1974 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1975: x<-K+L+R+S+U+W #define ACTION_1975 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1976: x<-K+L+R+S+V+W #define ACTION_1976 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1977: x<-K+L+R+T+U+W #define ACTION_1977 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1978: x<-K+L+R+T+V+W #define ACTION_1978 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1979: x<-K+L+R+U+V+W #define ACTION_1979 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1980: x<-K+L+S+T+U+W #define ACTION_1980 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1981: x<-K+L+S+T+V+W #define ACTION_1981 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1982: x<-K+L+S+U+V+W #define ACTION_1982 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1983: x<-K+M+N+O+T+U #define ACTION_1983 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1984: x<-K+M+N+O+T+V #define ACTION_1984 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1985: x<-K+M+N+O+T+W #define ACTION_1985 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1986: x<-K+M+N+O+U+V #define ACTION_1986 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1987: x<-K+M+N+O+U+W #define ACTION_1987 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1988: x<-K+M+N+O+V+W #define ACTION_1988 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1989: x<-K+M+N+P+T+U #define ACTION_1989 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1990: x<-K+M+N+P+T+V #define ACTION_1990 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1991: x<-K+M+N+P+T+W #define ACTION_1991 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1992: x<-K+M+N+P+U+V #define ACTION_1992 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1993: x<-K+M+N+P+U+W #define ACTION_1993 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1994: x<-K+M+N+P+V+W #define ACTION_1994 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1995: x<-K+M+N+R+T+U #define ACTION_1995 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1996: x<-K+M+N+R+T+V #define ACTION_1996 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1997: x<-K+M+N+R+T+W #define ACTION_1997 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1998: x<-K+M+N+R+U+V #define ACTION_1998 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1999: x<-K+M+N+R+U+W #define ACTION_1999 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2000: x<-K+M+N+R+V+W #define ACTION_2000 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2001: x<-K+M+N+S+T+U #define ACTION_2001 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2002: x<-K+M+N+S+T+V #define ACTION_2002 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2003: x<-K+M+N+S+T+W #define ACTION_2003 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2004: x<-K+M+N+S+U+V #define ACTION_2004 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2005: x<-K+M+N+S+U+W #define ACTION_2005 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2006: x<-K+M+N+S+V+W #define ACTION_2006 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2007: x<-K+M+N+T+U+W #define ACTION_2007 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2008: x<-K+M+N+T+V+W #define ACTION_2008 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2009: x<-K+M+N+U+V+W #define ACTION_2009 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2010: x<-K+M+O+P+T+U #define ACTION_2010 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2011: x<-K+M+O+P+T+V #define ACTION_2011 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2012: x<-K+M+O+P+T+W #define ACTION_2012 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2013: x<-K+M+O+P+U+V #define ACTION_2013 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2014: x<-K+M+O+P+U+W #define ACTION_2014 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2015: x<-K+M+O+P+V+W #define ACTION_2015 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2016: x<-K+M+O+Q+T+U #define ACTION_2016 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2017: x<-K+M+O+Q+T+V #define ACTION_2017 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2018: x<-K+M+O+Q+T+W #define ACTION_2018 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2019: x<-K+M+O+Q+U+V #define ACTION_2019 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2020: x<-K+M+O+Q+U+W #define ACTION_2020 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2021: x<-K+M+O+Q+V+W #define ACTION_2021 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2022: x<-K+M+O+S+T+U #define ACTION_2022 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2023: x<-K+M+O+S+T+V #define ACTION_2023 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2024: x<-K+M+O+S+T+W #define ACTION_2024 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2025: x<-K+M+O+S+U+V #define ACTION_2025 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2026: x<-K+M+O+S+U+W #define ACTION_2026 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2027: x<-K+M+O+S+V+W #define ACTION_2027 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2028: x<-K+M+O+T+U+W #define ACTION_2028 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2029: x<-K+M+O+T+V+W #define ACTION_2029 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2030: x<-K+M+O+U+V+W #define ACTION_2030 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2031: x<-K+M+P+Q+T+U #define ACTION_2031 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2032: x<-K+M+P+Q+T+V #define ACTION_2032 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2033: x<-K+M+P+Q+T+W #define ACTION_2033 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2034: x<-K+M+P+Q+U+V #define ACTION_2034 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2035: x<-K+M+P+Q+U+W #define ACTION_2035 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2036: x<-K+M+P+Q+V+W #define ACTION_2036 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2037: x<-K+M+P+R+T+U #define ACTION_2037 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2038: x<-K+M+P+R+T+V #define ACTION_2038 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2039: x<-K+M+P+R+T+W #define ACTION_2039 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2040: x<-K+M+P+R+U+V #define ACTION_2040 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2041: x<-K+M+P+R+U+W #define ACTION_2041 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2042: x<-K+M+P+R+V+W #define ACTION_2042 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2043: x<-K+M+P+T+U+W #define ACTION_2043 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2044: x<-K+M+P+T+V+W #define ACTION_2044 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2045: x<-K+M+P+U+V+W #define ACTION_2045 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2046: x<-K+M+Q+R+T+U #define ACTION_2046 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2047: x<-K+M+Q+R+T+V #define ACTION_2047 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2048: x<-K+M+Q+R+T+W #define ACTION_2048 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2049: x<-K+M+Q+R+U+V #define ACTION_2049 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2050: x<-K+M+Q+R+U+W #define ACTION_2050 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2051: x<-K+M+Q+R+V+W #define ACTION_2051 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2052: x<-K+M+Q+S+T+U #define ACTION_2052 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2053: x<-K+M+Q+S+T+V #define ACTION_2053 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2054: x<-K+M+Q+S+T+W #define ACTION_2054 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2055: x<-K+M+Q+S+U+V #define ACTION_2055 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2056: x<-K+M+Q+S+U+W #define ACTION_2056 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2057: x<-K+M+Q+S+V+W #define ACTION_2057 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2058: x<-K+M+Q+T+U+W #define ACTION_2058 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2059: x<-K+M+Q+T+V+W #define ACTION_2059 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2060: x<-K+M+Q+U+V+W #define ACTION_2060 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2061: x<-K+M+R+S+T+U #define ACTION_2061 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2062: x<-K+M+R+S+T+V #define ACTION_2062 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2063: x<-K+M+R+S+T+W #define ACTION_2063 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2064: x<-K+M+R+S+U+V #define ACTION_2064 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2065: x<-K+M+R+S+U+W #define ACTION_2065 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2066: x<-K+M+R+S+V+W #define ACTION_2066 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2067: x<-K+M+R+T+U+W #define ACTION_2067 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2068: x<-K+M+R+T+V+W #define ACTION_2068 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2069: x<-K+M+R+U+V+W #define ACTION_2069 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2070: x<-K+M+S+T+U+W #define ACTION_2070 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2071: x<-K+M+S+T+V+W #define ACTION_2071 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2072: x<-K+M+S+U+V+W #define ACTION_2072 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2073: x<-K+N+O+R+T+U #define ACTION_2073 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2074: x<-K+N+O+R+T+V #define ACTION_2074 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2075: x<-K+N+O+R+T+W #define ACTION_2075 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2076: x<-K+N+O+R+U+V #define ACTION_2076 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2077: x<-K+N+O+R+U+W #define ACTION_2077 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2078: x<-K+N+O+R+V+W #define ACTION_2078 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2079: x<-K+N+O+S+T+U #define ACTION_2079 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2080: x<-K+N+O+S+T+V #define ACTION_2080 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2081: x<-K+N+O+S+T+W #define ACTION_2081 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2082: x<-K+N+O+S+U+V #define ACTION_2082 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2083: x<-K+N+O+S+U+W #define ACTION_2083 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2084: x<-K+N+O+S+V+W #define ACTION_2084 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2085: x<-K+N+O+T+U+W #define ACTION_2085 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2086: x<-K+N+O+T+V+W #define ACTION_2086 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2087: x<-K+N+O+U+V+W #define ACTION_2087 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2088: x<-K+N+P+R+T+U #define ACTION_2088 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2089: x<-K+N+P+R+T+V #define ACTION_2089 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2090: x<-K+N+P+R+T+W #define ACTION_2090 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2091: x<-K+N+P+R+U+V #define ACTION_2091 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2092: x<-K+N+P+R+U+W #define ACTION_2092 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2093: x<-K+N+P+R+V+W #define ACTION_2093 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2094: x<-K+N+P+S+T+U #define ACTION_2094 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2095: x<-K+N+P+S+T+V #define ACTION_2095 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2096: x<-K+N+P+S+T+W #define ACTION_2096 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2097: x<-K+N+P+S+U+V #define ACTION_2097 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2098: x<-K+N+P+S+U+W #define ACTION_2098 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2099: x<-K+N+P+S+V+W #define ACTION_2099 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2100: x<-K+N+P+T+U+W #define ACTION_2100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2101: x<-K+N+P+T+V+W #define ACTION_2101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2102: x<-K+N+P+U+V+W #define ACTION_2102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2103: x<-K+N+R+T+U+W #define ACTION_2103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2104: x<-K+N+R+T+V+W #define ACTION_2104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2105: x<-K+N+R+U+V+W #define ACTION_2105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2106: x<-K+N+S+T+U+W #define ACTION_2106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2107: x<-K+N+S+T+V+W #define ACTION_2107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2108: x<-K+N+S+U+V+W #define ACTION_2108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2109: x<-K+O+P+S+T+U #define ACTION_2109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2110: x<-K+O+P+S+T+V #define ACTION_2110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2111: x<-K+O+P+S+T+W #define ACTION_2111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2112: x<-K+O+P+S+U+V #define ACTION_2112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2113: x<-K+O+P+S+U+W #define ACTION_2113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2114: x<-K+O+P+S+V+W #define ACTION_2114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2115: x<-K+O+P+T+U+W #define ACTION_2115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2116: x<-K+O+P+T+V+W #define ACTION_2116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2117: x<-K+O+P+U+V+W #define ACTION_2117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2118: x<-K+O+Q+R+T+U #define ACTION_2118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2119: x<-K+O+Q+R+T+V #define ACTION_2119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2120: x<-K+O+Q+R+T+W #define ACTION_2120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2121: x<-K+O+Q+R+U+V #define ACTION_2121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2122: x<-K+O+Q+R+U+W #define ACTION_2122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2123: x<-K+O+Q+R+V+W #define ACTION_2123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2124: x<-K+O+Q+S+T+U #define ACTION_2124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2125: x<-K+O+Q+S+T+V #define ACTION_2125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2126: x<-K+O+Q+S+T+W #define ACTION_2126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2127: x<-K+O+Q+S+U+V #define ACTION_2127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2128: x<-K+O+Q+S+U+W #define ACTION_2128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2129: x<-K+O+Q+S+V+W #define ACTION_2129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2130: x<-K+O+Q+T+U+W #define ACTION_2130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2131: x<-K+O+Q+T+V+W #define ACTION_2131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2132: x<-K+O+Q+U+V+W #define ACTION_2132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2133: x<-K+O+R+S+T+U #define ACTION_2133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2134: x<-K+O+R+S+T+V #define ACTION_2134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2135: x<-K+O+R+S+T+W #define ACTION_2135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2136: x<-K+O+R+S+U+V #define ACTION_2136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2137: x<-K+O+R+S+U+W #define ACTION_2137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2138: x<-K+O+R+S+V+W #define ACTION_2138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2139: x<-K+O+R+T+U+W #define ACTION_2139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2140: x<-K+O+R+T+V+W #define ACTION_2140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2141: x<-K+O+R+U+V+W #define ACTION_2141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2142: x<-K+O+S+T+U+W #define ACTION_2142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2143: x<-K+O+S+T+V+W #define ACTION_2143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2144: x<-K+O+S+U+V+W #define ACTION_2144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2145: x<-K+P+Q+R+T+U #define ACTION_2145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2146: x<-K+P+Q+R+T+V #define ACTION_2146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2147: x<-K+P+Q+R+T+W #define ACTION_2147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2148: x<-K+P+Q+R+U+V #define ACTION_2148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2149: x<-K+P+Q+R+U+W #define ACTION_2149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2150: x<-K+P+Q+R+V+W #define ACTION_2150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2151: x<-K+P+Q+S+T+U #define ACTION_2151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2152: x<-K+P+Q+S+T+V #define ACTION_2152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2153: x<-K+P+Q+S+T+W #define ACTION_2153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2154: x<-K+P+Q+S+U+V #define ACTION_2154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2155: x<-K+P+Q+S+U+W #define ACTION_2155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2156: x<-K+P+Q+S+V+W #define ACTION_2156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2157: x<-K+P+Q+T+U+W #define ACTION_2157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2158: x<-K+P+Q+T+V+W #define ACTION_2158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2159: x<-K+P+Q+U+V+W #define ACTION_2159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2160: x<-K+P+R+S+T+U #define ACTION_2160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2161: x<-K+P+R+S+T+V #define ACTION_2161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2162: x<-K+P+R+S+T+W #define ACTION_2162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2163: x<-K+P+R+S+U+V #define ACTION_2163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2164: x<-K+P+R+S+U+W #define ACTION_2164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2165: x<-K+P+R+S+V+W #define ACTION_2165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2166: x<-K+P+R+T+U+W #define ACTION_2166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2167: x<-K+P+R+T+V+W #define ACTION_2167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2168: x<-K+P+R+U+V+W #define ACTION_2168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2169: x<-K+P+S+T+U+W #define ACTION_2169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2170: x<-K+P+S+T+V+W #define ACTION_2170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2171: x<-K+P+S+U+V+W #define ACTION_2171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2172: x<-K+Q+R+T+U+W #define ACTION_2172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2173: x<-K+Q+R+T+V+W #define ACTION_2173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2174: x<-K+Q+R+U+V+W #define ACTION_2174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2175: x<-K+Q+S+T+U+W #define ACTION_2175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2176: x<-K+Q+S+T+V+W #define ACTION_2176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2177: x<-K+Q+S+U+V+W #define ACTION_2177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2178: x<-K+R+S+T+U+W #define ACTION_2178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2179: x<-K+R+S+T+V+W #define ACTION_2179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2180: x<-K+R+S+U+V+W #define ACTION_2180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2181: x<-L+M+N+O+T+U #define ACTION_2181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2182: x<-L+M+N+O+T+V #define ACTION_2182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2183: x<-L+M+N+O+T+W #define ACTION_2183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2184: x<-L+M+N+O+U+V #define ACTION_2184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2185: x<-L+M+N+O+U+W #define ACTION_2185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2186: x<-L+M+N+O+V+W #define ACTION_2186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2187: x<-L+M+N+P+T+U #define ACTION_2187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2188: x<-L+M+N+P+T+V #define ACTION_2188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2189: x<-L+M+N+P+T+W #define ACTION_2189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2190: x<-L+M+N+P+U+V #define ACTION_2190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2191: x<-L+M+N+P+U+W #define ACTION_2191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2192: x<-L+M+N+P+V+W #define ACTION_2192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2193: x<-L+M+N+R+T+U #define ACTION_2193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2194: x<-L+M+N+R+T+V #define ACTION_2194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2195: x<-L+M+N+R+T+W #define ACTION_2195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2196: x<-L+M+N+R+U+V #define ACTION_2196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2197: x<-L+M+N+R+U+W #define ACTION_2197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2198: x<-L+M+N+R+V+W #define ACTION_2198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2199: x<-L+M+N+S+T+U #define ACTION_2199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2200: x<-L+M+N+S+T+V #define ACTION_2200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2201: x<-L+M+N+S+T+W #define ACTION_2201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2202: x<-L+M+N+S+U+V #define ACTION_2202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2203: x<-L+M+N+S+U+W #define ACTION_2203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2204: x<-L+M+N+S+V+W #define ACTION_2204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2205: x<-L+M+N+T+U+W #define ACTION_2205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2206: x<-L+M+N+T+V+W #define ACTION_2206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2207: x<-L+M+N+U+V+W #define ACTION_2207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2208: x<-L+M+O+P+T+U #define ACTION_2208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2209: x<-L+M+O+P+T+V #define ACTION_2209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2210: x<-L+M+O+P+T+W #define ACTION_2210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2211: x<-L+M+O+P+U+V #define ACTION_2211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2212: x<-L+M+O+P+U+W #define ACTION_2212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2213: x<-L+M+O+P+V+W #define ACTION_2213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2214: x<-L+M+O+Q+T+U #define ACTION_2214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2215: x<-L+M+O+Q+T+V #define ACTION_2215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2216: x<-L+M+O+Q+T+W #define ACTION_2216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2217: x<-L+M+O+Q+U+V #define ACTION_2217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2218: x<-L+M+O+Q+U+W #define ACTION_2218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2219: x<-L+M+O+Q+V+W #define ACTION_2219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2220: x<-L+M+O+S+T+U #define ACTION_2220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2221: x<-L+M+O+S+T+V #define ACTION_2221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2222: x<-L+M+O+S+T+W #define ACTION_2222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2223: x<-L+M+O+S+U+V #define ACTION_2223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2224: x<-L+M+O+S+U+W #define ACTION_2224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2225: x<-L+M+O+S+V+W #define ACTION_2225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2226: x<-L+M+O+T+U+W #define ACTION_2226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2227: x<-L+M+O+T+V+W #define ACTION_2227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2228: x<-L+M+O+U+V+W #define ACTION_2228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2229: x<-L+M+P+Q+T+U #define ACTION_2229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2230: x<-L+M+P+Q+T+V #define ACTION_2230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2231: x<-L+M+P+Q+T+W #define ACTION_2231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2232: x<-L+M+P+Q+U+V #define ACTION_2232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2233: x<-L+M+P+Q+U+W #define ACTION_2233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2234: x<-L+M+P+Q+V+W #define ACTION_2234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2235: x<-L+M+P+R+T+U #define ACTION_2235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2236: x<-L+M+P+R+T+V #define ACTION_2236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2237: x<-L+M+P+R+T+W #define ACTION_2237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2238: x<-L+M+P+R+U+V #define ACTION_2238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2239: x<-L+M+P+R+U+W #define ACTION_2239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2240: x<-L+M+P+R+V+W #define ACTION_2240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2241: x<-L+M+P+T+U+W #define ACTION_2241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2242: x<-L+M+P+T+V+W #define ACTION_2242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2243: x<-L+M+P+U+V+W #define ACTION_2243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2244: x<-L+M+Q+R+T+U #define ACTION_2244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2245: x<-L+M+Q+R+T+V #define ACTION_2245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2246: x<-L+M+Q+R+T+W #define ACTION_2246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2247: x<-L+M+Q+R+U+V #define ACTION_2247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2248: x<-L+M+Q+R+U+W #define ACTION_2248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2249: x<-L+M+Q+R+V+W #define ACTION_2249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2250: x<-L+M+Q+S+T+U #define ACTION_2250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2251: x<-L+M+Q+S+T+V #define ACTION_2251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2252: x<-L+M+Q+S+T+W #define ACTION_2252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2253: x<-L+M+Q+S+U+V #define ACTION_2253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2254: x<-L+M+Q+S+U+W #define ACTION_2254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2255: x<-L+M+Q+S+V+W #define ACTION_2255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2256: x<-L+M+Q+T+U+W #define ACTION_2256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2257: x<-L+M+Q+T+V+W #define ACTION_2257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2258: x<-L+M+Q+U+V+W #define ACTION_2258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2259: x<-L+M+R+S+T+U #define ACTION_2259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2260: x<-L+M+R+S+T+V #define ACTION_2260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2261: x<-L+M+R+S+T+W #define ACTION_2261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2262: x<-L+M+R+S+U+V #define ACTION_2262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2263: x<-L+M+R+S+U+W #define ACTION_2263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2264: x<-L+M+R+S+V+W #define ACTION_2264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2265: x<-L+M+R+T+U+W #define ACTION_2265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2266: x<-L+M+R+T+V+W #define ACTION_2266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2267: x<-L+M+R+U+V+W #define ACTION_2267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2268: x<-L+M+S+T+U+W #define ACTION_2268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2269: x<-L+M+S+T+V+W #define ACTION_2269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2270: x<-L+M+S+U+V+W #define ACTION_2270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2271: x<-L+N+O+Q+T+U #define ACTION_2271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2272: x<-L+N+O+Q+T+V #define ACTION_2272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2273: x<-L+N+O+Q+T+W #define ACTION_2273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2274: x<-L+N+O+Q+U+V #define ACTION_2274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2275: x<-L+N+O+Q+U+W #define ACTION_2275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2276: x<-L+N+O+Q+V+W #define ACTION_2276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2277: x<-L+N+O+T+U+W #define ACTION_2277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2278: x<-L+N+O+T+V+W #define ACTION_2278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2279: x<-L+N+O+U+V+W #define ACTION_2279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2280: x<-L+N+P+Q+T+U #define ACTION_2280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2281: x<-L+N+P+Q+T+V #define ACTION_2281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2282: x<-L+N+P+Q+T+W #define ACTION_2282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2283: x<-L+N+P+Q+U+V #define ACTION_2283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2284: x<-L+N+P+Q+U+W #define ACTION_2284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2285: x<-L+N+P+Q+V+W #define ACTION_2285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2286: x<-L+N+P+R+T+U #define ACTION_2286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2287: x<-L+N+P+R+T+V #define ACTION_2287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2288: x<-L+N+P+R+T+W #define ACTION_2288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2289: x<-L+N+P+R+U+V #define ACTION_2289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2290: x<-L+N+P+R+U+W #define ACTION_2290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2291: x<-L+N+P+R+V+W #define ACTION_2291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2292: x<-L+N+P+S+T+U #define ACTION_2292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2293: x<-L+N+P+S+T+V #define ACTION_2293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2294: x<-L+N+P+S+T+W #define ACTION_2294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2295: x<-L+N+P+S+U+V #define ACTION_2295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2296: x<-L+N+P+S+U+W #define ACTION_2296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2297: x<-L+N+P+S+V+W #define ACTION_2297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2298: x<-L+N+P+T+U+W #define ACTION_2298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2299: x<-L+N+P+T+V+W #define ACTION_2299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2300: x<-L+N+P+U+V+W #define ACTION_2300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2301: x<-L+N+Q+R+T+U #define ACTION_2301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2302: x<-L+N+Q+R+T+V #define ACTION_2302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2303: x<-L+N+Q+R+T+W #define ACTION_2303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2304: x<-L+N+Q+R+U+V #define ACTION_2304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2305: x<-L+N+Q+R+U+W #define ACTION_2305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2306: x<-L+N+Q+R+V+W #define ACTION_2306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2307: x<-L+N+Q+S+T+U #define ACTION_2307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2308: x<-L+N+Q+S+T+V #define ACTION_2308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2309: x<-L+N+Q+S+T+W #define ACTION_2309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2310: x<-L+N+Q+S+U+V #define ACTION_2310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2311: x<-L+N+Q+S+U+W #define ACTION_2311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2312: x<-L+N+Q+S+V+W #define ACTION_2312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2313: x<-L+N+Q+T+U+W #define ACTION_2313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2314: x<-L+N+Q+T+V+W #define ACTION_2314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2315: x<-L+N+Q+U+V+W #define ACTION_2315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2316: x<-L+N+R+S+T+U #define ACTION_2316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2317: x<-L+N+R+S+T+V #define ACTION_2317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2318: x<-L+N+R+S+T+W #define ACTION_2318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2319: x<-L+N+R+S+U+V #define ACTION_2319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2320: x<-L+N+R+S+U+W #define ACTION_2320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2321: x<-L+N+R+S+V+W #define ACTION_2321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2322: x<-L+N+R+T+U+W #define ACTION_2322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2323: x<-L+N+R+T+V+W #define ACTION_2323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2324: x<-L+N+R+U+V+W #define ACTION_2324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2325: x<-L+N+S+T+U+W #define ACTION_2325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2326: x<-L+N+S+T+V+W #define ACTION_2326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2327: x<-L+N+S+U+V+W #define ACTION_2327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2328: x<-L+O+P+S+T+U #define ACTION_2328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2329: x<-L+O+P+S+T+V #define ACTION_2329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2330: x<-L+O+P+S+T+W #define ACTION_2330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2331: x<-L+O+P+S+U+V #define ACTION_2331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2332: x<-L+O+P+S+U+W #define ACTION_2332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2333: x<-L+O+P+S+V+W #define ACTION_2333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2334: x<-L+O+P+T+U+W #define ACTION_2334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2335: x<-L+O+P+T+V+W #define ACTION_2335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2336: x<-L+O+P+U+V+W #define ACTION_2336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2337: x<-L+O+Q+T+U+W #define ACTION_2337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2338: x<-L+O+Q+T+V+W #define ACTION_2338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2339: x<-L+O+Q+U+V+W #define ACTION_2339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2340: x<-L+O+S+T+U+W #define ACTION_2340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2341: x<-L+O+S+T+V+W #define ACTION_2341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2342: x<-L+O+S+U+V+W #define ACTION_2342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2343: x<-L+P+Q+R+T+U #define ACTION_2343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2344: x<-L+P+Q+R+T+V #define ACTION_2344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2345: x<-L+P+Q+R+T+W #define ACTION_2345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2346: x<-L+P+Q+R+U+V #define ACTION_2346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2347: x<-L+P+Q+R+U+W #define ACTION_2347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2348: x<-L+P+Q+R+V+W #define ACTION_2348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2349: x<-L+P+Q+S+T+U #define ACTION_2349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2350: x<-L+P+Q+S+T+V #define ACTION_2350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2351: x<-L+P+Q+S+T+W #define ACTION_2351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2352: x<-L+P+Q+S+U+V #define ACTION_2352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2353: x<-L+P+Q+S+U+W #define ACTION_2353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2354: x<-L+P+Q+S+V+W #define ACTION_2354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2355: x<-L+P+Q+T+U+W #define ACTION_2355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2356: x<-L+P+Q+T+V+W #define ACTION_2356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2357: x<-L+P+Q+U+V+W #define ACTION_2357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2358: x<-L+P+R+S+T+U #define ACTION_2358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2359: x<-L+P+R+S+T+V #define ACTION_2359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2360: x<-L+P+R+S+T+W #define ACTION_2360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2361: x<-L+P+R+S+U+V #define ACTION_2361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2362: x<-L+P+R+S+U+W #define ACTION_2362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2363: x<-L+P+R+S+V+W #define ACTION_2363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2364: x<-L+P+R+T+U+W #define ACTION_2364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2365: x<-L+P+R+T+V+W #define ACTION_2365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2366: x<-L+P+R+U+V+W #define ACTION_2366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2367: x<-L+P+S+T+U+W #define ACTION_2367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2368: x<-L+P+S+T+V+W #define ACTION_2368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2369: x<-L+P+S+U+V+W #define ACTION_2369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2370: x<-L+Q+R+T+U+W #define ACTION_2370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2371: x<-L+Q+R+T+V+W #define ACTION_2371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2372: x<-L+Q+R+U+V+W #define ACTION_2372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2373: x<-L+Q+S+T+U+W #define ACTION_2373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2374: x<-L+Q+S+T+V+W #define ACTION_2374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2375: x<-L+Q+S+U+V+W #define ACTION_2375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2376: x<-L+R+S+T+U+W #define ACTION_2376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2377: x<-L+R+S+T+V+W #define ACTION_2377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2378: x<-L+R+S+U+V+W #define ACTION_2378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2379: x<-M+N+O+Q+T+U #define ACTION_2379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2380: x<-M+N+O+Q+T+V #define ACTION_2380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2381: x<-M+N+O+Q+T+W #define ACTION_2381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2382: x<-M+N+O+Q+U+V #define ACTION_2382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2383: x<-M+N+O+Q+U+W #define ACTION_2383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2384: x<-M+N+O+Q+V+W #define ACTION_2384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2385: x<-M+N+O+T+U+W #define ACTION_2385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2386: x<-M+N+O+T+V+W #define ACTION_2386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2387: x<-M+N+O+U+V+W #define ACTION_2387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2388: x<-M+N+P+Q+T+U #define ACTION_2388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2389: x<-M+N+P+Q+T+V #define ACTION_2389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2390: x<-M+N+P+Q+T+W #define ACTION_2390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2391: x<-M+N+P+Q+U+V #define ACTION_2391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2392: x<-M+N+P+Q+U+W #define ACTION_2392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2393: x<-M+N+P+Q+V+W #define ACTION_2393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2394: x<-M+N+P+R+T+U #define ACTION_2394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2395: x<-M+N+P+R+T+V #define ACTION_2395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2396: x<-M+N+P+R+T+W #define ACTION_2396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2397: x<-M+N+P+R+U+V #define ACTION_2397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2398: x<-M+N+P+R+U+W #define ACTION_2398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2399: x<-M+N+P+R+V+W #define ACTION_2399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2400: x<-M+N+P+T+U+W #define ACTION_2400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2401: x<-M+N+P+T+V+W #define ACTION_2401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2402: x<-M+N+P+U+V+W #define ACTION_2402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2403: x<-M+N+Q+R+T+U #define ACTION_2403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2404: x<-M+N+Q+R+T+V #define ACTION_2404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2405: x<-M+N+Q+R+T+W #define ACTION_2405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2406: x<-M+N+Q+R+U+V #define ACTION_2406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2407: x<-M+N+Q+R+U+W #define ACTION_2407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2408: x<-M+N+Q+R+V+W #define ACTION_2408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2409: x<-M+N+Q+S+T+U #define ACTION_2409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2410: x<-M+N+Q+S+T+V #define ACTION_2410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2411: x<-M+N+Q+S+T+W #define ACTION_2411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2412: x<-M+N+Q+S+U+V #define ACTION_2412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2413: x<-M+N+Q+S+U+W #define ACTION_2413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2414: x<-M+N+Q+S+V+W #define ACTION_2414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2415: x<-M+N+Q+T+U+W #define ACTION_2415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2416: x<-M+N+Q+T+V+W #define ACTION_2416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2417: x<-M+N+Q+U+V+W #define ACTION_2417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2418: x<-M+N+R+S+T+U #define ACTION_2418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2419: x<-M+N+R+S+T+V #define ACTION_2419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2420: x<-M+N+R+S+T+W #define ACTION_2420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2421: x<-M+N+R+S+U+V #define ACTION_2421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2422: x<-M+N+R+S+U+W #define ACTION_2422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2423: x<-M+N+R+S+V+W #define ACTION_2423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2424: x<-M+N+R+T+U+W #define ACTION_2424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2425: x<-M+N+R+T+V+W #define ACTION_2425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2426: x<-M+N+R+U+V+W #define ACTION_2426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2427: x<-M+N+S+T+U+W #define ACTION_2427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2428: x<-M+N+S+T+V+W #define ACTION_2428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2429: x<-M+N+S+U+V+W #define ACTION_2429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2430: x<-M+O+P+Q+T+U #define ACTION_2430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2431: x<-M+O+P+Q+T+V #define ACTION_2431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2432: x<-M+O+P+Q+T+W #define ACTION_2432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2433: x<-M+O+P+Q+U+V #define ACTION_2433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2434: x<-M+O+P+Q+U+W #define ACTION_2434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2435: x<-M+O+P+Q+V+W #define ACTION_2435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2436: x<-M+O+P+R+T+U #define ACTION_2436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2437: x<-M+O+P+R+T+V #define ACTION_2437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2438: x<-M+O+P+R+T+W #define ACTION_2438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2439: x<-M+O+P+R+U+V #define ACTION_2439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2440: x<-M+O+P+R+U+W #define ACTION_2440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2441: x<-M+O+P+R+V+W #define ACTION_2441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2442: x<-M+O+P+T+U+W #define ACTION_2442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2443: x<-M+O+P+T+V+W #define ACTION_2443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2444: x<-M+O+P+U+V+W #define ACTION_2444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2445: x<-M+O+Q+R+T+U #define ACTION_2445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2446: x<-M+O+Q+R+T+V #define ACTION_2446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2447: x<-M+O+Q+R+T+W #define ACTION_2447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2448: x<-M+O+Q+R+U+V #define ACTION_2448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2449: x<-M+O+Q+R+U+W #define ACTION_2449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2450: x<-M+O+Q+R+V+W #define ACTION_2450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2451: x<-M+O+Q+S+T+U #define ACTION_2451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2452: x<-M+O+Q+S+T+V #define ACTION_2452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2453: x<-M+O+Q+S+T+W #define ACTION_2453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2454: x<-M+O+Q+S+U+V #define ACTION_2454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2455: x<-M+O+Q+S+U+W #define ACTION_2455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2456: x<-M+O+Q+S+V+W #define ACTION_2456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2457: x<-M+O+Q+T+U+W #define ACTION_2457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2458: x<-M+O+Q+T+V+W #define ACTION_2458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2459: x<-M+O+Q+U+V+W #define ACTION_2459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2460: x<-M+O+R+S+T+U #define ACTION_2460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2461: x<-M+O+R+S+T+V #define ACTION_2461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2462: x<-M+O+R+S+T+W #define ACTION_2462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2463: x<-M+O+R+S+U+V #define ACTION_2463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2464: x<-M+O+R+S+U+W #define ACTION_2464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2465: x<-M+O+R+S+V+W #define ACTION_2465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2466: x<-M+O+R+T+U+W #define ACTION_2466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2467: x<-M+O+R+T+V+W #define ACTION_2467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2468: x<-M+O+R+U+V+W #define ACTION_2468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2469: x<-M+O+S+T+U+W #define ACTION_2469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2470: x<-M+O+S+T+V+W #define ACTION_2470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2471: x<-M+O+S+U+V+W #define ACTION_2471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2472: x<-M+P+Q+T+U+W #define ACTION_2472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2473: x<-M+P+Q+T+V+W #define ACTION_2473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2474: x<-M+P+Q+U+V+W #define ACTION_2474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2475: x<-M+P+R+T+U+W #define ACTION_2475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2476: x<-M+P+R+T+V+W #define ACTION_2476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2477: x<-M+P+R+U+V+W #define ACTION_2477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2478: x<-M+Q+R+T+U+W #define ACTION_2478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2479: x<-M+Q+R+T+V+W #define ACTION_2479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2480: x<-M+Q+R+U+V+W #define ACTION_2480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2481: x<-M+Q+S+T+U+W #define ACTION_2481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2482: x<-M+Q+S+T+V+W #define ACTION_2482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2483: x<-M+Q+S+U+V+W #define ACTION_2483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2484: x<-M+R+S+T+U+W #define ACTION_2484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2485: x<-M+R+S+T+V+W #define ACTION_2485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2486: x<-M+R+S+U+V+W #define ACTION_2486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2487: x<-N+O+Q+R+T+U #define ACTION_2487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2488: x<-N+O+Q+R+T+V #define ACTION_2488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2489: x<-N+O+Q+R+T+W #define ACTION_2489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2490: x<-N+O+Q+R+U+V #define ACTION_2490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2491: x<-N+O+Q+R+U+W #define ACTION_2491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2492: x<-N+O+Q+R+V+W #define ACTION_2492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2493: x<-N+O+Q+S+T+U #define ACTION_2493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2494: x<-N+O+Q+S+T+V #define ACTION_2494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2495: x<-N+O+Q+S+T+W #define ACTION_2495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2496: x<-N+O+Q+S+U+V #define ACTION_2496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2497: x<-N+O+Q+S+U+W #define ACTION_2497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2498: x<-N+O+Q+S+V+W #define ACTION_2498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2499: x<-N+O+Q+T+U+W #define ACTION_2499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2500: x<-N+O+Q+T+V+W #define ACTION_2500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2501: x<-N+O+Q+U+V+W #define ACTION_2501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2502: x<-N+O+R+S+T+U #define ACTION_2502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2503: x<-N+O+R+S+T+V #define ACTION_2503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2504: x<-N+O+R+S+T+W #define ACTION_2504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2505: x<-N+O+R+S+U+V #define ACTION_2505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2506: x<-N+O+R+S+U+W #define ACTION_2506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2507: x<-N+O+R+S+V+W #define ACTION_2507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2508: x<-N+O+R+T+U+W #define ACTION_2508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2509: x<-N+O+R+T+V+W #define ACTION_2509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2510: x<-N+O+R+U+V+W #define ACTION_2510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2511: x<-N+O+S+T+U+W #define ACTION_2511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2512: x<-N+O+S+T+V+W #define ACTION_2512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2513: x<-N+O+S+U+V+W #define ACTION_2513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2514: x<-N+P+Q+R+T+U #define ACTION_2514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2515: x<-N+P+Q+R+T+V #define ACTION_2515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2516: x<-N+P+Q+R+T+W #define ACTION_2516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2517: x<-N+P+Q+R+U+V #define ACTION_2517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2518: x<-N+P+Q+R+U+W #define ACTION_2518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2519: x<-N+P+Q+R+V+W #define ACTION_2519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2520: x<-N+P+Q+S+T+U #define ACTION_2520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2521: x<-N+P+Q+S+T+V #define ACTION_2521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2522: x<-N+P+Q+S+T+W #define ACTION_2522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2523: x<-N+P+Q+S+U+V #define ACTION_2523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2524: x<-N+P+Q+S+U+W #define ACTION_2524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2525: x<-N+P+Q+S+V+W #define ACTION_2525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2526: x<-N+P+Q+T+U+W #define ACTION_2526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2527: x<-N+P+Q+T+V+W #define ACTION_2527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2528: x<-N+P+Q+U+V+W #define ACTION_2528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2529: x<-N+P+R+S+T+U #define ACTION_2529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2530: x<-N+P+R+S+T+V #define ACTION_2530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2531: x<-N+P+R+S+T+W #define ACTION_2531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2532: x<-N+P+R+S+U+V #define ACTION_2532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2533: x<-N+P+R+S+U+W #define ACTION_2533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2534: x<-N+P+R+S+V+W #define ACTION_2534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2535: x<-N+P+R+T+U+W #define ACTION_2535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2536: x<-N+P+R+T+V+W #define ACTION_2536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2537: x<-N+P+R+U+V+W #define ACTION_2537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2538: x<-N+P+S+T+U+W #define ACTION_2538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2539: x<-N+P+S+T+V+W #define ACTION_2539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2540: x<-N+P+S+U+V+W #define ACTION_2540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2541: x<-N+Q+R+T+U+W #define ACTION_2541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2542: x<-N+Q+R+T+V+W #define ACTION_2542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2543: x<-N+Q+R+U+V+W #define ACTION_2543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2544: x<-N+Q+S+T+U+W #define ACTION_2544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2545: x<-N+Q+S+T+V+W #define ACTION_2545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2546: x<-N+Q+S+U+V+W #define ACTION_2546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2547: x<-N+R+S+T+U+W #define ACTION_2547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2548: x<-N+R+S+T+V+W #define ACTION_2548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2549: x<-N+R+S+U+V+W #define ACTION_2549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2550: x<-O+P+Q+R+T+U #define ACTION_2550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2551: x<-O+P+Q+R+T+V #define ACTION_2551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2552: x<-O+P+Q+R+T+W #define ACTION_2552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2553: x<-O+P+Q+R+U+V #define ACTION_2553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2554: x<-O+P+Q+R+U+W #define ACTION_2554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2555: x<-O+P+Q+R+V+W #define ACTION_2555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2556: x<-O+P+Q+S+T+U #define ACTION_2556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2557: x<-O+P+Q+S+T+V #define ACTION_2557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2558: x<-O+P+Q+S+T+W #define ACTION_2558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2559: x<-O+P+Q+S+U+V #define ACTION_2559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2560: x<-O+P+Q+S+U+W #define ACTION_2560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2561: x<-O+P+Q+S+V+W #define ACTION_2561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2562: x<-O+P+Q+T+U+W #define ACTION_2562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2563: x<-O+P+Q+T+V+W #define ACTION_2563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2564: x<-O+P+Q+U+V+W #define ACTION_2564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2565: x<-O+P+R+S+T+U #define ACTION_2565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2566: x<-O+P+R+S+T+V #define ACTION_2566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2567: x<-O+P+R+S+T+W #define ACTION_2567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2568: x<-O+P+R+S+U+V #define ACTION_2568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2569: x<-O+P+R+S+U+W #define ACTION_2569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2570: x<-O+P+R+S+V+W #define ACTION_2570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2571: x<-O+P+R+T+U+W #define ACTION_2571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2572: x<-O+P+R+T+V+W #define ACTION_2572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2573: x<-O+P+R+U+V+W #define ACTION_2573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2574: x<-O+P+S+T+U+W #define ACTION_2574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2575: x<-O+P+S+T+V+W #define ACTION_2575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2576: x<-O+P+S+U+V+W #define ACTION_2576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2577: x<-O+Q+R+T+U+W #define ACTION_2577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2578: x<-O+Q+R+T+V+W #define ACTION_2578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2579: x<-O+Q+R+U+V+W #define ACTION_2579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2580: x<-O+Q+S+T+U+W #define ACTION_2580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2581: x<-O+Q+S+T+V+W #define ACTION_2581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2582: x<-O+Q+S+U+V+W #define ACTION_2582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2583: x<-O+R+S+T+U+W #define ACTION_2583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2584: x<-O+R+S+T+V+W #define ACTION_2584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2585: x<-O+R+S+U+V+W #define ACTION_2585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2586: x<-P+Q+R+T+U+W #define ACTION_2586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2587: x<-P+Q+R+T+V+W #define ACTION_2587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2588: x<-P+Q+R+U+V+W #define ACTION_2588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2589: x<-P+Q+S+T+U+W #define ACTION_2589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2590: x<-P+Q+S+T+V+W #define ACTION_2590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2591: x<-P+Q+S+U+V+W #define ACTION_2591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2592: x<-P+R+S+T+U+W #define ACTION_2592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2593: x<-P+R+S+T+V+W #define ACTION_2593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2594: x<-P+R+S+U+V+W #define ACTION_2594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2595: x<-K+L+N+O+T+U+W #define ACTION_2595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2596: x<-K+L+N+O+T+V+W #define ACTION_2596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2597: x<-K+L+N+O+U+V+W #define ACTION_2597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2598: x<-K+L+N+P+T+U+W #define ACTION_2598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2599: x<-K+L+N+P+T+V+W #define ACTION_2599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2600: x<-K+L+N+P+U+V+W #define ACTION_2600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2601: x<-K+L+N+R+T+U+W #define ACTION_2601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2602: x<-K+L+N+R+T+V+W #define ACTION_2602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2603: x<-K+L+N+R+U+V+W #define ACTION_2603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2604: x<-K+L+N+S+T+U+W #define ACTION_2604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2605: x<-K+L+N+S+T+V+W #define ACTION_2605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2606: x<-K+L+N+S+U+V+W #define ACTION_2606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2607: x<-K+L+O+P+T+U+W #define ACTION_2607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2608: x<-K+L+O+P+T+V+W #define ACTION_2608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2609: x<-K+L+O+P+U+V+W #define ACTION_2609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2610: x<-K+L+O+Q+T+U+W #define ACTION_2610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2611: x<-K+L+O+Q+T+V+W #define ACTION_2611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2612: x<-K+L+O+Q+U+V+W #define ACTION_2612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2613: x<-K+L+O+S+T+U+W #define ACTION_2613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2614: x<-K+L+O+S+T+V+W #define ACTION_2614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2615: x<-K+L+O+S+U+V+W #define ACTION_2615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2616: x<-K+L+P+Q+T+U+W #define ACTION_2616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2617: x<-K+L+P+Q+T+V+W #define ACTION_2617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2618: x<-K+L+P+Q+U+V+W #define ACTION_2618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2619: x<-K+L+P+R+T+U+W #define ACTION_2619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2620: x<-K+L+P+R+T+V+W #define ACTION_2620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2621: x<-K+L+P+R+U+V+W #define ACTION_2621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2622: x<-K+L+Q+R+T+U+W #define ACTION_2622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2623: x<-K+L+Q+R+T+V+W #define ACTION_2623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2624: x<-K+L+Q+R+U+V+W #define ACTION_2624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2625: x<-K+L+Q+S+T+U+W #define ACTION_2625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2626: x<-K+L+Q+S+T+V+W #define ACTION_2626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2627: x<-K+L+Q+S+U+V+W #define ACTION_2627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2628: x<-K+L+R+S+T+U+W #define ACTION_2628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2629: x<-K+L+R+S+T+V+W #define ACTION_2629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2630: x<-K+L+R+S+U+V+W #define ACTION_2630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2631: x<-K+M+N+O+T+U+W #define ACTION_2631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2632: x<-K+M+N+O+T+V+W #define ACTION_2632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2633: x<-K+M+N+O+U+V+W #define ACTION_2633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2634: x<-K+M+N+P+T+U+W #define ACTION_2634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2635: x<-K+M+N+P+T+V+W #define ACTION_2635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2636: x<-K+M+N+P+U+V+W #define ACTION_2636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2637: x<-K+M+N+R+T+U+W #define ACTION_2637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2638: x<-K+M+N+R+T+V+W #define ACTION_2638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2639: x<-K+M+N+R+U+V+W #define ACTION_2639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2640: x<-K+M+N+S+T+U+W #define ACTION_2640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2641: x<-K+M+N+S+T+V+W #define ACTION_2641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2642: x<-K+M+N+S+U+V+W #define ACTION_2642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2643: x<-K+M+O+P+T+U+W #define ACTION_2643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2644: x<-K+M+O+P+T+V+W #define ACTION_2644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2645: x<-K+M+O+P+U+V+W #define ACTION_2645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2646: x<-K+M+O+Q+T+U+W #define ACTION_2646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2647: x<-K+M+O+Q+T+V+W #define ACTION_2647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2648: x<-K+M+O+Q+U+V+W #define ACTION_2648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2649: x<-K+M+O+S+T+U+W #define ACTION_2649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2650: x<-K+M+O+S+T+V+W #define ACTION_2650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2651: x<-K+M+O+S+U+V+W #define ACTION_2651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2652: x<-K+M+P+Q+T+U+W #define ACTION_2652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2653: x<-K+M+P+Q+T+V+W #define ACTION_2653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2654: x<-K+M+P+Q+U+V+W #define ACTION_2654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2655: x<-K+M+P+R+T+U+W #define ACTION_2655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2656: x<-K+M+P+R+T+V+W #define ACTION_2656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2657: x<-K+M+P+R+U+V+W #define ACTION_2657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2658: x<-K+M+Q+R+T+U+W #define ACTION_2658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2659: x<-K+M+Q+R+T+V+W #define ACTION_2659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2660: x<-K+M+Q+R+U+V+W #define ACTION_2660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2661: x<-K+M+Q+S+T+U+W #define ACTION_2661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2662: x<-K+M+Q+S+T+V+W #define ACTION_2662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2663: x<-K+M+Q+S+U+V+W #define ACTION_2663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2664: x<-K+M+R+S+T+U+W #define ACTION_2664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2665: x<-K+M+R+S+T+V+W #define ACTION_2665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2666: x<-K+M+R+S+U+V+W #define ACTION_2666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2667: x<-K+N+O+R+T+U+W #define ACTION_2667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2668: x<-K+N+O+R+T+V+W #define ACTION_2668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2669: x<-K+N+O+R+U+V+W #define ACTION_2669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2670: x<-K+N+O+S+T+U+W #define ACTION_2670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2671: x<-K+N+O+S+T+V+W #define ACTION_2671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2672: x<-K+N+O+S+U+V+W #define ACTION_2672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2673: x<-K+N+P+R+T+U+W #define ACTION_2673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2674: x<-K+N+P+R+T+V+W #define ACTION_2674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2675: x<-K+N+P+R+U+V+W #define ACTION_2675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2676: x<-K+N+P+S+T+U+W #define ACTION_2676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2677: x<-K+N+P+S+T+V+W #define ACTION_2677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2678: x<-K+N+P+S+U+V+W #define ACTION_2678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2679: x<-K+O+P+S+T+U+W #define ACTION_2679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2680: x<-K+O+P+S+T+V+W #define ACTION_2680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2681: x<-K+O+P+S+U+V+W #define ACTION_2681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2682: x<-K+O+Q+R+T+U+W #define ACTION_2682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2683: x<-K+O+Q+R+T+V+W #define ACTION_2683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2684: x<-K+O+Q+R+U+V+W #define ACTION_2684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2685: x<-K+O+Q+S+T+U+W #define ACTION_2685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2686: x<-K+O+Q+S+T+V+W #define ACTION_2686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2687: x<-K+O+Q+S+U+V+W #define ACTION_2687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2688: x<-K+O+R+S+T+U+W #define ACTION_2688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2689: x<-K+O+R+S+T+V+W #define ACTION_2689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2690: x<-K+O+R+S+U+V+W #define ACTION_2690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2691: x<-K+P+Q+R+T+U+W #define ACTION_2691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2692: x<-K+P+Q+R+T+V+W #define ACTION_2692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2693: x<-K+P+Q+R+U+V+W #define ACTION_2693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2694: x<-K+P+Q+S+T+U+W #define ACTION_2694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2695: x<-K+P+Q+S+T+V+W #define ACTION_2695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2696: x<-K+P+Q+S+U+V+W #define ACTION_2696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2697: x<-K+P+R+S+T+U+W #define ACTION_2697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2698: x<-K+P+R+S+T+V+W #define ACTION_2698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2699: x<-K+P+R+S+U+V+W #define ACTION_2699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2700: x<-L+M+N+O+T+U+W #define ACTION_2700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2701: x<-L+M+N+O+T+V+W #define ACTION_2701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2702: x<-L+M+N+O+U+V+W #define ACTION_2702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2703: x<-L+M+N+P+T+U+W #define ACTION_2703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2704: x<-L+M+N+P+T+V+W #define ACTION_2704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2705: x<-L+M+N+P+U+V+W #define ACTION_2705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2706: x<-L+M+N+R+T+U+W #define ACTION_2706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2707: x<-L+M+N+R+T+V+W #define ACTION_2707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2708: x<-L+M+N+R+U+V+W #define ACTION_2708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2709: x<-L+M+N+S+T+U+W #define ACTION_2709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2710: x<-L+M+N+S+T+V+W #define ACTION_2710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2711: x<-L+M+N+S+U+V+W #define ACTION_2711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2712: x<-L+M+O+P+T+U+W #define ACTION_2712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2713: x<-L+M+O+P+T+V+W #define ACTION_2713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2714: x<-L+M+O+P+U+V+W #define ACTION_2714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2715: x<-L+M+O+Q+T+U+W #define ACTION_2715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2716: x<-L+M+O+Q+T+V+W #define ACTION_2716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2717: x<-L+M+O+Q+U+V+W #define ACTION_2717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2718: x<-L+M+O+S+T+U+W #define ACTION_2718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2719: x<-L+M+O+S+T+V+W #define ACTION_2719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2720: x<-L+M+O+S+U+V+W #define ACTION_2720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2721: x<-L+M+P+Q+T+U+W #define ACTION_2721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2722: x<-L+M+P+Q+T+V+W #define ACTION_2722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2723: x<-L+M+P+Q+U+V+W #define ACTION_2723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2724: x<-L+M+P+R+T+U+W #define ACTION_2724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2725: x<-L+M+P+R+T+V+W #define ACTION_2725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2726: x<-L+M+P+R+U+V+W #define ACTION_2726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2727: x<-L+M+Q+R+T+U+W #define ACTION_2727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2728: x<-L+M+Q+R+T+V+W #define ACTION_2728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2729: x<-L+M+Q+R+U+V+W #define ACTION_2729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2730: x<-L+M+Q+S+T+U+W #define ACTION_2730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2731: x<-L+M+Q+S+T+V+W #define ACTION_2731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2732: x<-L+M+Q+S+U+V+W #define ACTION_2732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2733: x<-L+M+R+S+T+U+W #define ACTION_2733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2734: x<-L+M+R+S+T+V+W #define ACTION_2734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2735: x<-L+M+R+S+U+V+W #define ACTION_2735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2736: x<-L+N+O+Q+T+U+W #define ACTION_2736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2737: x<-L+N+O+Q+T+V+W #define ACTION_2737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2738: x<-L+N+O+Q+U+V+W #define ACTION_2738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2739: x<-L+N+P+Q+T+U+W #define ACTION_2739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2740: x<-L+N+P+Q+T+V+W #define ACTION_2740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2741: x<-L+N+P+Q+U+V+W #define ACTION_2741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2742: x<-L+N+P+R+T+U+W #define ACTION_2742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2743: x<-L+N+P+R+T+V+W #define ACTION_2743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2744: x<-L+N+P+R+U+V+W #define ACTION_2744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2745: x<-L+N+P+S+T+U+W #define ACTION_2745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2746: x<-L+N+P+S+T+V+W #define ACTION_2746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2747: x<-L+N+P+S+U+V+W #define ACTION_2747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2748: x<-L+N+Q+R+T+U+W #define ACTION_2748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2749: x<-L+N+Q+R+T+V+W #define ACTION_2749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2750: x<-L+N+Q+R+U+V+W #define ACTION_2750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2751: x<-L+N+Q+S+T+U+W #define ACTION_2751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2752: x<-L+N+Q+S+T+V+W #define ACTION_2752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2753: x<-L+N+Q+S+U+V+W #define ACTION_2753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2754: x<-L+N+R+S+T+U+W #define ACTION_2754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2755: x<-L+N+R+S+T+V+W #define ACTION_2755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2756: x<-L+N+R+S+U+V+W #define ACTION_2756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2757: x<-L+O+P+S+T+U+W #define ACTION_2757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2758: x<-L+O+P+S+T+V+W #define ACTION_2758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2759: x<-L+O+P+S+U+V+W #define ACTION_2759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2760: x<-L+P+Q+R+T+U+W #define ACTION_2760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2761: x<-L+P+Q+R+T+V+W #define ACTION_2761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2762: x<-L+P+Q+R+U+V+W #define ACTION_2762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2763: x<-L+P+Q+S+T+U+W #define ACTION_2763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2764: x<-L+P+Q+S+T+V+W #define ACTION_2764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2765: x<-L+P+Q+S+U+V+W #define ACTION_2765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2766: x<-L+P+R+S+T+U+W #define ACTION_2766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2767: x<-L+P+R+S+T+V+W #define ACTION_2767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2768: x<-L+P+R+S+U+V+W #define ACTION_2768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2769: x<-M+N+O+Q+T+U+W #define ACTION_2769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2770: x<-M+N+O+Q+T+V+W #define ACTION_2770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2771: x<-M+N+O+Q+U+V+W #define ACTION_2771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2772: x<-M+N+P+Q+T+U+W #define ACTION_2772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2773: x<-M+N+P+Q+T+V+W #define ACTION_2773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2774: x<-M+N+P+Q+U+V+W #define ACTION_2774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2775: x<-M+N+P+R+T+U+W #define ACTION_2775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2776: x<-M+N+P+R+T+V+W #define ACTION_2776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2777: x<-M+N+P+R+U+V+W #define ACTION_2777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2778: x<-M+N+Q+R+T+U+W #define ACTION_2778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2779: x<-M+N+Q+R+T+V+W #define ACTION_2779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2780: x<-M+N+Q+R+U+V+W #define ACTION_2780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2781: x<-M+N+Q+S+T+U+W #define ACTION_2781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2782: x<-M+N+Q+S+T+V+W #define ACTION_2782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2783: x<-M+N+Q+S+U+V+W #define ACTION_2783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2784: x<-M+N+R+S+T+U+W #define ACTION_2784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2785: x<-M+N+R+S+T+V+W #define ACTION_2785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2786: x<-M+N+R+S+U+V+W #define ACTION_2786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2787: x<-M+O+P+Q+T+U+W #define ACTION_2787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2788: x<-M+O+P+Q+T+V+W #define ACTION_2788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2789: x<-M+O+P+Q+U+V+W #define ACTION_2789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2790: x<-M+O+P+R+T+U+W #define ACTION_2790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2791: x<-M+O+P+R+T+V+W #define ACTION_2791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2792: x<-M+O+P+R+U+V+W #define ACTION_2792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2793: x<-M+O+Q+R+T+U+W #define ACTION_2793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2794: x<-M+O+Q+R+T+V+W #define ACTION_2794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2795: x<-M+O+Q+R+U+V+W #define ACTION_2795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2796: x<-M+O+Q+S+T+U+W #define ACTION_2796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2797: x<-M+O+Q+S+T+V+W #define ACTION_2797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2798: x<-M+O+Q+S+U+V+W #define ACTION_2798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2799: x<-M+O+R+S+T+U+W #define ACTION_2799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2800: x<-M+O+R+S+T+V+W #define ACTION_2800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2801: x<-M+O+R+S+U+V+W #define ACTION_2801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2802: x<-N+O+Q+R+T+U+W #define ACTION_2802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2803: x<-N+O+Q+R+T+V+W #define ACTION_2803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2804: x<-N+O+Q+R+U+V+W #define ACTION_2804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2805: x<-N+O+Q+S+T+U+W #define ACTION_2805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2806: x<-N+O+Q+S+T+V+W #define ACTION_2806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2807: x<-N+O+Q+S+U+V+W #define ACTION_2807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2808: x<-N+O+R+S+T+U+W #define ACTION_2808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2809: x<-N+O+R+S+T+V+W #define ACTION_2809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2810: x<-N+O+R+S+U+V+W #define ACTION_2810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2811: x<-N+P+Q+R+T+U+W #define ACTION_2811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2812: x<-N+P+Q+R+T+V+W #define ACTION_2812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2813: x<-N+P+Q+R+U+V+W #define ACTION_2813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2814: x<-N+P+Q+S+T+U+W #define ACTION_2814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2815: x<-N+P+Q+S+T+V+W #define ACTION_2815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2816: x<-N+P+Q+S+U+V+W #define ACTION_2816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2817: x<-N+P+R+S+T+U+W #define ACTION_2817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2818: x<-N+P+R+S+T+V+W #define ACTION_2818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2819: x<-N+P+R+S+U+V+W #define ACTION_2819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2820: x<-O+P+Q+R+T+U+W #define ACTION_2820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2821: x<-O+P+Q+R+T+V+W #define ACTION_2821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2822: x<-O+P+Q+R+U+V+W #define ACTION_2822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2823: x<-O+P+Q+S+T+U+W #define ACTION_2823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2824: x<-O+P+Q+S+T+V+W #define ACTION_2824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2825: x<-O+P+Q+S+U+V+W #define ACTION_2825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2826: x<-O+P+R+S+T+U+W #define ACTION_2826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2827: x<-O+P+R+S+T+V+W #define ACTION_2827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2828: x<-O+P+R+S+U+V+W #define ACTION_2828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; ================================================ FILE: include/labeling3D_EPDT_22c_action_def_memory.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany // Action 0: nothing #define ACTION_0 img_labels(s + 0, r + 0, c) = 0;continue; // Action 1: x<-newlabel #define ACTION_1 img_labels(s + 0, r + 0, c) = LabelsSolver::MemNewLabel();continue; // Action 2: x<-K #define ACTION_2 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c - 2);continue; // Action 3: x<-L #define ACTION_3 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c);continue; // Action 4: x<-M #define ACTION_4 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r - 1, c + 2);continue; // Action 5: x<-N #define ACTION_5 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c - 2);continue; // Action 6: x<-O #define ACTION_6 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c);continue; // Action 7: x<-P #define ACTION_7 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 0, c + 2);continue; // Action 8: x<-Q #define ACTION_8 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c - 2);continue; // Action 9: x<-R #define ACTION_9 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c);continue; // Action 10: x<-S #define ACTION_10 img_labels(s + 0, r + 0, c) = img_labels(s - 1, r + 1, c + 2);continue; // Action 11: x<-T #define ACTION_11 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c - 2);continue; // Action 12: x<-U #define ACTION_12 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c);continue; // Action 13: x<-V #define ACTION_13 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r - 1, c + 2);continue; // Action 14: x<-W #define ACTION_14 img_labels(s + 0, r + 0, c) = img_labels(s + 0, r + 0, c - 2);continue; // Action 15: x<-K+L #define ACTION_15 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 16: x<-K+M #define ACTION_16 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 17: x<-K+N #define ACTION_17 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 18: x<-K+O #define ACTION_18 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 19: x<-K+P #define ACTION_19 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 20: x<-K+Q #define ACTION_20 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 21: x<-K+R #define ACTION_21 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 22: x<-K+S #define ACTION_22 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 23: x<-K+T #define ACTION_23 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 24: x<-K+U #define ACTION_24 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c - 2));continue; // Action 25: x<-K+V #define ACTION_25 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 26: x<-K+W #define ACTION_26 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2));continue; // Action 27: x<-L+M #define ACTION_27 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 28: x<-L+N #define ACTION_28 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 29: x<-L+O #define ACTION_29 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c));continue; // Action 30: x<-L+P #define ACTION_30 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 31: x<-L+Q #define ACTION_31 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 32: x<-L+R #define ACTION_32 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c));continue; // Action 33: x<-L+S #define ACTION_33 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 34: x<-L+T #define ACTION_34 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 35: x<-L+U #define ACTION_35 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c));continue; // Action 36: x<-L+V #define ACTION_36 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c));continue; // Action 37: x<-L+W #define ACTION_37 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c));continue; // Action 38: x<-M+N #define ACTION_38 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 39: x<-M+O #define ACTION_39 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 40: x<-M+P #define ACTION_40 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 41: x<-M+Q #define ACTION_41 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 42: x<-M+R #define ACTION_42 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 43: x<-M+S #define ACTION_43 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 44: x<-M+T #define ACTION_44 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 45: x<-M+U #define ACTION_45 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2));continue; // Action 46: x<-M+V #define ACTION_46 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 47: x<-M+W #define ACTION_47 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2));continue; // Action 48: x<-N+O #define ACTION_48 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 49: x<-N+P #define ACTION_49 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 50: x<-N+Q #define ACTION_50 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 51: x<-N+R #define ACTION_51 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 52: x<-N+S #define ACTION_52 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 53: x<-N+T #define ACTION_53 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 54: x<-N+U #define ACTION_54 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2));continue; // Action 55: x<-N+V #define ACTION_55 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 56: x<-N+W #define ACTION_56 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2));continue; // Action 57: x<-O+P #define ACTION_57 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 58: x<-O+Q #define ACTION_58 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 59: x<-O+R #define ACTION_59 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c));continue; // Action 60: x<-O+S #define ACTION_60 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 61: x<-O+T #define ACTION_61 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 62: x<-O+U #define ACTION_62 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c));continue; // Action 63: x<-O+V #define ACTION_63 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c));continue; // Action 64: x<-O+W #define ACTION_64 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c));continue; // Action 65: x<-P+Q #define ACTION_65 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 66: x<-P+R #define ACTION_66 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2));continue; // Action 67: x<-P+S #define ACTION_67 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 68: x<-P+T #define ACTION_68 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 69: x<-P+U #define ACTION_69 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2));continue; // Action 70: x<-P+V #define ACTION_70 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 71: x<-P+W #define ACTION_71 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2));continue; // Action 72: x<-Q+R #define ACTION_72 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2));continue; // Action 73: x<-Q+S #define ACTION_73 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 74: x<-Q+T #define ACTION_74 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 75: x<-Q+U #define ACTION_75 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2));continue; // Action 76: x<-Q+V #define ACTION_76 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 77: x<-Q+W #define ACTION_77 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2));continue; // Action 78: x<-R+S #define ACTION_78 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c));continue; // Action 79: x<-R+T #define ACTION_79 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c));continue; // Action 80: x<-R+U #define ACTION_80 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c));continue; // Action 81: x<-R+V #define ACTION_81 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c));continue; // Action 82: x<-R+W #define ACTION_82 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c));continue; // Action 83: x<-S+T #define ACTION_83 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 84: x<-S+U #define ACTION_84 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2));continue; // Action 85: x<-S+V #define ACTION_85 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 86: x<-S+W #define ACTION_86 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2));continue; // Action 87: x<-T+U #define ACTION_87 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2));continue; // Action 88: x<-T+V #define ACTION_88 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2));continue; // Action 89: x<-T+W #define ACTION_89 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2));continue; // Action 90: x<-U+V #define ACTION_90 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c));continue; // Action 91: x<-U+W #define ACTION_91 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c));continue; // Action 92: x<-V+W #define ACTION_92 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2));continue; // Action 93: x<-K+L+N #define ACTION_93 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 94: x<-K+L+O #define ACTION_94 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 95: x<-K+L+P #define ACTION_95 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 96: x<-K+L+Q #define ACTION_96 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 97: x<-K+L+R #define ACTION_97 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 98: x<-K+L+S #define ACTION_98 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 99: x<-K+L+T #define ACTION_99 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 100: x<-K+L+U #define ACTION_100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 101: x<-K+L+V #define ACTION_101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 102: x<-K+L+W #define ACTION_102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 103: x<-K+M+N #define ACTION_103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 104: x<-K+M+O #define ACTION_104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 105: x<-K+M+P #define ACTION_105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 106: x<-K+M+Q #define ACTION_106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 107: x<-K+M+R #define ACTION_107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 108: x<-K+M+S #define ACTION_108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 109: x<-K+M+T #define ACTION_109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 110: x<-K+M+U #define ACTION_110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 111: x<-K+M+V #define ACTION_111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 112: x<-K+M+W #define ACTION_112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 113: x<-K+N+O #define ACTION_113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 114: x<-K+N+P #define ACTION_114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 115: x<-K+N+R #define ACTION_115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 116: x<-K+N+S #define ACTION_116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 117: x<-K+N+T #define ACTION_117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 118: x<-K+N+U #define ACTION_118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 119: x<-K+N+V #define ACTION_119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 120: x<-K+N+W #define ACTION_120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 121: x<-K+O+P #define ACTION_121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 122: x<-K+O+Q #define ACTION_122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 123: x<-K+O+R #define ACTION_123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 124: x<-K+O+S #define ACTION_124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 125: x<-K+O+T #define ACTION_125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 126: x<-K+O+U #define ACTION_126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 127: x<-K+O+V #define ACTION_127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 128: x<-K+O+W #define ACTION_128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 129: x<-K+P+Q #define ACTION_129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 130: x<-K+P+R #define ACTION_130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 131: x<-K+P+S #define ACTION_131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 132: x<-K+P+T #define ACTION_132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 133: x<-K+P+U #define ACTION_133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 134: x<-K+P+V #define ACTION_134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 135: x<-K+P+W #define ACTION_135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 136: x<-K+Q+R #define ACTION_136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 137: x<-K+Q+S #define ACTION_137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 138: x<-K+Q+T #define ACTION_138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 139: x<-K+Q+U #define ACTION_139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 140: x<-K+Q+V #define ACTION_140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 141: x<-K+Q+W #define ACTION_141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 142: x<-K+R+S #define ACTION_142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 143: x<-K+R+T #define ACTION_143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 144: x<-K+R+U #define ACTION_144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 145: x<-K+R+V #define ACTION_145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 146: x<-K+R+W #define ACTION_146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 147: x<-K+S+T #define ACTION_147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 148: x<-K+S+U #define ACTION_148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 149: x<-K+S+V #define ACTION_149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 150: x<-K+S+W #define ACTION_150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 151: x<-K+T+U #define ACTION_151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 152: x<-K+T+V #define ACTION_152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 153: x<-K+T+W #define ACTION_153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 154: x<-K+U+V #define ACTION_154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 155: x<-K+U+W #define ACTION_155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c - 2));continue; // Action 156: x<-K+V+W #define ACTION_156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2));continue; // Action 157: x<-L+M+N #define ACTION_157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 158: x<-L+M+O #define ACTION_158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 159: x<-L+M+P #define ACTION_159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 160: x<-L+M+Q #define ACTION_160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 161: x<-L+M+R #define ACTION_161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 162: x<-L+M+S #define ACTION_162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 163: x<-L+M+T #define ACTION_163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 164: x<-L+M+U #define ACTION_164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 165: x<-L+M+V #define ACTION_165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 166: x<-L+M+W #define ACTION_166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 167: x<-L+N+O #define ACTION_167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 168: x<-L+N+P #define ACTION_168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 169: x<-L+N+Q #define ACTION_169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 170: x<-L+N+R #define ACTION_170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 171: x<-L+N+S #define ACTION_171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 172: x<-L+N+T #define ACTION_172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 173: x<-L+N+U #define ACTION_173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 174: x<-L+N+V #define ACTION_174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 175: x<-L+N+W #define ACTION_175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 176: x<-L+O+P #define ACTION_176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 177: x<-L+O+Q #define ACTION_177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 178: x<-L+O+S #define ACTION_178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 179: x<-L+O+T #define ACTION_179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 180: x<-L+O+U #define ACTION_180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 181: x<-L+O+V #define ACTION_181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 182: x<-L+O+W #define ACTION_182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c));continue; // Action 183: x<-L+P+Q #define ACTION_183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 184: x<-L+P+R #define ACTION_184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 185: x<-L+P+S #define ACTION_185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 186: x<-L+P+T #define ACTION_186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 187: x<-L+P+U #define ACTION_187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 188: x<-L+P+V #define ACTION_188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 189: x<-L+P+W #define ACTION_189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 190: x<-L+Q+R #define ACTION_190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 191: x<-L+Q+S #define ACTION_191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 192: x<-L+Q+T #define ACTION_192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 193: x<-L+Q+U #define ACTION_193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 194: x<-L+Q+V #define ACTION_194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 195: x<-L+Q+W #define ACTION_195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 196: x<-L+R+S #define ACTION_196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 197: x<-L+R+T #define ACTION_197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 198: x<-L+R+U #define ACTION_198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 199: x<-L+R+V #define ACTION_199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 200: x<-L+R+W #define ACTION_200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 201: x<-L+S+T #define ACTION_201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 202: x<-L+S+U #define ACTION_202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 203: x<-L+S+V #define ACTION_203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 204: x<-L+S+W #define ACTION_204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 205: x<-L+T+U #define ACTION_205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 206: x<-L+T+V #define ACTION_206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 207: x<-L+T+W #define ACTION_207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c));continue; // Action 208: x<-L+U+V #define ACTION_208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 209: x<-L+U+W #define ACTION_209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c));continue; // Action 210: x<-L+V+W #define ACTION_210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c));continue; // Action 211: x<-M+N+O #define ACTION_211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 212: x<-M+N+P #define ACTION_212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 213: x<-M+N+Q #define ACTION_213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 214: x<-M+N+R #define ACTION_214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 215: x<-M+N+S #define ACTION_215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 216: x<-M+N+T #define ACTION_216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 217: x<-M+N+U #define ACTION_217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 218: x<-M+N+V #define ACTION_218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 219: x<-M+N+W #define ACTION_219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 220: x<-M+O+P #define ACTION_220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 221: x<-M+O+Q #define ACTION_221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 222: x<-M+O+R #define ACTION_222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 223: x<-M+O+S #define ACTION_223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 224: x<-M+O+T #define ACTION_224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 225: x<-M+O+U #define ACTION_225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 226: x<-M+O+V #define ACTION_226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 227: x<-M+O+W #define ACTION_227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 228: x<-M+P+Q #define ACTION_228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 229: x<-M+P+R #define ACTION_229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 230: x<-M+P+T #define ACTION_230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 231: x<-M+P+U #define ACTION_231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 232: x<-M+P+V #define ACTION_232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 233: x<-M+P+W #define ACTION_233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 234: x<-M+Q+R #define ACTION_234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 235: x<-M+Q+S #define ACTION_235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 236: x<-M+Q+T #define ACTION_236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 237: x<-M+Q+U #define ACTION_237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 238: x<-M+Q+V #define ACTION_238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 239: x<-M+Q+W #define ACTION_239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 240: x<-M+R+S #define ACTION_240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 241: x<-M+R+T #define ACTION_241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 242: x<-M+R+U #define ACTION_242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 243: x<-M+R+V #define ACTION_243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 244: x<-M+R+W #define ACTION_244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 245: x<-M+S+T #define ACTION_245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 246: x<-M+S+U #define ACTION_246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 247: x<-M+S+V #define ACTION_247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 248: x<-M+S+W #define ACTION_248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 249: x<-M+T+U #define ACTION_249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 250: x<-M+T+V #define ACTION_250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 251: x<-M+T+W #define ACTION_251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 252: x<-M+U+V #define ACTION_252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 253: x<-M+U+W #define ACTION_253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r - 1, c + 2));continue; // Action 254: x<-M+V+W #define ACTION_254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r - 1, c + 2));continue; // Action 255: x<-N+O+Q #define ACTION_255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 256: x<-N+O+R #define ACTION_256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 257: x<-N+O+S #define ACTION_257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 258: x<-N+O+T #define ACTION_258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 259: x<-N+O+U #define ACTION_259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 260: x<-N+O+V #define ACTION_260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 261: x<-N+O+W #define ACTION_261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 262: x<-N+P+Q #define ACTION_262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 263: x<-N+P+R #define ACTION_263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 264: x<-N+P+S #define ACTION_264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 265: x<-N+P+T #define ACTION_265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 266: x<-N+P+U #define ACTION_266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 267: x<-N+P+V #define ACTION_267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 268: x<-N+P+W #define ACTION_268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 269: x<-N+Q+R #define ACTION_269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 270: x<-N+Q+S #define ACTION_270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 271: x<-N+Q+T #define ACTION_271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 272: x<-N+Q+U #define ACTION_272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 273: x<-N+Q+V #define ACTION_273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 274: x<-N+Q+W #define ACTION_274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 275: x<-N+R+S #define ACTION_275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 276: x<-N+R+T #define ACTION_276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 277: x<-N+R+U #define ACTION_277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 278: x<-N+R+V #define ACTION_278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 279: x<-N+R+W #define ACTION_279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 280: x<-N+S+T #define ACTION_280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 281: x<-N+S+U #define ACTION_281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 282: x<-N+S+V #define ACTION_282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 283: x<-N+S+W #define ACTION_283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 284: x<-N+T+U #define ACTION_284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 285: x<-N+T+V #define ACTION_285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 286: x<-N+T+W #define ACTION_286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 287: x<-N+U+V #define ACTION_287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 288: x<-N+U+W #define ACTION_288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2));continue; // Action 289: x<-N+V+W #define ACTION_289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2));continue; // Action 290: x<-O+P+Q #define ACTION_290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 291: x<-O+P+R #define ACTION_291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 292: x<-O+P+S #define ACTION_292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 293: x<-O+P+T #define ACTION_293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 294: x<-O+P+U #define ACTION_294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 295: x<-O+P+V #define ACTION_295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 296: x<-O+P+W #define ACTION_296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 297: x<-O+Q+R #define ACTION_297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 298: x<-O+Q+S #define ACTION_298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 299: x<-O+Q+T #define ACTION_299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 300: x<-O+Q+U #define ACTION_300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 301: x<-O+Q+V #define ACTION_301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 302: x<-O+Q+W #define ACTION_302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 303: x<-O+R+S #define ACTION_303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 304: x<-O+R+T #define ACTION_304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 305: x<-O+R+U #define ACTION_305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 306: x<-O+R+V #define ACTION_306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 307: x<-O+R+W #define ACTION_307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 308: x<-O+S+T #define ACTION_308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 309: x<-O+S+U #define ACTION_309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 310: x<-O+S+V #define ACTION_310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 311: x<-O+S+W #define ACTION_311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 312: x<-O+T+U #define ACTION_312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 313: x<-O+T+V #define ACTION_313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 314: x<-O+T+W #define ACTION_314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c));continue; // Action 315: x<-O+U+V #define ACTION_315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 316: x<-O+U+W #define ACTION_316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c));continue; // Action 317: x<-O+V+W #define ACTION_317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c));continue; // Action 318: x<-P+Q+R #define ACTION_318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 319: x<-P+Q+S #define ACTION_319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 320: x<-P+Q+T #define ACTION_320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 321: x<-P+Q+U #define ACTION_321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 322: x<-P+Q+V #define ACTION_322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 323: x<-P+Q+W #define ACTION_323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 324: x<-P+R+S #define ACTION_324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 325: x<-P+R+T #define ACTION_325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 326: x<-P+R+U #define ACTION_326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 327: x<-P+R+V #define ACTION_327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 328: x<-P+R+W #define ACTION_328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 329: x<-P+S+T #define ACTION_329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 330: x<-P+S+U #define ACTION_330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 331: x<-P+S+V #define ACTION_331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 332: x<-P+S+W #define ACTION_332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 333: x<-P+T+U #define ACTION_333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 334: x<-P+T+V #define ACTION_334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 335: x<-P+T+W #define ACTION_335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 336: x<-P+U+V #define ACTION_336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 337: x<-P+U+W #define ACTION_337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2));continue; // Action 338: x<-P+V+W #define ACTION_338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2));continue; // Action 339: x<-Q+R+T #define ACTION_339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 340: x<-Q+R+U #define ACTION_340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 341: x<-Q+R+V #define ACTION_341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 342: x<-Q+R+W #define ACTION_342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 343: x<-Q+S+T #define ACTION_343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 344: x<-Q+S+U #define ACTION_344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 345: x<-Q+S+V #define ACTION_345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 346: x<-Q+S+W #define ACTION_346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 347: x<-Q+T+U #define ACTION_347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 348: x<-Q+T+V #define ACTION_348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 349: x<-Q+T+W #define ACTION_349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 350: x<-Q+U+V #define ACTION_350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 351: x<-Q+U+W #define ACTION_351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2));continue; // Action 352: x<-Q+V+W #define ACTION_352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2));continue; // Action 353: x<-R+S+T #define ACTION_353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 354: x<-R+S+U #define ACTION_354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 355: x<-R+S+V #define ACTION_355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 356: x<-R+S+W #define ACTION_356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 357: x<-R+T+U #define ACTION_357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 358: x<-R+T+V #define ACTION_358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 359: x<-R+T+W #define ACTION_359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c));continue; // Action 360: x<-R+U+V #define ACTION_360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c));continue; // Action 361: x<-R+U+W #define ACTION_361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c));continue; // Action 362: x<-R+V+W #define ACTION_362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c));continue; // Action 363: x<-S+T+U #define ACTION_363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 364: x<-S+T+V #define ACTION_364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 365: x<-S+T+W #define ACTION_365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 366: x<-S+U+V #define ACTION_366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2));continue; // Action 367: x<-S+U+W #define ACTION_367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2));continue; // Action 368: x<-S+V+W #define ACTION_368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2));continue; // Action 369: x<-T+U+W #define ACTION_369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2));continue; // Action 370: x<-T+V+W #define ACTION_370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2));continue; // Action 371: x<-U+V+W #define ACTION_371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c));continue; // Action 372: x<-K+L+N+O #define ACTION_372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 373: x<-K+L+N+P #define ACTION_373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 374: x<-K+L+N+R #define ACTION_374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 375: x<-K+L+N+S #define ACTION_375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 376: x<-K+L+N+T #define ACTION_376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 377: x<-K+L+N+U #define ACTION_377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 378: x<-K+L+N+V #define ACTION_378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 379: x<-K+L+N+W #define ACTION_379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 380: x<-K+L+O+P #define ACTION_380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 381: x<-K+L+O+Q #define ACTION_381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 382: x<-K+L+O+S #define ACTION_382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 383: x<-K+L+O+T #define ACTION_383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 384: x<-K+L+O+U #define ACTION_384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 385: x<-K+L+O+V #define ACTION_385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 386: x<-K+L+O+W #define ACTION_386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 387: x<-K+L+P+Q #define ACTION_387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 388: x<-K+L+P+R #define ACTION_388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 389: x<-K+L+P+T #define ACTION_389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 390: x<-K+L+P+U #define ACTION_390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 391: x<-K+L+P+V #define ACTION_391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 392: x<-K+L+P+W #define ACTION_392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 393: x<-K+L+Q+R #define ACTION_393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 394: x<-K+L+Q+S #define ACTION_394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 395: x<-K+L+Q+T #define ACTION_395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 396: x<-K+L+Q+U #define ACTION_396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 397: x<-K+L+Q+V #define ACTION_397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 398: x<-K+L+Q+W #define ACTION_398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 399: x<-K+L+R+S #define ACTION_399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 400: x<-K+L+R+T #define ACTION_400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 401: x<-K+L+R+U #define ACTION_401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 402: x<-K+L+R+V #define ACTION_402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 403: x<-K+L+R+W #define ACTION_403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 404: x<-K+L+S+T #define ACTION_404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 405: x<-K+L+S+U #define ACTION_405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 406: x<-K+L+S+V #define ACTION_406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 407: x<-K+L+S+W #define ACTION_407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 408: x<-K+L+T+U #define ACTION_408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 409: x<-K+L+T+V #define ACTION_409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 410: x<-K+L+T+W #define ACTION_410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 411: x<-K+L+U+V #define ACTION_411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 412: x<-K+L+U+W #define ACTION_412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 413: x<-K+L+V+W #define ACTION_413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 414: x<-K+M+N+O #define ACTION_414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 415: x<-K+M+N+P #define ACTION_415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 416: x<-K+M+N+R #define ACTION_416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 417: x<-K+M+N+S #define ACTION_417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 418: x<-K+M+N+T #define ACTION_418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 419: x<-K+M+N+U #define ACTION_419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 420: x<-K+M+N+V #define ACTION_420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 421: x<-K+M+N+W #define ACTION_421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 422: x<-K+M+O+P #define ACTION_422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 423: x<-K+M+O+Q #define ACTION_423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 424: x<-K+M+O+S #define ACTION_424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 425: x<-K+M+O+T #define ACTION_425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 426: x<-K+M+O+U #define ACTION_426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 427: x<-K+M+O+V #define ACTION_427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 428: x<-K+M+O+W #define ACTION_428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 429: x<-K+M+P+Q #define ACTION_429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 430: x<-K+M+P+R #define ACTION_430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 431: x<-K+M+P+T #define ACTION_431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 432: x<-K+M+P+U #define ACTION_432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 433: x<-K+M+P+V #define ACTION_433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 434: x<-K+M+P+W #define ACTION_434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 435: x<-K+M+Q+R #define ACTION_435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 436: x<-K+M+Q+S #define ACTION_436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 437: x<-K+M+Q+T #define ACTION_437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 438: x<-K+M+Q+U #define ACTION_438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 439: x<-K+M+Q+V #define ACTION_439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 440: x<-K+M+Q+W #define ACTION_440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 441: x<-K+M+R+S #define ACTION_441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 442: x<-K+M+R+T #define ACTION_442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 443: x<-K+M+R+U #define ACTION_443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 444: x<-K+M+R+V #define ACTION_444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 445: x<-K+M+R+W #define ACTION_445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 446: x<-K+M+S+T #define ACTION_446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 447: x<-K+M+S+U #define ACTION_447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 448: x<-K+M+S+V #define ACTION_448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 449: x<-K+M+S+W #define ACTION_449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 450: x<-K+M+T+U #define ACTION_450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 451: x<-K+M+T+V #define ACTION_451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 452: x<-K+M+T+W #define ACTION_452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 453: x<-K+M+U+V #define ACTION_453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 454: x<-K+M+U+W #define ACTION_454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 455: x<-K+M+V+W #define ACTION_455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 456: x<-K+N+O+R #define ACTION_456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 457: x<-K+N+O+S #define ACTION_457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 458: x<-K+N+O+T #define ACTION_458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 459: x<-K+N+O+U #define ACTION_459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 460: x<-K+N+O+V #define ACTION_460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 461: x<-K+N+O+W #define ACTION_461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 462: x<-K+N+P+R #define ACTION_462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 463: x<-K+N+P+S #define ACTION_463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 464: x<-K+N+P+T #define ACTION_464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 465: x<-K+N+P+U #define ACTION_465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 466: x<-K+N+P+V #define ACTION_466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 467: x<-K+N+P+W #define ACTION_467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 468: x<-K+N+R+T #define ACTION_468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 469: x<-K+N+R+U #define ACTION_469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 470: x<-K+N+R+V #define ACTION_470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 471: x<-K+N+R+W #define ACTION_471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 472: x<-K+N+S+T #define ACTION_472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 473: x<-K+N+S+U #define ACTION_473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 474: x<-K+N+S+V #define ACTION_474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 475: x<-K+N+S+W #define ACTION_475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 476: x<-K+N+T+U #define ACTION_476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 477: x<-K+N+T+V #define ACTION_477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 478: x<-K+N+T+W #define ACTION_478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 479: x<-K+N+U+V #define ACTION_479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 480: x<-K+N+U+W #define ACTION_480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 481: x<-K+N+V+W #define ACTION_481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 482: x<-K+O+P+S #define ACTION_482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 483: x<-K+O+P+T #define ACTION_483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 484: x<-K+O+P+U #define ACTION_484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 485: x<-K+O+P+V #define ACTION_485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 486: x<-K+O+P+W #define ACTION_486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 487: x<-K+O+Q+R #define ACTION_487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 488: x<-K+O+Q+S #define ACTION_488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 489: x<-K+O+Q+T #define ACTION_489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 490: x<-K+O+Q+U #define ACTION_490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 491: x<-K+O+Q+V #define ACTION_491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 492: x<-K+O+Q+W #define ACTION_492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 493: x<-K+O+R+S #define ACTION_493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 494: x<-K+O+R+T #define ACTION_494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 495: x<-K+O+R+U #define ACTION_495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 496: x<-K+O+R+V #define ACTION_496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 497: x<-K+O+R+W #define ACTION_497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 498: x<-K+O+S+T #define ACTION_498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 499: x<-K+O+S+U #define ACTION_499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 500: x<-K+O+S+V #define ACTION_500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 501: x<-K+O+S+W #define ACTION_501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 502: x<-K+O+T+U #define ACTION_502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 503: x<-K+O+T+V #define ACTION_503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 504: x<-K+O+T+W #define ACTION_504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 505: x<-K+O+U+V #define ACTION_505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 506: x<-K+O+U+W #define ACTION_506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 507: x<-K+O+V+W #define ACTION_507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 508: x<-K+P+Q+R #define ACTION_508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 509: x<-K+P+Q+S #define ACTION_509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 510: x<-K+P+Q+T #define ACTION_510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 511: x<-K+P+Q+U #define ACTION_511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 512: x<-K+P+Q+V #define ACTION_512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 513: x<-K+P+Q+W #define ACTION_513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 514: x<-K+P+R+S #define ACTION_514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 515: x<-K+P+R+T #define ACTION_515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 516: x<-K+P+R+U #define ACTION_516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 517: x<-K+P+R+V #define ACTION_517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 518: x<-K+P+R+W #define ACTION_518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 519: x<-K+P+S+T #define ACTION_519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 520: x<-K+P+S+U #define ACTION_520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 521: x<-K+P+S+V #define ACTION_521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 522: x<-K+P+S+W #define ACTION_522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 523: x<-K+P+T+U #define ACTION_523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 524: x<-K+P+T+V #define ACTION_524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 525: x<-K+P+T+W #define ACTION_525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 526: x<-K+P+U+V #define ACTION_526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 527: x<-K+P+U+W #define ACTION_527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 528: x<-K+P+V+W #define ACTION_528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 529: x<-K+Q+R+T #define ACTION_529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 530: x<-K+Q+R+U #define ACTION_530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 531: x<-K+Q+R+V #define ACTION_531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 532: x<-K+Q+R+W #define ACTION_532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 533: x<-K+Q+S+T #define ACTION_533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 534: x<-K+Q+S+U #define ACTION_534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 535: x<-K+Q+S+V #define ACTION_535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 536: x<-K+Q+S+W #define ACTION_536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 537: x<-K+Q+T+U #define ACTION_537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 538: x<-K+Q+T+V #define ACTION_538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 539: x<-K+Q+T+W #define ACTION_539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 540: x<-K+Q+U+V #define ACTION_540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 541: x<-K+Q+U+W #define ACTION_541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 542: x<-K+Q+V+W #define ACTION_542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 543: x<-K+R+S+T #define ACTION_543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 544: x<-K+R+S+U #define ACTION_544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 545: x<-K+R+S+V #define ACTION_545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 546: x<-K+R+S+W #define ACTION_546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 547: x<-K+R+T+U #define ACTION_547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 548: x<-K+R+T+V #define ACTION_548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 549: x<-K+R+T+W #define ACTION_549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 550: x<-K+R+U+V #define ACTION_550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 551: x<-K+R+U+W #define ACTION_551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 552: x<-K+R+V+W #define ACTION_552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 553: x<-K+S+T+U #define ACTION_553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 554: x<-K+S+T+V #define ACTION_554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 555: x<-K+S+T+W #define ACTION_555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 556: x<-K+S+U+V #define ACTION_556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 557: x<-K+S+U+W #define ACTION_557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 558: x<-K+S+V+W #define ACTION_558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 559: x<-K+T+U+W #define ACTION_559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 560: x<-K+T+V+W #define ACTION_560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 561: x<-K+U+V+W #define ACTION_561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 562: x<-L+M+N+O #define ACTION_562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 563: x<-L+M+N+P #define ACTION_563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 564: x<-L+M+N+R #define ACTION_564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 565: x<-L+M+N+S #define ACTION_565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 566: x<-L+M+N+T #define ACTION_566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 567: x<-L+M+N+U #define ACTION_567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 568: x<-L+M+N+V #define ACTION_568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 569: x<-L+M+N+W #define ACTION_569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 570: x<-L+M+O+P #define ACTION_570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 571: x<-L+M+O+Q #define ACTION_571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 572: x<-L+M+O+S #define ACTION_572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 573: x<-L+M+O+T #define ACTION_573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 574: x<-L+M+O+U #define ACTION_574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 575: x<-L+M+O+V #define ACTION_575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 576: x<-L+M+O+W #define ACTION_576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 577: x<-L+M+P+Q #define ACTION_577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 578: x<-L+M+P+R #define ACTION_578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 579: x<-L+M+P+T #define ACTION_579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 580: x<-L+M+P+U #define ACTION_580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 581: x<-L+M+P+V #define ACTION_581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 582: x<-L+M+P+W #define ACTION_582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 583: x<-L+M+Q+R #define ACTION_583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 584: x<-L+M+Q+S #define ACTION_584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 585: x<-L+M+Q+T #define ACTION_585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 586: x<-L+M+Q+U #define ACTION_586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 587: x<-L+M+Q+V #define ACTION_587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 588: x<-L+M+Q+W #define ACTION_588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 589: x<-L+M+R+S #define ACTION_589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 590: x<-L+M+R+T #define ACTION_590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 591: x<-L+M+R+U #define ACTION_591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 592: x<-L+M+R+V #define ACTION_592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 593: x<-L+M+R+W #define ACTION_593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 594: x<-L+M+S+T #define ACTION_594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 595: x<-L+M+S+U #define ACTION_595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 596: x<-L+M+S+V #define ACTION_596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 597: x<-L+M+S+W #define ACTION_597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 598: x<-L+M+T+U #define ACTION_598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 599: x<-L+M+T+V #define ACTION_599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 600: x<-L+M+T+W #define ACTION_600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 601: x<-L+M+U+V #define ACTION_601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 602: x<-L+M+U+W #define ACTION_602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 603: x<-L+M+V+W #define ACTION_603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 604: x<-L+N+O+Q #define ACTION_604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 605: x<-L+N+O+T #define ACTION_605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 606: x<-L+N+O+U #define ACTION_606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 607: x<-L+N+O+V #define ACTION_607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 608: x<-L+N+O+W #define ACTION_608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 609: x<-L+N+P+Q #define ACTION_609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 610: x<-L+N+P+R #define ACTION_610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 611: x<-L+N+P+S #define ACTION_611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 612: x<-L+N+P+T #define ACTION_612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 613: x<-L+N+P+U #define ACTION_613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 614: x<-L+N+P+V #define ACTION_614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 615: x<-L+N+P+W #define ACTION_615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 616: x<-L+N+Q+R #define ACTION_616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 617: x<-L+N+Q+S #define ACTION_617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 618: x<-L+N+Q+T #define ACTION_618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 619: x<-L+N+Q+U #define ACTION_619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 620: x<-L+N+Q+V #define ACTION_620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 621: x<-L+N+Q+W #define ACTION_621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 622: x<-L+N+R+S #define ACTION_622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 623: x<-L+N+R+T #define ACTION_623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 624: x<-L+N+R+U #define ACTION_624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 625: x<-L+N+R+V #define ACTION_625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 626: x<-L+N+R+W #define ACTION_626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 627: x<-L+N+S+T #define ACTION_627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 628: x<-L+N+S+U #define ACTION_628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 629: x<-L+N+S+V #define ACTION_629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 630: x<-L+N+S+W #define ACTION_630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 631: x<-L+N+T+U #define ACTION_631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 632: x<-L+N+T+V #define ACTION_632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 633: x<-L+N+T+W #define ACTION_633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 634: x<-L+N+U+V #define ACTION_634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 635: x<-L+N+U+W #define ACTION_635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 636: x<-L+N+V+W #define ACTION_636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 637: x<-L+O+P+S #define ACTION_637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 638: x<-L+O+P+T #define ACTION_638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 639: x<-L+O+P+U #define ACTION_639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 640: x<-L+O+P+V #define ACTION_640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 641: x<-L+O+P+W #define ACTION_641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 642: x<-L+O+Q+T #define ACTION_642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 643: x<-L+O+Q+U #define ACTION_643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 644: x<-L+O+Q+V #define ACTION_644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 645: x<-L+O+Q+W #define ACTION_645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 646: x<-L+O+S+T #define ACTION_646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 647: x<-L+O+S+U #define ACTION_647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 648: x<-L+O+S+V #define ACTION_648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 649: x<-L+O+S+W #define ACTION_649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 650: x<-L+O+T+U #define ACTION_650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 651: x<-L+O+T+V #define ACTION_651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 652: x<-L+O+T+W #define ACTION_652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 653: x<-L+O+U+V #define ACTION_653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 654: x<-L+O+U+W #define ACTION_654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 655: x<-L+O+V+W #define ACTION_655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 656: x<-L+P+Q+R #define ACTION_656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 657: x<-L+P+Q+S #define ACTION_657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 658: x<-L+P+Q+T #define ACTION_658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 659: x<-L+P+Q+U #define ACTION_659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 660: x<-L+P+Q+V #define ACTION_660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 661: x<-L+P+Q+W #define ACTION_661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 662: x<-L+P+R+S #define ACTION_662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 663: x<-L+P+R+T #define ACTION_663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 664: x<-L+P+R+U #define ACTION_664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 665: x<-L+P+R+V #define ACTION_665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 666: x<-L+P+R+W #define ACTION_666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 667: x<-L+P+S+T #define ACTION_667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 668: x<-L+P+S+U #define ACTION_668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 669: x<-L+P+S+V #define ACTION_669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 670: x<-L+P+S+W #define ACTION_670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 671: x<-L+P+T+U #define ACTION_671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 672: x<-L+P+T+V #define ACTION_672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 673: x<-L+P+T+W #define ACTION_673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 674: x<-L+P+U+V #define ACTION_674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 675: x<-L+P+U+W #define ACTION_675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 676: x<-L+P+V+W #define ACTION_676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 677: x<-L+Q+R+T #define ACTION_677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 678: x<-L+Q+R+U #define ACTION_678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 679: x<-L+Q+R+V #define ACTION_679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 680: x<-L+Q+R+W #define ACTION_680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 681: x<-L+Q+S+T #define ACTION_681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 682: x<-L+Q+S+U #define ACTION_682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 683: x<-L+Q+S+V #define ACTION_683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 684: x<-L+Q+S+W #define ACTION_684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 685: x<-L+Q+T+U #define ACTION_685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 686: x<-L+Q+T+V #define ACTION_686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 687: x<-L+Q+T+W #define ACTION_687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 688: x<-L+Q+U+V #define ACTION_688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 689: x<-L+Q+U+W #define ACTION_689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 690: x<-L+Q+V+W #define ACTION_690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 691: x<-L+R+S+T #define ACTION_691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 692: x<-L+R+S+U #define ACTION_692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 693: x<-L+R+S+V #define ACTION_693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 694: x<-L+R+S+W #define ACTION_694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 695: x<-L+R+T+U #define ACTION_695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 696: x<-L+R+T+V #define ACTION_696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 697: x<-L+R+T+W #define ACTION_697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 698: x<-L+R+U+V #define ACTION_698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 699: x<-L+R+U+W #define ACTION_699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 700: x<-L+R+V+W #define ACTION_700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 701: x<-L+S+T+U #define ACTION_701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 702: x<-L+S+T+V #define ACTION_702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 703: x<-L+S+T+W #define ACTION_703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 704: x<-L+S+U+V #define ACTION_704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 705: x<-L+S+U+W #define ACTION_705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 706: x<-L+S+V+W #define ACTION_706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 707: x<-L+T+U+W #define ACTION_707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 708: x<-L+T+V+W #define ACTION_708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 709: x<-L+U+V+W #define ACTION_709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 710: x<-M+N+O+Q #define ACTION_710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 711: x<-M+N+O+T #define ACTION_711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 712: x<-M+N+O+U #define ACTION_712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 713: x<-M+N+O+V #define ACTION_713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 714: x<-M+N+O+W #define ACTION_714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 715: x<-M+N+P+Q #define ACTION_715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 716: x<-M+N+P+R #define ACTION_716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 717: x<-M+N+P+T #define ACTION_717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 718: x<-M+N+P+U #define ACTION_718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 719: x<-M+N+P+V #define ACTION_719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 720: x<-M+N+P+W #define ACTION_720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 721: x<-M+N+Q+R #define ACTION_721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 722: x<-M+N+Q+S #define ACTION_722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 723: x<-M+N+Q+T #define ACTION_723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 724: x<-M+N+Q+U #define ACTION_724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 725: x<-M+N+Q+V #define ACTION_725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 726: x<-M+N+Q+W #define ACTION_726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 727: x<-M+N+R+S #define ACTION_727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 728: x<-M+N+R+T #define ACTION_728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 729: x<-M+N+R+U #define ACTION_729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 730: x<-M+N+R+V #define ACTION_730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 731: x<-M+N+R+W #define ACTION_731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 732: x<-M+N+S+T #define ACTION_732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 733: x<-M+N+S+U #define ACTION_733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 734: x<-M+N+S+V #define ACTION_734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 735: x<-M+N+S+W #define ACTION_735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 736: x<-M+N+T+U #define ACTION_736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 737: x<-M+N+T+V #define ACTION_737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 738: x<-M+N+T+W #define ACTION_738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 739: x<-M+N+U+V #define ACTION_739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 740: x<-M+N+U+W #define ACTION_740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 741: x<-M+N+V+W #define ACTION_741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 742: x<-M+O+P+Q #define ACTION_742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 743: x<-M+O+P+R #define ACTION_743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 744: x<-M+O+P+T #define ACTION_744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 745: x<-M+O+P+U #define ACTION_745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 746: x<-M+O+P+V #define ACTION_746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 747: x<-M+O+P+W #define ACTION_747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 748: x<-M+O+Q+R #define ACTION_748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 749: x<-M+O+Q+S #define ACTION_749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 750: x<-M+O+Q+T #define ACTION_750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 751: x<-M+O+Q+U #define ACTION_751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 752: x<-M+O+Q+V #define ACTION_752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 753: x<-M+O+Q+W #define ACTION_753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 754: x<-M+O+R+S #define ACTION_754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 755: x<-M+O+R+T #define ACTION_755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 756: x<-M+O+R+U #define ACTION_756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 757: x<-M+O+R+V #define ACTION_757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 758: x<-M+O+R+W #define ACTION_758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 759: x<-M+O+S+T #define ACTION_759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 760: x<-M+O+S+U #define ACTION_760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 761: x<-M+O+S+V #define ACTION_761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 762: x<-M+O+S+W #define ACTION_762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 763: x<-M+O+T+U #define ACTION_763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 764: x<-M+O+T+V #define ACTION_764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 765: x<-M+O+T+W #define ACTION_765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 766: x<-M+O+U+V #define ACTION_766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 767: x<-M+O+U+W #define ACTION_767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 768: x<-M+O+V+W #define ACTION_768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 769: x<-M+P+Q+T #define ACTION_769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 770: x<-M+P+Q+U #define ACTION_770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 771: x<-M+P+Q+V #define ACTION_771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 772: x<-M+P+Q+W #define ACTION_772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 773: x<-M+P+R+T #define ACTION_773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 774: x<-M+P+R+U #define ACTION_774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 775: x<-M+P+R+V #define ACTION_775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 776: x<-M+P+R+W #define ACTION_776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 777: x<-M+P+T+U #define ACTION_777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 778: x<-M+P+T+V #define ACTION_778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 779: x<-M+P+T+W #define ACTION_779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 780: x<-M+P+U+V #define ACTION_780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 781: x<-M+P+U+W #define ACTION_781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 782: x<-M+P+V+W #define ACTION_782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 783: x<-M+Q+R+T #define ACTION_783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 784: x<-M+Q+R+U #define ACTION_784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 785: x<-M+Q+R+V #define ACTION_785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 786: x<-M+Q+R+W #define ACTION_786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 787: x<-M+Q+S+T #define ACTION_787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 788: x<-M+Q+S+U #define ACTION_788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 789: x<-M+Q+S+V #define ACTION_789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 790: x<-M+Q+S+W #define ACTION_790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 791: x<-M+Q+T+U #define ACTION_791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 792: x<-M+Q+T+V #define ACTION_792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 793: x<-M+Q+T+W #define ACTION_793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 794: x<-M+Q+U+V #define ACTION_794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 795: x<-M+Q+U+W #define ACTION_795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 796: x<-M+Q+V+W #define ACTION_796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 797: x<-M+R+S+T #define ACTION_797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 798: x<-M+R+S+U #define ACTION_798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 799: x<-M+R+S+V #define ACTION_799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 800: x<-M+R+S+W #define ACTION_800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 801: x<-M+R+T+U #define ACTION_801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 802: x<-M+R+T+V #define ACTION_802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 803: x<-M+R+T+W #define ACTION_803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 804: x<-M+R+U+V #define ACTION_804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 805: x<-M+R+U+W #define ACTION_805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 806: x<-M+R+V+W #define ACTION_806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 807: x<-M+S+T+U #define ACTION_807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 808: x<-M+S+T+V #define ACTION_808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 809: x<-M+S+T+W #define ACTION_809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 810: x<-M+S+U+V #define ACTION_810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 811: x<-M+S+U+W #define ACTION_811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 812: x<-M+S+V+W #define ACTION_812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 813: x<-M+T+U+W #define ACTION_813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 814: x<-M+T+V+W #define ACTION_814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 815: x<-M+U+V+W #define ACTION_815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 816: x<-N+O+Q+R #define ACTION_816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 817: x<-N+O+Q+S #define ACTION_817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 818: x<-N+O+Q+T #define ACTION_818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 819: x<-N+O+Q+U #define ACTION_819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 820: x<-N+O+Q+V #define ACTION_820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 821: x<-N+O+Q+W #define ACTION_821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 822: x<-N+O+R+S #define ACTION_822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 823: x<-N+O+R+T #define ACTION_823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 824: x<-N+O+R+U #define ACTION_824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 825: x<-N+O+R+V #define ACTION_825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 826: x<-N+O+R+W #define ACTION_826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 827: x<-N+O+S+T #define ACTION_827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 828: x<-N+O+S+U #define ACTION_828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 829: x<-N+O+S+V #define ACTION_829 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 830: x<-N+O+S+W #define ACTION_830 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 831: x<-N+O+T+U #define ACTION_831 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 832: x<-N+O+T+V #define ACTION_832 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 833: x<-N+O+T+W #define ACTION_833 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 834: x<-N+O+U+V #define ACTION_834 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 835: x<-N+O+U+W #define ACTION_835 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 836: x<-N+O+V+W #define ACTION_836 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 837: x<-N+P+Q+R #define ACTION_837 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 838: x<-N+P+Q+S #define ACTION_838 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 839: x<-N+P+Q+T #define ACTION_839 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 840: x<-N+P+Q+U #define ACTION_840 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 841: x<-N+P+Q+V #define ACTION_841 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 842: x<-N+P+Q+W #define ACTION_842 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 843: x<-N+P+R+S #define ACTION_843 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 844: x<-N+P+R+T #define ACTION_844 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 845: x<-N+P+R+U #define ACTION_845 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 846: x<-N+P+R+V #define ACTION_846 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 847: x<-N+P+R+W #define ACTION_847 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 848: x<-N+P+S+T #define ACTION_848 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 849: x<-N+P+S+U #define ACTION_849 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 850: x<-N+P+S+V #define ACTION_850 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 851: x<-N+P+S+W #define ACTION_851 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 852: x<-N+P+T+U #define ACTION_852 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 853: x<-N+P+T+V #define ACTION_853 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 854: x<-N+P+T+W #define ACTION_854 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 855: x<-N+P+U+V #define ACTION_855 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 856: x<-N+P+U+W #define ACTION_856 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 857: x<-N+P+V+W #define ACTION_857 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 858: x<-N+Q+R+T #define ACTION_858 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 859: x<-N+Q+R+U #define ACTION_859 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 860: x<-N+Q+R+V #define ACTION_860 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 861: x<-N+Q+R+W #define ACTION_861 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 862: x<-N+Q+S+T #define ACTION_862 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 863: x<-N+Q+S+U #define ACTION_863 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 864: x<-N+Q+S+V #define ACTION_864 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 865: x<-N+Q+S+W #define ACTION_865 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 866: x<-N+Q+T+U #define ACTION_866 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 867: x<-N+Q+T+V #define ACTION_867 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 868: x<-N+Q+T+W #define ACTION_868 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 869: x<-N+Q+U+V #define ACTION_869 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 870: x<-N+Q+U+W #define ACTION_870 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 871: x<-N+Q+V+W #define ACTION_871 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 872: x<-N+R+S+T #define ACTION_872 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 873: x<-N+R+S+U #define ACTION_873 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 874: x<-N+R+S+V #define ACTION_874 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 875: x<-N+R+S+W #define ACTION_875 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 876: x<-N+R+T+U #define ACTION_876 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 877: x<-N+R+T+V #define ACTION_877 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 878: x<-N+R+T+W #define ACTION_878 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 879: x<-N+R+U+V #define ACTION_879 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 880: x<-N+R+U+W #define ACTION_880 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 881: x<-N+R+V+W #define ACTION_881 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 882: x<-N+S+T+U #define ACTION_882 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 883: x<-N+S+T+V #define ACTION_883 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 884: x<-N+S+T+W #define ACTION_884 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 885: x<-N+S+U+V #define ACTION_885 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 886: x<-N+S+U+W #define ACTION_886 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 887: x<-N+S+V+W #define ACTION_887 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 888: x<-N+T+U+W #define ACTION_888 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 889: x<-N+T+V+W #define ACTION_889 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 890: x<-N+U+V+W #define ACTION_890 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 891: x<-O+P+Q+R #define ACTION_891 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 892: x<-O+P+Q+S #define ACTION_892 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 893: x<-O+P+Q+T #define ACTION_893 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 894: x<-O+P+Q+U #define ACTION_894 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 895: x<-O+P+Q+V #define ACTION_895 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 896: x<-O+P+Q+W #define ACTION_896 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 897: x<-O+P+R+S #define ACTION_897 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 898: x<-O+P+R+T #define ACTION_898 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 899: x<-O+P+R+U #define ACTION_899 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 900: x<-O+P+R+V #define ACTION_900 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 901: x<-O+P+R+W #define ACTION_901 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 902: x<-O+P+S+T #define ACTION_902 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 903: x<-O+P+S+U #define ACTION_903 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 904: x<-O+P+S+V #define ACTION_904 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 905: x<-O+P+S+W #define ACTION_905 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 906: x<-O+P+T+U #define ACTION_906 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 907: x<-O+P+T+V #define ACTION_907 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 908: x<-O+P+T+W #define ACTION_908 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 909: x<-O+P+U+V #define ACTION_909 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 910: x<-O+P+U+W #define ACTION_910 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 911: x<-O+P+V+W #define ACTION_911 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 912: x<-O+Q+R+T #define ACTION_912 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 913: x<-O+Q+R+U #define ACTION_913 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 914: x<-O+Q+R+V #define ACTION_914 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 915: x<-O+Q+R+W #define ACTION_915 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 916: x<-O+Q+S+T #define ACTION_916 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 917: x<-O+Q+S+U #define ACTION_917 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 918: x<-O+Q+S+V #define ACTION_918 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 919: x<-O+Q+S+W #define ACTION_919 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 920: x<-O+Q+T+U #define ACTION_920 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 921: x<-O+Q+T+V #define ACTION_921 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 922: x<-O+Q+T+W #define ACTION_922 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 923: x<-O+Q+U+V #define ACTION_923 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 924: x<-O+Q+U+W #define ACTION_924 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 925: x<-O+Q+V+W #define ACTION_925 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 926: x<-O+R+S+T #define ACTION_926 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 927: x<-O+R+S+U #define ACTION_927 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 928: x<-O+R+S+V #define ACTION_928 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 929: x<-O+R+S+W #define ACTION_929 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 930: x<-O+R+T+U #define ACTION_930 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 931: x<-O+R+T+V #define ACTION_931 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 932: x<-O+R+T+W #define ACTION_932 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 933: x<-O+R+U+V #define ACTION_933 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 934: x<-O+R+U+W #define ACTION_934 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 935: x<-O+R+V+W #define ACTION_935 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 936: x<-O+S+T+U #define ACTION_936 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 937: x<-O+S+T+V #define ACTION_937 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 938: x<-O+S+T+W #define ACTION_938 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 939: x<-O+S+U+V #define ACTION_939 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 940: x<-O+S+U+W #define ACTION_940 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 941: x<-O+S+V+W #define ACTION_941 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 942: x<-O+T+U+W #define ACTION_942 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 943: x<-O+T+V+W #define ACTION_943 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 944: x<-O+U+V+W #define ACTION_944 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 945: x<-P+Q+R+T #define ACTION_945 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 946: x<-P+Q+R+U #define ACTION_946 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 947: x<-P+Q+R+V #define ACTION_947 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 948: x<-P+Q+R+W #define ACTION_948 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 949: x<-P+Q+S+T #define ACTION_949 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 950: x<-P+Q+S+U #define ACTION_950 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 951: x<-P+Q+S+V #define ACTION_951 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 952: x<-P+Q+S+W #define ACTION_952 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 953: x<-P+Q+T+U #define ACTION_953 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 954: x<-P+Q+T+V #define ACTION_954 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 955: x<-P+Q+T+W #define ACTION_955 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 956: x<-P+Q+U+V #define ACTION_956 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 957: x<-P+Q+U+W #define ACTION_957 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 958: x<-P+Q+V+W #define ACTION_958 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 959: x<-P+R+S+T #define ACTION_959 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 960: x<-P+R+S+U #define ACTION_960 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 961: x<-P+R+S+V #define ACTION_961 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 962: x<-P+R+S+W #define ACTION_962 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 963: x<-P+R+T+U #define ACTION_963 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 964: x<-P+R+T+V #define ACTION_964 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 965: x<-P+R+T+W #define ACTION_965 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 966: x<-P+R+U+V #define ACTION_966 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 967: x<-P+R+U+W #define ACTION_967 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 968: x<-P+R+V+W #define ACTION_968 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 969: x<-P+S+T+U #define ACTION_969 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 970: x<-P+S+T+V #define ACTION_970 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 971: x<-P+S+T+W #define ACTION_971 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 972: x<-P+S+U+V #define ACTION_972 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 973: x<-P+S+U+W #define ACTION_973 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 974: x<-P+S+V+W #define ACTION_974 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 975: x<-P+T+U+W #define ACTION_975 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 976: x<-P+T+V+W #define ACTION_976 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 977: x<-P+U+V+W #define ACTION_977 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 978: x<-Q+R+T+U #define ACTION_978 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 979: x<-Q+R+T+V #define ACTION_979 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 980: x<-Q+R+T+W #define ACTION_980 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 981: x<-Q+R+U+V #define ACTION_981 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 982: x<-Q+R+U+W #define ACTION_982 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 983: x<-Q+R+V+W #define ACTION_983 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 984: x<-Q+S+T+U #define ACTION_984 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 985: x<-Q+S+T+V #define ACTION_985 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 986: x<-Q+S+T+W #define ACTION_986 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 987: x<-Q+S+U+V #define ACTION_987 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 988: x<-Q+S+U+W #define ACTION_988 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 989: x<-Q+S+V+W #define ACTION_989 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 990: x<-Q+T+U+W #define ACTION_990 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 991: x<-Q+T+V+W #define ACTION_991 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 992: x<-Q+U+V+W #define ACTION_992 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 993: x<-R+S+T+U #define ACTION_993 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 994: x<-R+S+T+V #define ACTION_994 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 995: x<-R+S+T+W #define ACTION_995 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 996: x<-R+S+U+V #define ACTION_996 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 997: x<-R+S+U+W #define ACTION_997 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 998: x<-R+S+V+W #define ACTION_998 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 999: x<-R+T+U+W #define ACTION_999 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)));continue; // Action 1000: x<-R+T+V+W #define ACTION_1000 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)));continue; // Action 1001: x<-R+U+V+W #define ACTION_1001 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)));continue; // Action 1002: x<-S+T+U+W #define ACTION_1002 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1003: x<-S+T+V+W #define ACTION_1003 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1004: x<-S+U+V+W #define ACTION_1004 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)));continue; // Action 1005: x<-K+L+N+O+T #define ACTION_1005 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1006: x<-K+L+N+O+U #define ACTION_1006 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1007: x<-K+L+N+O+V #define ACTION_1007 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1008: x<-K+L+N+O+W #define ACTION_1008 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1009: x<-K+L+N+P+T #define ACTION_1009 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1010: x<-K+L+N+P+U #define ACTION_1010 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1011: x<-K+L+N+P+V #define ACTION_1011 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1012: x<-K+L+N+P+W #define ACTION_1012 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1013: x<-K+L+N+R+T #define ACTION_1013 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1014: x<-K+L+N+R+U #define ACTION_1014 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1015: x<-K+L+N+R+V #define ACTION_1015 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1016: x<-K+L+N+R+W #define ACTION_1016 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1017: x<-K+L+N+S+T #define ACTION_1017 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1018: x<-K+L+N+S+U #define ACTION_1018 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1019: x<-K+L+N+S+V #define ACTION_1019 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1020: x<-K+L+N+S+W #define ACTION_1020 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1021: x<-K+L+N+T+U #define ACTION_1021 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1022: x<-K+L+N+T+V #define ACTION_1022 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1023: x<-K+L+N+T+W #define ACTION_1023 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1024: x<-K+L+N+U+V #define ACTION_1024 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1025: x<-K+L+N+U+W #define ACTION_1025 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1026: x<-K+L+N+V+W #define ACTION_1026 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1027: x<-K+L+O+P+T #define ACTION_1027 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1028: x<-K+L+O+P+U #define ACTION_1028 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1029: x<-K+L+O+P+V #define ACTION_1029 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1030: x<-K+L+O+P+W #define ACTION_1030 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1031: x<-K+L+O+Q+T #define ACTION_1031 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1032: x<-K+L+O+Q+U #define ACTION_1032 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1033: x<-K+L+O+Q+V #define ACTION_1033 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1034: x<-K+L+O+Q+W #define ACTION_1034 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1035: x<-K+L+O+S+T #define ACTION_1035 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1036: x<-K+L+O+S+U #define ACTION_1036 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1037: x<-K+L+O+S+V #define ACTION_1037 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1038: x<-K+L+O+S+W #define ACTION_1038 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1039: x<-K+L+O+T+U #define ACTION_1039 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1040: x<-K+L+O+T+V #define ACTION_1040 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1041: x<-K+L+O+T+W #define ACTION_1041 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1042: x<-K+L+O+U+V #define ACTION_1042 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1043: x<-K+L+O+U+W #define ACTION_1043 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1044: x<-K+L+O+V+W #define ACTION_1044 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1045: x<-K+L+P+Q+T #define ACTION_1045 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1046: x<-K+L+P+Q+U #define ACTION_1046 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1047: x<-K+L+P+Q+V #define ACTION_1047 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1048: x<-K+L+P+Q+W #define ACTION_1048 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1049: x<-K+L+P+R+T #define ACTION_1049 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1050: x<-K+L+P+R+U #define ACTION_1050 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1051: x<-K+L+P+R+V #define ACTION_1051 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1052: x<-K+L+P+R+W #define ACTION_1052 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1053: x<-K+L+P+T+U #define ACTION_1053 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1054: x<-K+L+P+T+V #define ACTION_1054 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1055: x<-K+L+P+T+W #define ACTION_1055 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1056: x<-K+L+P+U+V #define ACTION_1056 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1057: x<-K+L+P+U+W #define ACTION_1057 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1058: x<-K+L+P+V+W #define ACTION_1058 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1059: x<-K+L+Q+R+T #define ACTION_1059 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1060: x<-K+L+Q+R+U #define ACTION_1060 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1061: x<-K+L+Q+R+V #define ACTION_1061 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1062: x<-K+L+Q+R+W #define ACTION_1062 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1063: x<-K+L+Q+S+T #define ACTION_1063 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1064: x<-K+L+Q+S+U #define ACTION_1064 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1065: x<-K+L+Q+S+V #define ACTION_1065 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1066: x<-K+L+Q+S+W #define ACTION_1066 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1067: x<-K+L+Q+T+U #define ACTION_1067 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1068: x<-K+L+Q+T+V #define ACTION_1068 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1069: x<-K+L+Q+T+W #define ACTION_1069 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1070: x<-K+L+Q+U+V #define ACTION_1070 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1071: x<-K+L+Q+U+W #define ACTION_1071 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1072: x<-K+L+Q+V+W #define ACTION_1072 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1073: x<-K+L+R+S+T #define ACTION_1073 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1074: x<-K+L+R+S+U #define ACTION_1074 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1075: x<-K+L+R+S+V #define ACTION_1075 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1076: x<-K+L+R+S+W #define ACTION_1076 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1077: x<-K+L+R+T+U #define ACTION_1077 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1078: x<-K+L+R+T+V #define ACTION_1078 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1079: x<-K+L+R+T+W #define ACTION_1079 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1080: x<-K+L+R+U+V #define ACTION_1080 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1081: x<-K+L+R+U+W #define ACTION_1081 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1082: x<-K+L+R+V+W #define ACTION_1082 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1083: x<-K+L+S+T+U #define ACTION_1083 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1084: x<-K+L+S+T+V #define ACTION_1084 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1085: x<-K+L+S+T+W #define ACTION_1085 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1086: x<-K+L+S+U+V #define ACTION_1086 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1087: x<-K+L+S+U+W #define ACTION_1087 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1088: x<-K+L+S+V+W #define ACTION_1088 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1089: x<-K+L+T+U+W #define ACTION_1089 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1090: x<-K+L+T+V+W #define ACTION_1090 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1091: x<-K+L+U+V+W #define ACTION_1091 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1092: x<-K+M+N+O+T #define ACTION_1092 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1093: x<-K+M+N+O+U #define ACTION_1093 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1094: x<-K+M+N+O+V #define ACTION_1094 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1095: x<-K+M+N+O+W #define ACTION_1095 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1096: x<-K+M+N+P+T #define ACTION_1096 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1097: x<-K+M+N+P+U #define ACTION_1097 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1098: x<-K+M+N+P+V #define ACTION_1098 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1099: x<-K+M+N+P+W #define ACTION_1099 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1100: x<-K+M+N+R+T #define ACTION_1100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1101: x<-K+M+N+R+U #define ACTION_1101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1102: x<-K+M+N+R+V #define ACTION_1102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1103: x<-K+M+N+R+W #define ACTION_1103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1104: x<-K+M+N+S+T #define ACTION_1104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1105: x<-K+M+N+S+U #define ACTION_1105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1106: x<-K+M+N+S+V #define ACTION_1106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1107: x<-K+M+N+S+W #define ACTION_1107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1108: x<-K+M+N+T+U #define ACTION_1108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1109: x<-K+M+N+T+V #define ACTION_1109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1110: x<-K+M+N+T+W #define ACTION_1110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1111: x<-K+M+N+U+V #define ACTION_1111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1112: x<-K+M+N+U+W #define ACTION_1112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1113: x<-K+M+N+V+W #define ACTION_1113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1114: x<-K+M+O+P+T #define ACTION_1114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1115: x<-K+M+O+P+U #define ACTION_1115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1116: x<-K+M+O+P+V #define ACTION_1116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1117: x<-K+M+O+P+W #define ACTION_1117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1118: x<-K+M+O+Q+T #define ACTION_1118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1119: x<-K+M+O+Q+U #define ACTION_1119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1120: x<-K+M+O+Q+V #define ACTION_1120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1121: x<-K+M+O+Q+W #define ACTION_1121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1122: x<-K+M+O+S+T #define ACTION_1122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1123: x<-K+M+O+S+U #define ACTION_1123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1124: x<-K+M+O+S+V #define ACTION_1124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1125: x<-K+M+O+S+W #define ACTION_1125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1126: x<-K+M+O+T+U #define ACTION_1126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1127: x<-K+M+O+T+V #define ACTION_1127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1128: x<-K+M+O+T+W #define ACTION_1128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1129: x<-K+M+O+U+V #define ACTION_1129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1130: x<-K+M+O+U+W #define ACTION_1130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1131: x<-K+M+O+V+W #define ACTION_1131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1132: x<-K+M+P+Q+T #define ACTION_1132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1133: x<-K+M+P+Q+U #define ACTION_1133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1134: x<-K+M+P+Q+V #define ACTION_1134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1135: x<-K+M+P+Q+W #define ACTION_1135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1136: x<-K+M+P+R+T #define ACTION_1136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1137: x<-K+M+P+R+U #define ACTION_1137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1138: x<-K+M+P+R+V #define ACTION_1138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1139: x<-K+M+P+R+W #define ACTION_1139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1140: x<-K+M+P+T+U #define ACTION_1140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1141: x<-K+M+P+T+V #define ACTION_1141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1142: x<-K+M+P+T+W #define ACTION_1142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1143: x<-K+M+P+U+V #define ACTION_1143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1144: x<-K+M+P+U+W #define ACTION_1144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1145: x<-K+M+P+V+W #define ACTION_1145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1146: x<-K+M+Q+R+T #define ACTION_1146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1147: x<-K+M+Q+R+U #define ACTION_1147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1148: x<-K+M+Q+R+V #define ACTION_1148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1149: x<-K+M+Q+R+W #define ACTION_1149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1150: x<-K+M+Q+S+T #define ACTION_1150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1151: x<-K+M+Q+S+U #define ACTION_1151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1152: x<-K+M+Q+S+V #define ACTION_1152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1153: x<-K+M+Q+S+W #define ACTION_1153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1154: x<-K+M+Q+T+U #define ACTION_1154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1155: x<-K+M+Q+T+V #define ACTION_1155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1156: x<-K+M+Q+T+W #define ACTION_1156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1157: x<-K+M+Q+U+V #define ACTION_1157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1158: x<-K+M+Q+U+W #define ACTION_1158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1159: x<-K+M+Q+V+W #define ACTION_1159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1160: x<-K+M+R+S+T #define ACTION_1160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1161: x<-K+M+R+S+U #define ACTION_1161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1162: x<-K+M+R+S+V #define ACTION_1162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1163: x<-K+M+R+S+W #define ACTION_1163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1164: x<-K+M+R+T+U #define ACTION_1164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1165: x<-K+M+R+T+V #define ACTION_1165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1166: x<-K+M+R+T+W #define ACTION_1166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1167: x<-K+M+R+U+V #define ACTION_1167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1168: x<-K+M+R+U+W #define ACTION_1168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1169: x<-K+M+R+V+W #define ACTION_1169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1170: x<-K+M+S+T+U #define ACTION_1170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1171: x<-K+M+S+T+V #define ACTION_1171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1172: x<-K+M+S+T+W #define ACTION_1172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1173: x<-K+M+S+U+V #define ACTION_1173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1174: x<-K+M+S+U+W #define ACTION_1174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1175: x<-K+M+S+V+W #define ACTION_1175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1176: x<-K+M+T+U+W #define ACTION_1176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1177: x<-K+M+T+V+W #define ACTION_1177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1178: x<-K+M+U+V+W #define ACTION_1178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1179: x<-K+N+O+R+T #define ACTION_1179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1180: x<-K+N+O+R+U #define ACTION_1180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1181: x<-K+N+O+R+V #define ACTION_1181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1182: x<-K+N+O+R+W #define ACTION_1182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1183: x<-K+N+O+S+T #define ACTION_1183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1184: x<-K+N+O+S+U #define ACTION_1184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1185: x<-K+N+O+S+V #define ACTION_1185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1186: x<-K+N+O+S+W #define ACTION_1186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1187: x<-K+N+O+T+U #define ACTION_1187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1188: x<-K+N+O+T+V #define ACTION_1188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1189: x<-K+N+O+T+W #define ACTION_1189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1190: x<-K+N+O+U+V #define ACTION_1190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1191: x<-K+N+O+U+W #define ACTION_1191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1192: x<-K+N+O+V+W #define ACTION_1192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1193: x<-K+N+P+R+T #define ACTION_1193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1194: x<-K+N+P+R+U #define ACTION_1194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1195: x<-K+N+P+R+V #define ACTION_1195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1196: x<-K+N+P+R+W #define ACTION_1196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1197: x<-K+N+P+S+T #define ACTION_1197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1198: x<-K+N+P+S+U #define ACTION_1198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1199: x<-K+N+P+S+V #define ACTION_1199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1200: x<-K+N+P+S+W #define ACTION_1200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1201: x<-K+N+P+T+U #define ACTION_1201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1202: x<-K+N+P+T+V #define ACTION_1202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1203: x<-K+N+P+T+W #define ACTION_1203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1204: x<-K+N+P+U+V #define ACTION_1204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1205: x<-K+N+P+U+W #define ACTION_1205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1206: x<-K+N+P+V+W #define ACTION_1206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1207: x<-K+N+R+T+U #define ACTION_1207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1208: x<-K+N+R+T+V #define ACTION_1208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1209: x<-K+N+R+T+W #define ACTION_1209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1210: x<-K+N+R+U+V #define ACTION_1210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1211: x<-K+N+R+U+W #define ACTION_1211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1212: x<-K+N+R+V+W #define ACTION_1212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1213: x<-K+N+S+T+U #define ACTION_1213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1214: x<-K+N+S+T+V #define ACTION_1214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1215: x<-K+N+S+T+W #define ACTION_1215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1216: x<-K+N+S+U+V #define ACTION_1216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1217: x<-K+N+S+U+W #define ACTION_1217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1218: x<-K+N+S+V+W #define ACTION_1218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1219: x<-K+N+T+U+W #define ACTION_1219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1220: x<-K+N+T+V+W #define ACTION_1220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1221: x<-K+N+U+V+W #define ACTION_1221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1222: x<-K+O+P+S+T #define ACTION_1222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1223: x<-K+O+P+S+U #define ACTION_1223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1224: x<-K+O+P+S+V #define ACTION_1224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1225: x<-K+O+P+S+W #define ACTION_1225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1226: x<-K+O+P+T+U #define ACTION_1226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1227: x<-K+O+P+T+V #define ACTION_1227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1228: x<-K+O+P+T+W #define ACTION_1228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1229: x<-K+O+P+U+V #define ACTION_1229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1230: x<-K+O+P+U+W #define ACTION_1230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1231: x<-K+O+P+V+W #define ACTION_1231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1232: x<-K+O+Q+R+T #define ACTION_1232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1233: x<-K+O+Q+R+U #define ACTION_1233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1234: x<-K+O+Q+R+V #define ACTION_1234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1235: x<-K+O+Q+R+W #define ACTION_1235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1236: x<-K+O+Q+S+T #define ACTION_1236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1237: x<-K+O+Q+S+U #define ACTION_1237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1238: x<-K+O+Q+S+V #define ACTION_1238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1239: x<-K+O+Q+S+W #define ACTION_1239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1240: x<-K+O+Q+T+U #define ACTION_1240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1241: x<-K+O+Q+T+V #define ACTION_1241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1242: x<-K+O+Q+T+W #define ACTION_1242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1243: x<-K+O+Q+U+V #define ACTION_1243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1244: x<-K+O+Q+U+W #define ACTION_1244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1245: x<-K+O+Q+V+W #define ACTION_1245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1246: x<-K+O+R+S+T #define ACTION_1246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1247: x<-K+O+R+S+U #define ACTION_1247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1248: x<-K+O+R+S+V #define ACTION_1248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1249: x<-K+O+R+S+W #define ACTION_1249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1250: x<-K+O+R+T+U #define ACTION_1250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1251: x<-K+O+R+T+V #define ACTION_1251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1252: x<-K+O+R+T+W #define ACTION_1252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1253: x<-K+O+R+U+V #define ACTION_1253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1254: x<-K+O+R+U+W #define ACTION_1254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1255: x<-K+O+R+V+W #define ACTION_1255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1256: x<-K+O+S+T+U #define ACTION_1256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1257: x<-K+O+S+T+V #define ACTION_1257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1258: x<-K+O+S+T+W #define ACTION_1258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1259: x<-K+O+S+U+V #define ACTION_1259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1260: x<-K+O+S+U+W #define ACTION_1260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1261: x<-K+O+S+V+W #define ACTION_1261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1262: x<-K+O+T+U+W #define ACTION_1262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1263: x<-K+O+T+V+W #define ACTION_1263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1264: x<-K+O+U+V+W #define ACTION_1264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1265: x<-K+P+Q+R+T #define ACTION_1265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1266: x<-K+P+Q+R+U #define ACTION_1266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1267: x<-K+P+Q+R+V #define ACTION_1267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1268: x<-K+P+Q+R+W #define ACTION_1268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1269: x<-K+P+Q+S+T #define ACTION_1269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1270: x<-K+P+Q+S+U #define ACTION_1270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1271: x<-K+P+Q+S+V #define ACTION_1271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1272: x<-K+P+Q+S+W #define ACTION_1272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1273: x<-K+P+Q+T+U #define ACTION_1273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1274: x<-K+P+Q+T+V #define ACTION_1274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1275: x<-K+P+Q+T+W #define ACTION_1275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1276: x<-K+P+Q+U+V #define ACTION_1276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1277: x<-K+P+Q+U+W #define ACTION_1277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1278: x<-K+P+Q+V+W #define ACTION_1278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1279: x<-K+P+R+S+T #define ACTION_1279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1280: x<-K+P+R+S+U #define ACTION_1280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1281: x<-K+P+R+S+V #define ACTION_1281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1282: x<-K+P+R+S+W #define ACTION_1282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1283: x<-K+P+R+T+U #define ACTION_1283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1284: x<-K+P+R+T+V #define ACTION_1284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1285: x<-K+P+R+T+W #define ACTION_1285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1286: x<-K+P+R+U+V #define ACTION_1286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1287: x<-K+P+R+U+W #define ACTION_1287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1288: x<-K+P+R+V+W #define ACTION_1288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1289: x<-K+P+S+T+U #define ACTION_1289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1290: x<-K+P+S+T+V #define ACTION_1290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1291: x<-K+P+S+T+W #define ACTION_1291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1292: x<-K+P+S+U+V #define ACTION_1292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1293: x<-K+P+S+U+W #define ACTION_1293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1294: x<-K+P+S+V+W #define ACTION_1294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1295: x<-K+P+T+U+W #define ACTION_1295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1296: x<-K+P+T+V+W #define ACTION_1296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1297: x<-K+P+U+V+W #define ACTION_1297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1298: x<-K+Q+R+T+U #define ACTION_1298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1299: x<-K+Q+R+T+V #define ACTION_1299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1300: x<-K+Q+R+T+W #define ACTION_1300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1301: x<-K+Q+R+U+V #define ACTION_1301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1302: x<-K+Q+R+U+W #define ACTION_1302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1303: x<-K+Q+R+V+W #define ACTION_1303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1304: x<-K+Q+S+T+U #define ACTION_1304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1305: x<-K+Q+S+T+V #define ACTION_1305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1306: x<-K+Q+S+T+W #define ACTION_1306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1307: x<-K+Q+S+U+V #define ACTION_1307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1308: x<-K+Q+S+U+W #define ACTION_1308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1309: x<-K+Q+S+V+W #define ACTION_1309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1310: x<-K+Q+T+U+W #define ACTION_1310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1311: x<-K+Q+T+V+W #define ACTION_1311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1312: x<-K+Q+U+V+W #define ACTION_1312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1313: x<-K+R+S+T+U #define ACTION_1313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1314: x<-K+R+S+T+V #define ACTION_1314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1315: x<-K+R+S+T+W #define ACTION_1315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1316: x<-K+R+S+U+V #define ACTION_1316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1317: x<-K+R+S+U+W #define ACTION_1317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1318: x<-K+R+S+V+W #define ACTION_1318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1319: x<-K+R+T+U+W #define ACTION_1319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1320: x<-K+R+T+V+W #define ACTION_1320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1321: x<-K+R+U+V+W #define ACTION_1321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1322: x<-K+S+T+U+W #define ACTION_1322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1323: x<-K+S+T+V+W #define ACTION_1323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1324: x<-K+S+U+V+W #define ACTION_1324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1325: x<-L+M+N+O+T #define ACTION_1325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1326: x<-L+M+N+O+U #define ACTION_1326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1327: x<-L+M+N+O+V #define ACTION_1327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1328: x<-L+M+N+O+W #define ACTION_1328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1329: x<-L+M+N+P+T #define ACTION_1329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1330: x<-L+M+N+P+U #define ACTION_1330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1331: x<-L+M+N+P+V #define ACTION_1331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1332: x<-L+M+N+P+W #define ACTION_1332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1333: x<-L+M+N+R+T #define ACTION_1333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1334: x<-L+M+N+R+U #define ACTION_1334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1335: x<-L+M+N+R+V #define ACTION_1335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1336: x<-L+M+N+R+W #define ACTION_1336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1337: x<-L+M+N+S+T #define ACTION_1337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1338: x<-L+M+N+S+U #define ACTION_1338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1339: x<-L+M+N+S+V #define ACTION_1339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1340: x<-L+M+N+S+W #define ACTION_1340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1341: x<-L+M+N+T+U #define ACTION_1341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1342: x<-L+M+N+T+V #define ACTION_1342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1343: x<-L+M+N+T+W #define ACTION_1343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1344: x<-L+M+N+U+V #define ACTION_1344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1345: x<-L+M+N+U+W #define ACTION_1345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1346: x<-L+M+N+V+W #define ACTION_1346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1347: x<-L+M+O+P+T #define ACTION_1347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1348: x<-L+M+O+P+U #define ACTION_1348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1349: x<-L+M+O+P+V #define ACTION_1349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1350: x<-L+M+O+P+W #define ACTION_1350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1351: x<-L+M+O+Q+T #define ACTION_1351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1352: x<-L+M+O+Q+U #define ACTION_1352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1353: x<-L+M+O+Q+V #define ACTION_1353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1354: x<-L+M+O+Q+W #define ACTION_1354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1355: x<-L+M+O+S+T #define ACTION_1355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1356: x<-L+M+O+S+U #define ACTION_1356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1357: x<-L+M+O+S+V #define ACTION_1357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1358: x<-L+M+O+S+W #define ACTION_1358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1359: x<-L+M+O+T+U #define ACTION_1359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1360: x<-L+M+O+T+V #define ACTION_1360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1361: x<-L+M+O+T+W #define ACTION_1361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1362: x<-L+M+O+U+V #define ACTION_1362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1363: x<-L+M+O+U+W #define ACTION_1363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1364: x<-L+M+O+V+W #define ACTION_1364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1365: x<-L+M+P+Q+T #define ACTION_1365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1366: x<-L+M+P+Q+U #define ACTION_1366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1367: x<-L+M+P+Q+V #define ACTION_1367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1368: x<-L+M+P+Q+W #define ACTION_1368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1369: x<-L+M+P+R+T #define ACTION_1369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1370: x<-L+M+P+R+U #define ACTION_1370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1371: x<-L+M+P+R+V #define ACTION_1371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1372: x<-L+M+P+R+W #define ACTION_1372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1373: x<-L+M+P+T+U #define ACTION_1373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1374: x<-L+M+P+T+V #define ACTION_1374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1375: x<-L+M+P+T+W #define ACTION_1375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1376: x<-L+M+P+U+V #define ACTION_1376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1377: x<-L+M+P+U+W #define ACTION_1377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1378: x<-L+M+P+V+W #define ACTION_1378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1379: x<-L+M+Q+R+T #define ACTION_1379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1380: x<-L+M+Q+R+U #define ACTION_1380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1381: x<-L+M+Q+R+V #define ACTION_1381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1382: x<-L+M+Q+R+W #define ACTION_1382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1383: x<-L+M+Q+S+T #define ACTION_1383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1384: x<-L+M+Q+S+U #define ACTION_1384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1385: x<-L+M+Q+S+V #define ACTION_1385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1386: x<-L+M+Q+S+W #define ACTION_1386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1387: x<-L+M+Q+T+U #define ACTION_1387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1388: x<-L+M+Q+T+V #define ACTION_1388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1389: x<-L+M+Q+T+W #define ACTION_1389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1390: x<-L+M+Q+U+V #define ACTION_1390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1391: x<-L+M+Q+U+W #define ACTION_1391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1392: x<-L+M+Q+V+W #define ACTION_1392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1393: x<-L+M+R+S+T #define ACTION_1393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1394: x<-L+M+R+S+U #define ACTION_1394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1395: x<-L+M+R+S+V #define ACTION_1395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1396: x<-L+M+R+S+W #define ACTION_1396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1397: x<-L+M+R+T+U #define ACTION_1397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1398: x<-L+M+R+T+V #define ACTION_1398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1399: x<-L+M+R+T+W #define ACTION_1399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1400: x<-L+M+R+U+V #define ACTION_1400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1401: x<-L+M+R+U+W #define ACTION_1401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1402: x<-L+M+R+V+W #define ACTION_1402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1403: x<-L+M+S+T+U #define ACTION_1403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1404: x<-L+M+S+T+V #define ACTION_1404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1405: x<-L+M+S+T+W #define ACTION_1405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1406: x<-L+M+S+U+V #define ACTION_1406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1407: x<-L+M+S+U+W #define ACTION_1407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1408: x<-L+M+S+V+W #define ACTION_1408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1409: x<-L+M+T+U+W #define ACTION_1409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1410: x<-L+M+T+V+W #define ACTION_1410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1411: x<-L+M+U+V+W #define ACTION_1411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1412: x<-L+N+O+Q+T #define ACTION_1412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1413: x<-L+N+O+Q+U #define ACTION_1413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1414: x<-L+N+O+Q+V #define ACTION_1414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1415: x<-L+N+O+Q+W #define ACTION_1415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1416: x<-L+N+O+T+U #define ACTION_1416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1417: x<-L+N+O+T+V #define ACTION_1417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1418: x<-L+N+O+T+W #define ACTION_1418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1419: x<-L+N+O+U+V #define ACTION_1419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1420: x<-L+N+O+U+W #define ACTION_1420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1421: x<-L+N+O+V+W #define ACTION_1421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1422: x<-L+N+P+Q+T #define ACTION_1422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1423: x<-L+N+P+Q+U #define ACTION_1423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1424: x<-L+N+P+Q+V #define ACTION_1424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1425: x<-L+N+P+Q+W #define ACTION_1425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1426: x<-L+N+P+R+T #define ACTION_1426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1427: x<-L+N+P+R+U #define ACTION_1427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1428: x<-L+N+P+R+V #define ACTION_1428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1429: x<-L+N+P+R+W #define ACTION_1429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1430: x<-L+N+P+S+T #define ACTION_1430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1431: x<-L+N+P+S+U #define ACTION_1431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1432: x<-L+N+P+S+V #define ACTION_1432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1433: x<-L+N+P+S+W #define ACTION_1433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1434: x<-L+N+P+T+U #define ACTION_1434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1435: x<-L+N+P+T+V #define ACTION_1435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1436: x<-L+N+P+T+W #define ACTION_1436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1437: x<-L+N+P+U+V #define ACTION_1437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1438: x<-L+N+P+U+W #define ACTION_1438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1439: x<-L+N+P+V+W #define ACTION_1439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1440: x<-L+N+Q+R+T #define ACTION_1440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1441: x<-L+N+Q+R+U #define ACTION_1441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1442: x<-L+N+Q+R+V #define ACTION_1442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1443: x<-L+N+Q+R+W #define ACTION_1443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1444: x<-L+N+Q+S+T #define ACTION_1444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1445: x<-L+N+Q+S+U #define ACTION_1445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1446: x<-L+N+Q+S+V #define ACTION_1446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1447: x<-L+N+Q+S+W #define ACTION_1447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1448: x<-L+N+Q+T+U #define ACTION_1448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1449: x<-L+N+Q+T+V #define ACTION_1449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1450: x<-L+N+Q+T+W #define ACTION_1450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1451: x<-L+N+Q+U+V #define ACTION_1451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1452: x<-L+N+Q+U+W #define ACTION_1452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1453: x<-L+N+Q+V+W #define ACTION_1453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1454: x<-L+N+R+S+T #define ACTION_1454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1455: x<-L+N+R+S+U #define ACTION_1455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1456: x<-L+N+R+S+V #define ACTION_1456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1457: x<-L+N+R+S+W #define ACTION_1457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1458: x<-L+N+R+T+U #define ACTION_1458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1459: x<-L+N+R+T+V #define ACTION_1459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1460: x<-L+N+R+T+W #define ACTION_1460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1461: x<-L+N+R+U+V #define ACTION_1461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1462: x<-L+N+R+U+W #define ACTION_1462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1463: x<-L+N+R+V+W #define ACTION_1463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1464: x<-L+N+S+T+U #define ACTION_1464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1465: x<-L+N+S+T+V #define ACTION_1465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1466: x<-L+N+S+T+W #define ACTION_1466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1467: x<-L+N+S+U+V #define ACTION_1467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1468: x<-L+N+S+U+W #define ACTION_1468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1469: x<-L+N+S+V+W #define ACTION_1469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1470: x<-L+N+T+U+W #define ACTION_1470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1471: x<-L+N+T+V+W #define ACTION_1471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1472: x<-L+N+U+V+W #define ACTION_1472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1473: x<-L+O+P+S+T #define ACTION_1473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1474: x<-L+O+P+S+U #define ACTION_1474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1475: x<-L+O+P+S+V #define ACTION_1475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1476: x<-L+O+P+S+W #define ACTION_1476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1477: x<-L+O+P+T+U #define ACTION_1477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1478: x<-L+O+P+T+V #define ACTION_1478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1479: x<-L+O+P+T+W #define ACTION_1479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1480: x<-L+O+P+U+V #define ACTION_1480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1481: x<-L+O+P+U+W #define ACTION_1481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1482: x<-L+O+P+V+W #define ACTION_1482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1483: x<-L+O+Q+T+U #define ACTION_1483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1484: x<-L+O+Q+T+V #define ACTION_1484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1485: x<-L+O+Q+T+W #define ACTION_1485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1486: x<-L+O+Q+U+V #define ACTION_1486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1487: x<-L+O+Q+U+W #define ACTION_1487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1488: x<-L+O+Q+V+W #define ACTION_1488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1489: x<-L+O+S+T+U #define ACTION_1489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1490: x<-L+O+S+T+V #define ACTION_1490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1491: x<-L+O+S+T+W #define ACTION_1491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1492: x<-L+O+S+U+V #define ACTION_1492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1493: x<-L+O+S+U+W #define ACTION_1493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1494: x<-L+O+S+V+W #define ACTION_1494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1495: x<-L+O+T+U+W #define ACTION_1495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1496: x<-L+O+T+V+W #define ACTION_1496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1497: x<-L+O+U+V+W #define ACTION_1497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)));continue; // Action 1498: x<-L+P+Q+R+T #define ACTION_1498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1499: x<-L+P+Q+R+U #define ACTION_1499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1500: x<-L+P+Q+R+V #define ACTION_1500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1501: x<-L+P+Q+R+W #define ACTION_1501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1502: x<-L+P+Q+S+T #define ACTION_1502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1503: x<-L+P+Q+S+U #define ACTION_1503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1504: x<-L+P+Q+S+V #define ACTION_1504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1505: x<-L+P+Q+S+W #define ACTION_1505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1506: x<-L+P+Q+T+U #define ACTION_1506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1507: x<-L+P+Q+T+V #define ACTION_1507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1508: x<-L+P+Q+T+W #define ACTION_1508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1509: x<-L+P+Q+U+V #define ACTION_1509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1510: x<-L+P+Q+U+W #define ACTION_1510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1511: x<-L+P+Q+V+W #define ACTION_1511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1512: x<-L+P+R+S+T #define ACTION_1512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1513: x<-L+P+R+S+U #define ACTION_1513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1514: x<-L+P+R+S+V #define ACTION_1514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1515: x<-L+P+R+S+W #define ACTION_1515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1516: x<-L+P+R+T+U #define ACTION_1516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1517: x<-L+P+R+T+V #define ACTION_1517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1518: x<-L+P+R+T+W #define ACTION_1518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1519: x<-L+P+R+U+V #define ACTION_1519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1520: x<-L+P+R+U+W #define ACTION_1520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1521: x<-L+P+R+V+W #define ACTION_1521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1522: x<-L+P+S+T+U #define ACTION_1522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1523: x<-L+P+S+T+V #define ACTION_1523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1524: x<-L+P+S+T+W #define ACTION_1524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1525: x<-L+P+S+U+V #define ACTION_1525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1526: x<-L+P+S+U+W #define ACTION_1526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1527: x<-L+P+S+V+W #define ACTION_1527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1528: x<-L+P+T+U+W #define ACTION_1528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1529: x<-L+P+T+V+W #define ACTION_1529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1530: x<-L+P+U+V+W #define ACTION_1530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1531: x<-L+Q+R+T+U #define ACTION_1531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1532: x<-L+Q+R+T+V #define ACTION_1532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1533: x<-L+Q+R+T+W #define ACTION_1533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1534: x<-L+Q+R+U+V #define ACTION_1534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1535: x<-L+Q+R+U+W #define ACTION_1535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1536: x<-L+Q+R+V+W #define ACTION_1536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1537: x<-L+Q+S+T+U #define ACTION_1537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1538: x<-L+Q+S+T+V #define ACTION_1538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1539: x<-L+Q+S+T+W #define ACTION_1539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1540: x<-L+Q+S+U+V #define ACTION_1540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1541: x<-L+Q+S+U+W #define ACTION_1541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1542: x<-L+Q+S+V+W #define ACTION_1542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1543: x<-L+Q+T+U+W #define ACTION_1543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1544: x<-L+Q+T+V+W #define ACTION_1544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1545: x<-L+Q+U+V+W #define ACTION_1545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)));continue; // Action 1546: x<-L+R+S+T+U #define ACTION_1546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1547: x<-L+R+S+T+V #define ACTION_1547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1548: x<-L+R+S+T+W #define ACTION_1548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1549: x<-L+R+S+U+V #define ACTION_1549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1550: x<-L+R+S+U+W #define ACTION_1550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1551: x<-L+R+S+V+W #define ACTION_1551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1552: x<-L+R+T+U+W #define ACTION_1552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1553: x<-L+R+T+V+W #define ACTION_1553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1554: x<-L+R+U+V+W #define ACTION_1554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)));continue; // Action 1555: x<-L+S+T+U+W #define ACTION_1555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1556: x<-L+S+T+V+W #define ACTION_1556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1557: x<-L+S+U+V+W #define ACTION_1557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)));continue; // Action 1558: x<-M+N+O+Q+T #define ACTION_1558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1559: x<-M+N+O+Q+U #define ACTION_1559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1560: x<-M+N+O+Q+V #define ACTION_1560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1561: x<-M+N+O+Q+W #define ACTION_1561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1562: x<-M+N+O+T+U #define ACTION_1562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1563: x<-M+N+O+T+V #define ACTION_1563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1564: x<-M+N+O+T+W #define ACTION_1564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1565: x<-M+N+O+U+V #define ACTION_1565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1566: x<-M+N+O+U+W #define ACTION_1566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1567: x<-M+N+O+V+W #define ACTION_1567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1568: x<-M+N+P+Q+T #define ACTION_1568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1569: x<-M+N+P+Q+U #define ACTION_1569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1570: x<-M+N+P+Q+V #define ACTION_1570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1571: x<-M+N+P+Q+W #define ACTION_1571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1572: x<-M+N+P+R+T #define ACTION_1572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1573: x<-M+N+P+R+U #define ACTION_1573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1574: x<-M+N+P+R+V #define ACTION_1574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1575: x<-M+N+P+R+W #define ACTION_1575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1576: x<-M+N+P+T+U #define ACTION_1576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1577: x<-M+N+P+T+V #define ACTION_1577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1578: x<-M+N+P+T+W #define ACTION_1578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1579: x<-M+N+P+U+V #define ACTION_1579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1580: x<-M+N+P+U+W #define ACTION_1580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1581: x<-M+N+P+V+W #define ACTION_1581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1582: x<-M+N+Q+R+T #define ACTION_1582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1583: x<-M+N+Q+R+U #define ACTION_1583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1584: x<-M+N+Q+R+V #define ACTION_1584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1585: x<-M+N+Q+R+W #define ACTION_1585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1586: x<-M+N+Q+S+T #define ACTION_1586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1587: x<-M+N+Q+S+U #define ACTION_1587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1588: x<-M+N+Q+S+V #define ACTION_1588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1589: x<-M+N+Q+S+W #define ACTION_1589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1590: x<-M+N+Q+T+U #define ACTION_1590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1591: x<-M+N+Q+T+V #define ACTION_1591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1592: x<-M+N+Q+T+W #define ACTION_1592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1593: x<-M+N+Q+U+V #define ACTION_1593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1594: x<-M+N+Q+U+W #define ACTION_1594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1595: x<-M+N+Q+V+W #define ACTION_1595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1596: x<-M+N+R+S+T #define ACTION_1596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1597: x<-M+N+R+S+U #define ACTION_1597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1598: x<-M+N+R+S+V #define ACTION_1598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1599: x<-M+N+R+S+W #define ACTION_1599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1600: x<-M+N+R+T+U #define ACTION_1600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1601: x<-M+N+R+T+V #define ACTION_1601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1602: x<-M+N+R+T+W #define ACTION_1602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1603: x<-M+N+R+U+V #define ACTION_1603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1604: x<-M+N+R+U+W #define ACTION_1604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1605: x<-M+N+R+V+W #define ACTION_1605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1606: x<-M+N+S+T+U #define ACTION_1606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1607: x<-M+N+S+T+V #define ACTION_1607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1608: x<-M+N+S+T+W #define ACTION_1608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1609: x<-M+N+S+U+V #define ACTION_1609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1610: x<-M+N+S+U+W #define ACTION_1610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1611: x<-M+N+S+V+W #define ACTION_1611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1612: x<-M+N+T+U+W #define ACTION_1612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1613: x<-M+N+T+V+W #define ACTION_1613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1614: x<-M+N+U+V+W #define ACTION_1614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1615: x<-M+O+P+Q+T #define ACTION_1615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1616: x<-M+O+P+Q+U #define ACTION_1616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1617: x<-M+O+P+Q+V #define ACTION_1617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1618: x<-M+O+P+Q+W #define ACTION_1618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1619: x<-M+O+P+R+T #define ACTION_1619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1620: x<-M+O+P+R+U #define ACTION_1620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1621: x<-M+O+P+R+V #define ACTION_1621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1622: x<-M+O+P+R+W #define ACTION_1622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1623: x<-M+O+P+T+U #define ACTION_1623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1624: x<-M+O+P+T+V #define ACTION_1624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1625: x<-M+O+P+T+W #define ACTION_1625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1626: x<-M+O+P+U+V #define ACTION_1626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1627: x<-M+O+P+U+W #define ACTION_1627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1628: x<-M+O+P+V+W #define ACTION_1628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1629: x<-M+O+Q+R+T #define ACTION_1629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1630: x<-M+O+Q+R+U #define ACTION_1630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1631: x<-M+O+Q+R+V #define ACTION_1631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1632: x<-M+O+Q+R+W #define ACTION_1632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1633: x<-M+O+Q+S+T #define ACTION_1633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1634: x<-M+O+Q+S+U #define ACTION_1634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1635: x<-M+O+Q+S+V #define ACTION_1635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1636: x<-M+O+Q+S+W #define ACTION_1636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1637: x<-M+O+Q+T+U #define ACTION_1637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1638: x<-M+O+Q+T+V #define ACTION_1638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1639: x<-M+O+Q+T+W #define ACTION_1639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1640: x<-M+O+Q+U+V #define ACTION_1640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1641: x<-M+O+Q+U+W #define ACTION_1641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1642: x<-M+O+Q+V+W #define ACTION_1642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1643: x<-M+O+R+S+T #define ACTION_1643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1644: x<-M+O+R+S+U #define ACTION_1644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1645: x<-M+O+R+S+V #define ACTION_1645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1646: x<-M+O+R+S+W #define ACTION_1646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1647: x<-M+O+R+T+U #define ACTION_1647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1648: x<-M+O+R+T+V #define ACTION_1648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1649: x<-M+O+R+T+W #define ACTION_1649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1650: x<-M+O+R+U+V #define ACTION_1650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1651: x<-M+O+R+U+W #define ACTION_1651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1652: x<-M+O+R+V+W #define ACTION_1652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1653: x<-M+O+S+T+U #define ACTION_1653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1654: x<-M+O+S+T+V #define ACTION_1654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1655: x<-M+O+S+T+W #define ACTION_1655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1656: x<-M+O+S+U+V #define ACTION_1656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1657: x<-M+O+S+U+W #define ACTION_1657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1658: x<-M+O+S+V+W #define ACTION_1658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1659: x<-M+O+T+U+W #define ACTION_1659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1660: x<-M+O+T+V+W #define ACTION_1660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1661: x<-M+O+U+V+W #define ACTION_1661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1662: x<-M+P+Q+T+U #define ACTION_1662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1663: x<-M+P+Q+T+V #define ACTION_1663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1664: x<-M+P+Q+T+W #define ACTION_1664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1665: x<-M+P+Q+U+V #define ACTION_1665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1666: x<-M+P+Q+U+W #define ACTION_1666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1667: x<-M+P+Q+V+W #define ACTION_1667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1668: x<-M+P+R+T+U #define ACTION_1668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1669: x<-M+P+R+T+V #define ACTION_1669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1670: x<-M+P+R+T+W #define ACTION_1670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1671: x<-M+P+R+U+V #define ACTION_1671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1672: x<-M+P+R+U+W #define ACTION_1672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1673: x<-M+P+R+V+W #define ACTION_1673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1674: x<-M+P+T+U+W #define ACTION_1674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1675: x<-M+P+T+V+W #define ACTION_1675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1676: x<-M+P+U+V+W #define ACTION_1676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1677: x<-M+Q+R+T+U #define ACTION_1677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1678: x<-M+Q+R+T+V #define ACTION_1678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1679: x<-M+Q+R+T+W #define ACTION_1679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1680: x<-M+Q+R+U+V #define ACTION_1680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1681: x<-M+Q+R+U+W #define ACTION_1681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1682: x<-M+Q+R+V+W #define ACTION_1682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1683: x<-M+Q+S+T+U #define ACTION_1683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1684: x<-M+Q+S+T+V #define ACTION_1684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1685: x<-M+Q+S+T+W #define ACTION_1685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1686: x<-M+Q+S+U+V #define ACTION_1686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1687: x<-M+Q+S+U+W #define ACTION_1687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1688: x<-M+Q+S+V+W #define ACTION_1688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1689: x<-M+Q+T+U+W #define ACTION_1689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1690: x<-M+Q+T+V+W #define ACTION_1690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1691: x<-M+Q+U+V+W #define ACTION_1691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1692: x<-M+R+S+T+U #define ACTION_1692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1693: x<-M+R+S+T+V #define ACTION_1693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1694: x<-M+R+S+T+W #define ACTION_1694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1695: x<-M+R+S+U+V #define ACTION_1695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1696: x<-M+R+S+U+W #define ACTION_1696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1697: x<-M+R+S+V+W #define ACTION_1697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1698: x<-M+R+T+U+W #define ACTION_1698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1699: x<-M+R+T+V+W #define ACTION_1699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1700: x<-M+R+U+V+W #define ACTION_1700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1701: x<-M+S+T+U+W #define ACTION_1701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1702: x<-M+S+T+V+W #define ACTION_1702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1703: x<-M+S+U+V+W #define ACTION_1703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)));continue; // Action 1704: x<-N+O+Q+R+T #define ACTION_1704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1705: x<-N+O+Q+R+U #define ACTION_1705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1706: x<-N+O+Q+R+V #define ACTION_1706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1707: x<-N+O+Q+R+W #define ACTION_1707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1708: x<-N+O+Q+S+T #define ACTION_1708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1709: x<-N+O+Q+S+U #define ACTION_1709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1710: x<-N+O+Q+S+V #define ACTION_1710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1711: x<-N+O+Q+S+W #define ACTION_1711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1712: x<-N+O+Q+T+U #define ACTION_1712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1713: x<-N+O+Q+T+V #define ACTION_1713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1714: x<-N+O+Q+T+W #define ACTION_1714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1715: x<-N+O+Q+U+V #define ACTION_1715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1716: x<-N+O+Q+U+W #define ACTION_1716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1717: x<-N+O+Q+V+W #define ACTION_1717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1718: x<-N+O+R+S+T #define ACTION_1718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1719: x<-N+O+R+S+U #define ACTION_1719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1720: x<-N+O+R+S+V #define ACTION_1720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1721: x<-N+O+R+S+W #define ACTION_1721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1722: x<-N+O+R+T+U #define ACTION_1722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1723: x<-N+O+R+T+V #define ACTION_1723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1724: x<-N+O+R+T+W #define ACTION_1724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1725: x<-N+O+R+U+V #define ACTION_1725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1726: x<-N+O+R+U+W #define ACTION_1726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1727: x<-N+O+R+V+W #define ACTION_1727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1728: x<-N+O+S+T+U #define ACTION_1728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1729: x<-N+O+S+T+V #define ACTION_1729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1730: x<-N+O+S+T+W #define ACTION_1730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1731: x<-N+O+S+U+V #define ACTION_1731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1732: x<-N+O+S+U+W #define ACTION_1732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1733: x<-N+O+S+V+W #define ACTION_1733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1734: x<-N+O+T+U+W #define ACTION_1734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1735: x<-N+O+T+V+W #define ACTION_1735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1736: x<-N+O+U+V+W #define ACTION_1736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1737: x<-N+P+Q+R+T #define ACTION_1737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1738: x<-N+P+Q+R+U #define ACTION_1738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1739: x<-N+P+Q+R+V #define ACTION_1739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1740: x<-N+P+Q+R+W #define ACTION_1740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1741: x<-N+P+Q+S+T #define ACTION_1741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1742: x<-N+P+Q+S+U #define ACTION_1742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1743: x<-N+P+Q+S+V #define ACTION_1743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1744: x<-N+P+Q+S+W #define ACTION_1744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1745: x<-N+P+Q+T+U #define ACTION_1745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1746: x<-N+P+Q+T+V #define ACTION_1746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1747: x<-N+P+Q+T+W #define ACTION_1747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1748: x<-N+P+Q+U+V #define ACTION_1748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1749: x<-N+P+Q+U+W #define ACTION_1749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1750: x<-N+P+Q+V+W #define ACTION_1750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1751: x<-N+P+R+S+T #define ACTION_1751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1752: x<-N+P+R+S+U #define ACTION_1752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1753: x<-N+P+R+S+V #define ACTION_1753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1754: x<-N+P+R+S+W #define ACTION_1754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1755: x<-N+P+R+T+U #define ACTION_1755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1756: x<-N+P+R+T+V #define ACTION_1756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1757: x<-N+P+R+T+W #define ACTION_1757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1758: x<-N+P+R+U+V #define ACTION_1758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1759: x<-N+P+R+U+W #define ACTION_1759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1760: x<-N+P+R+V+W #define ACTION_1760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1761: x<-N+P+S+T+U #define ACTION_1761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1762: x<-N+P+S+T+V #define ACTION_1762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1763: x<-N+P+S+T+W #define ACTION_1763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1764: x<-N+P+S+U+V #define ACTION_1764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1765: x<-N+P+S+U+W #define ACTION_1765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1766: x<-N+P+S+V+W #define ACTION_1766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1767: x<-N+P+T+U+W #define ACTION_1767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1768: x<-N+P+T+V+W #define ACTION_1768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1769: x<-N+P+U+V+W #define ACTION_1769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1770: x<-N+Q+R+T+U #define ACTION_1770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1771: x<-N+Q+R+T+V #define ACTION_1771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1772: x<-N+Q+R+T+W #define ACTION_1772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1773: x<-N+Q+R+U+V #define ACTION_1773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1774: x<-N+Q+R+U+W #define ACTION_1774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1775: x<-N+Q+R+V+W #define ACTION_1775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1776: x<-N+Q+S+T+U #define ACTION_1776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1777: x<-N+Q+S+T+V #define ACTION_1777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1778: x<-N+Q+S+T+W #define ACTION_1778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1779: x<-N+Q+S+U+V #define ACTION_1779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1780: x<-N+Q+S+U+W #define ACTION_1780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1781: x<-N+Q+S+V+W #define ACTION_1781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1782: x<-N+Q+T+U+W #define ACTION_1782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1783: x<-N+Q+T+V+W #define ACTION_1783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1784: x<-N+Q+U+V+W #define ACTION_1784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1785: x<-N+R+S+T+U #define ACTION_1785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1786: x<-N+R+S+T+V #define ACTION_1786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1787: x<-N+R+S+T+W #define ACTION_1787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1788: x<-N+R+S+U+V #define ACTION_1788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1789: x<-N+R+S+U+W #define ACTION_1789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1790: x<-N+R+S+V+W #define ACTION_1790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1791: x<-N+R+T+U+W #define ACTION_1791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1792: x<-N+R+T+V+W #define ACTION_1792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1793: x<-N+R+U+V+W #define ACTION_1793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1794: x<-N+S+T+U+W #define ACTION_1794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1795: x<-N+S+T+V+W #define ACTION_1795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1796: x<-N+S+U+V+W #define ACTION_1796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)));continue; // Action 1797: x<-O+P+Q+R+T #define ACTION_1797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1798: x<-O+P+Q+R+U #define ACTION_1798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1799: x<-O+P+Q+R+V #define ACTION_1799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1800: x<-O+P+Q+R+W #define ACTION_1800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1801: x<-O+P+Q+S+T #define ACTION_1801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1802: x<-O+P+Q+S+U #define ACTION_1802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1803: x<-O+P+Q+S+V #define ACTION_1803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1804: x<-O+P+Q+S+W #define ACTION_1804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1805: x<-O+P+Q+T+U #define ACTION_1805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1806: x<-O+P+Q+T+V #define ACTION_1806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1807: x<-O+P+Q+T+W #define ACTION_1807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1808: x<-O+P+Q+U+V #define ACTION_1808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1809: x<-O+P+Q+U+W #define ACTION_1809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1810: x<-O+P+Q+V+W #define ACTION_1810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1811: x<-O+P+R+S+T #define ACTION_1811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1812: x<-O+P+R+S+U #define ACTION_1812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1813: x<-O+P+R+S+V #define ACTION_1813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1814: x<-O+P+R+S+W #define ACTION_1814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s - 1, r + 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1815: x<-O+P+R+T+U #define ACTION_1815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1816: x<-O+P+R+T+V #define ACTION_1816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1817: x<-O+P+R+T+W #define ACTION_1817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1818: x<-O+P+R+U+V #define ACTION_1818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1819: x<-O+P+R+U+W #define ACTION_1819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1820: x<-O+P+R+V+W #define ACTION_1820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1821: x<-O+P+S+T+U #define ACTION_1821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1822: x<-O+P+S+T+V #define ACTION_1822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1823: x<-O+P+S+T+W #define ACTION_1823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1824: x<-O+P+S+U+V #define ACTION_1824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1825: x<-O+P+S+U+W #define ACTION_1825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1826: x<-O+P+S+V+W #define ACTION_1826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1827: x<-O+P+T+U+W #define ACTION_1827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1828: x<-O+P+T+V+W #define ACTION_1828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1829: x<-O+P+U+V+W #define ACTION_1829 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1830: x<-O+Q+R+T+U #define ACTION_1830 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1831: x<-O+Q+R+T+V #define ACTION_1831 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1832: x<-O+Q+R+T+W #define ACTION_1832 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1833: x<-O+Q+R+U+V #define ACTION_1833 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1834: x<-O+Q+R+U+W #define ACTION_1834 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1835: x<-O+Q+R+V+W #define ACTION_1835 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1836: x<-O+Q+S+T+U #define ACTION_1836 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1837: x<-O+Q+S+T+V #define ACTION_1837 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1838: x<-O+Q+S+T+W #define ACTION_1838 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1839: x<-O+Q+S+U+V #define ACTION_1839 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1840: x<-O+Q+S+U+W #define ACTION_1840 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1841: x<-O+Q+S+V+W #define ACTION_1841 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1842: x<-O+Q+T+U+W #define ACTION_1842 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1843: x<-O+Q+T+V+W #define ACTION_1843 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1844: x<-O+Q+U+V+W #define ACTION_1844 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)));continue; // Action 1845: x<-O+R+S+T+U #define ACTION_1845 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1846: x<-O+R+S+T+V #define ACTION_1846 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1847: x<-O+R+S+T+W #define ACTION_1847 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1848: x<-O+R+S+U+V #define ACTION_1848 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1849: x<-O+R+S+U+W #define ACTION_1849 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1850: x<-O+R+S+V+W #define ACTION_1850 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1851: x<-O+R+T+U+W #define ACTION_1851 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1852: x<-O+R+T+V+W #define ACTION_1852 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1853: x<-O+R+U+V+W #define ACTION_1853 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)));continue; // Action 1854: x<-O+S+T+U+W #define ACTION_1854 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1855: x<-O+S+T+V+W #define ACTION_1855 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1856: x<-O+S+U+V+W #define ACTION_1856 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)));continue; // Action 1857: x<-P+Q+R+T+U #define ACTION_1857 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1858: x<-P+Q+R+T+V #define ACTION_1858 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1859: x<-P+Q+R+T+W #define ACTION_1859 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1860: x<-P+Q+R+U+V #define ACTION_1860 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1861: x<-P+Q+R+U+W #define ACTION_1861 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1862: x<-P+Q+R+V+W #define ACTION_1862 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1863: x<-P+Q+S+T+U #define ACTION_1863 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1864: x<-P+Q+S+T+V #define ACTION_1864 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1865: x<-P+Q+S+T+W #define ACTION_1865 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1866: x<-P+Q+S+U+V #define ACTION_1866 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1867: x<-P+Q+S+U+W #define ACTION_1867 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1868: x<-P+Q+S+V+W #define ACTION_1868 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1869: x<-P+Q+T+U+W #define ACTION_1869 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1870: x<-P+Q+T+V+W #define ACTION_1870 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1871: x<-P+Q+U+V+W #define ACTION_1871 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1872: x<-P+R+S+T+U #define ACTION_1872 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1873: x<-P+R+S+T+V #define ACTION_1873 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1874: x<-P+R+S+T+W #define ACTION_1874 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1875: x<-P+R+S+U+V #define ACTION_1875 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1876: x<-P+R+S+U+W #define ACTION_1876 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1877: x<-P+R+S+V+W #define ACTION_1877 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1878: x<-P+R+T+U+W #define ACTION_1878 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1879: x<-P+R+T+V+W #define ACTION_1879 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1880: x<-P+R+U+V+W #define ACTION_1880 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1881: x<-P+S+T+U+W #define ACTION_1881 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1882: x<-P+S+T+V+W #define ACTION_1882 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1883: x<-P+S+U+V+W #define ACTION_1883 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)));continue; // Action 1884: x<-Q+R+T+U+W #define ACTION_1884 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1885: x<-Q+R+T+V+W #define ACTION_1885 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1886: x<-Q+R+U+V+W #define ACTION_1886 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1887: x<-Q+S+T+U+W #define ACTION_1887 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1888: x<-Q+S+T+V+W #define ACTION_1888 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1889: x<-Q+S+U+V+W #define ACTION_1889 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)));continue; // Action 1890: x<-R+S+T+U+W #define ACTION_1890 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1891: x<-R+S+T+V+W #define ACTION_1891 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1892: x<-R+S+U+V+W #define ACTION_1892 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)));continue; // Action 1893: x<-K+L+N+O+T+U #define ACTION_1893 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1894: x<-K+L+N+O+T+V #define ACTION_1894 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1895: x<-K+L+N+O+T+W #define ACTION_1895 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1896: x<-K+L+N+O+U+V #define ACTION_1896 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1897: x<-K+L+N+O+U+W #define ACTION_1897 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1898: x<-K+L+N+O+V+W #define ACTION_1898 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1899: x<-K+L+N+P+T+U #define ACTION_1899 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1900: x<-K+L+N+P+T+V #define ACTION_1900 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1901: x<-K+L+N+P+T+W #define ACTION_1901 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1902: x<-K+L+N+P+U+V #define ACTION_1902 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1903: x<-K+L+N+P+U+W #define ACTION_1903 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1904: x<-K+L+N+P+V+W #define ACTION_1904 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1905: x<-K+L+N+R+T+U #define ACTION_1905 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1906: x<-K+L+N+R+T+V #define ACTION_1906 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1907: x<-K+L+N+R+T+W #define ACTION_1907 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1908: x<-K+L+N+R+U+V #define ACTION_1908 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1909: x<-K+L+N+R+U+W #define ACTION_1909 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1910: x<-K+L+N+R+V+W #define ACTION_1910 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1911: x<-K+L+N+S+T+U #define ACTION_1911 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1912: x<-K+L+N+S+T+V #define ACTION_1912 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1913: x<-K+L+N+S+T+W #define ACTION_1913 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1914: x<-K+L+N+S+U+V #define ACTION_1914 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1915: x<-K+L+N+S+U+W #define ACTION_1915 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1916: x<-K+L+N+S+V+W #define ACTION_1916 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1917: x<-K+L+N+T+U+W #define ACTION_1917 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1918: x<-K+L+N+T+V+W #define ACTION_1918 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1919: x<-K+L+N+U+V+W #define ACTION_1919 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1920: x<-K+L+O+P+T+U #define ACTION_1920 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1921: x<-K+L+O+P+T+V #define ACTION_1921 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1922: x<-K+L+O+P+T+W #define ACTION_1922 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1923: x<-K+L+O+P+U+V #define ACTION_1923 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1924: x<-K+L+O+P+U+W #define ACTION_1924 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1925: x<-K+L+O+P+V+W #define ACTION_1925 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1926: x<-K+L+O+Q+T+U #define ACTION_1926 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1927: x<-K+L+O+Q+T+V #define ACTION_1927 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1928: x<-K+L+O+Q+T+W #define ACTION_1928 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1929: x<-K+L+O+Q+U+V #define ACTION_1929 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1930: x<-K+L+O+Q+U+W #define ACTION_1930 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1931: x<-K+L+O+Q+V+W #define ACTION_1931 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1932: x<-K+L+O+S+T+U #define ACTION_1932 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1933: x<-K+L+O+S+T+V #define ACTION_1933 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1934: x<-K+L+O+S+T+W #define ACTION_1934 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1935: x<-K+L+O+S+U+V #define ACTION_1935 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1936: x<-K+L+O+S+U+W #define ACTION_1936 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1937: x<-K+L+O+S+V+W #define ACTION_1937 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1938: x<-K+L+O+T+U+W #define ACTION_1938 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1939: x<-K+L+O+T+V+W #define ACTION_1939 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1940: x<-K+L+O+U+V+W #define ACTION_1940 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1941: x<-K+L+P+Q+T+U #define ACTION_1941 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1942: x<-K+L+P+Q+T+V #define ACTION_1942 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1943: x<-K+L+P+Q+T+W #define ACTION_1943 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1944: x<-K+L+P+Q+U+V #define ACTION_1944 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1945: x<-K+L+P+Q+U+W #define ACTION_1945 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1946: x<-K+L+P+Q+V+W #define ACTION_1946 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1947: x<-K+L+P+R+T+U #define ACTION_1947 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1948: x<-K+L+P+R+T+V #define ACTION_1948 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1949: x<-K+L+P+R+T+W #define ACTION_1949 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1950: x<-K+L+P+R+U+V #define ACTION_1950 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1951: x<-K+L+P+R+U+W #define ACTION_1951 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1952: x<-K+L+P+R+V+W #define ACTION_1952 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1953: x<-K+L+P+T+U+W #define ACTION_1953 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1954: x<-K+L+P+T+V+W #define ACTION_1954 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1955: x<-K+L+P+U+V+W #define ACTION_1955 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1956: x<-K+L+Q+R+T+U #define ACTION_1956 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1957: x<-K+L+Q+R+T+V #define ACTION_1957 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1958: x<-K+L+Q+R+T+W #define ACTION_1958 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1959: x<-K+L+Q+R+U+V #define ACTION_1959 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1960: x<-K+L+Q+R+U+W #define ACTION_1960 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1961: x<-K+L+Q+R+V+W #define ACTION_1961 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1962: x<-K+L+Q+S+T+U #define ACTION_1962 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1963: x<-K+L+Q+S+T+V #define ACTION_1963 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1964: x<-K+L+Q+S+T+W #define ACTION_1964 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1965: x<-K+L+Q+S+U+V #define ACTION_1965 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1966: x<-K+L+Q+S+U+W #define ACTION_1966 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1967: x<-K+L+Q+S+V+W #define ACTION_1967 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1968: x<-K+L+Q+T+U+W #define ACTION_1968 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1969: x<-K+L+Q+T+V+W #define ACTION_1969 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1970: x<-K+L+Q+U+V+W #define ACTION_1970 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1971: x<-K+L+R+S+T+U #define ACTION_1971 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1972: x<-K+L+R+S+T+V #define ACTION_1972 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1973: x<-K+L+R+S+T+W #define ACTION_1973 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1974: x<-K+L+R+S+U+V #define ACTION_1974 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1975: x<-K+L+R+S+U+W #define ACTION_1975 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1976: x<-K+L+R+S+V+W #define ACTION_1976 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1977: x<-K+L+R+T+U+W #define ACTION_1977 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1978: x<-K+L+R+T+V+W #define ACTION_1978 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1979: x<-K+L+R+U+V+W #define ACTION_1979 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1980: x<-K+L+S+T+U+W #define ACTION_1980 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1981: x<-K+L+S+T+V+W #define ACTION_1981 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1982: x<-K+L+S+U+V+W #define ACTION_1982 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1983: x<-K+M+N+O+T+U #define ACTION_1983 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1984: x<-K+M+N+O+T+V #define ACTION_1984 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1985: x<-K+M+N+O+T+W #define ACTION_1985 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1986: x<-K+M+N+O+U+V #define ACTION_1986 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1987: x<-K+M+N+O+U+W #define ACTION_1987 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1988: x<-K+M+N+O+V+W #define ACTION_1988 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1989: x<-K+M+N+P+T+U #define ACTION_1989 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1990: x<-K+M+N+P+T+V #define ACTION_1990 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1991: x<-K+M+N+P+T+W #define ACTION_1991 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1992: x<-K+M+N+P+U+V #define ACTION_1992 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1993: x<-K+M+N+P+U+W #define ACTION_1993 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1994: x<-K+M+N+P+V+W #define ACTION_1994 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1995: x<-K+M+N+R+T+U #define ACTION_1995 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1996: x<-K+M+N+R+T+V #define ACTION_1996 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1997: x<-K+M+N+R+T+W #define ACTION_1997 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1998: x<-K+M+N+R+U+V #define ACTION_1998 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 1999: x<-K+M+N+R+U+W #define ACTION_1999 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2000: x<-K+M+N+R+V+W #define ACTION_2000 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2001: x<-K+M+N+S+T+U #define ACTION_2001 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2002: x<-K+M+N+S+T+V #define ACTION_2002 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2003: x<-K+M+N+S+T+W #define ACTION_2003 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2004: x<-K+M+N+S+U+V #define ACTION_2004 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2005: x<-K+M+N+S+U+W #define ACTION_2005 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2006: x<-K+M+N+S+V+W #define ACTION_2006 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2007: x<-K+M+N+T+U+W #define ACTION_2007 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2008: x<-K+M+N+T+V+W #define ACTION_2008 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2009: x<-K+M+N+U+V+W #define ACTION_2009 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2010: x<-K+M+O+P+T+U #define ACTION_2010 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2011: x<-K+M+O+P+T+V #define ACTION_2011 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2012: x<-K+M+O+P+T+W #define ACTION_2012 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2013: x<-K+M+O+P+U+V #define ACTION_2013 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2014: x<-K+M+O+P+U+W #define ACTION_2014 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2015: x<-K+M+O+P+V+W #define ACTION_2015 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2016: x<-K+M+O+Q+T+U #define ACTION_2016 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2017: x<-K+M+O+Q+T+V #define ACTION_2017 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2018: x<-K+M+O+Q+T+W #define ACTION_2018 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2019: x<-K+M+O+Q+U+V #define ACTION_2019 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2020: x<-K+M+O+Q+U+W #define ACTION_2020 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2021: x<-K+M+O+Q+V+W #define ACTION_2021 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2022: x<-K+M+O+S+T+U #define ACTION_2022 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2023: x<-K+M+O+S+T+V #define ACTION_2023 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2024: x<-K+M+O+S+T+W #define ACTION_2024 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2025: x<-K+M+O+S+U+V #define ACTION_2025 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2026: x<-K+M+O+S+U+W #define ACTION_2026 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2027: x<-K+M+O+S+V+W #define ACTION_2027 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2028: x<-K+M+O+T+U+W #define ACTION_2028 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2029: x<-K+M+O+T+V+W #define ACTION_2029 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2030: x<-K+M+O+U+V+W #define ACTION_2030 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2031: x<-K+M+P+Q+T+U #define ACTION_2031 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2032: x<-K+M+P+Q+T+V #define ACTION_2032 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2033: x<-K+M+P+Q+T+W #define ACTION_2033 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2034: x<-K+M+P+Q+U+V #define ACTION_2034 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2035: x<-K+M+P+Q+U+W #define ACTION_2035 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2036: x<-K+M+P+Q+V+W #define ACTION_2036 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2037: x<-K+M+P+R+T+U #define ACTION_2037 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2038: x<-K+M+P+R+T+V #define ACTION_2038 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2039: x<-K+M+P+R+T+W #define ACTION_2039 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2040: x<-K+M+P+R+U+V #define ACTION_2040 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2041: x<-K+M+P+R+U+W #define ACTION_2041 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2042: x<-K+M+P+R+V+W #define ACTION_2042 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2043: x<-K+M+P+T+U+W #define ACTION_2043 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2044: x<-K+M+P+T+V+W #define ACTION_2044 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2045: x<-K+M+P+U+V+W #define ACTION_2045 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2046: x<-K+M+Q+R+T+U #define ACTION_2046 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2047: x<-K+M+Q+R+T+V #define ACTION_2047 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2048: x<-K+M+Q+R+T+W #define ACTION_2048 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2049: x<-K+M+Q+R+U+V #define ACTION_2049 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2050: x<-K+M+Q+R+U+W #define ACTION_2050 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2051: x<-K+M+Q+R+V+W #define ACTION_2051 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2052: x<-K+M+Q+S+T+U #define ACTION_2052 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2053: x<-K+M+Q+S+T+V #define ACTION_2053 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2054: x<-K+M+Q+S+T+W #define ACTION_2054 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2055: x<-K+M+Q+S+U+V #define ACTION_2055 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2056: x<-K+M+Q+S+U+W #define ACTION_2056 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2057: x<-K+M+Q+S+V+W #define ACTION_2057 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2058: x<-K+M+Q+T+U+W #define ACTION_2058 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2059: x<-K+M+Q+T+V+W #define ACTION_2059 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2060: x<-K+M+Q+U+V+W #define ACTION_2060 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2061: x<-K+M+R+S+T+U #define ACTION_2061 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2062: x<-K+M+R+S+T+V #define ACTION_2062 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2063: x<-K+M+R+S+T+W #define ACTION_2063 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2064: x<-K+M+R+S+U+V #define ACTION_2064 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2065: x<-K+M+R+S+U+W #define ACTION_2065 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2066: x<-K+M+R+S+V+W #define ACTION_2066 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2067: x<-K+M+R+T+U+W #define ACTION_2067 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2068: x<-K+M+R+T+V+W #define ACTION_2068 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2069: x<-K+M+R+U+V+W #define ACTION_2069 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2070: x<-K+M+S+T+U+W #define ACTION_2070 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2071: x<-K+M+S+T+V+W #define ACTION_2071 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2072: x<-K+M+S+U+V+W #define ACTION_2072 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2073: x<-K+N+O+R+T+U #define ACTION_2073 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2074: x<-K+N+O+R+T+V #define ACTION_2074 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2075: x<-K+N+O+R+T+W #define ACTION_2075 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2076: x<-K+N+O+R+U+V #define ACTION_2076 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2077: x<-K+N+O+R+U+W #define ACTION_2077 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2078: x<-K+N+O+R+V+W #define ACTION_2078 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2079: x<-K+N+O+S+T+U #define ACTION_2079 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2080: x<-K+N+O+S+T+V #define ACTION_2080 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2081: x<-K+N+O+S+T+W #define ACTION_2081 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2082: x<-K+N+O+S+U+V #define ACTION_2082 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2083: x<-K+N+O+S+U+W #define ACTION_2083 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2084: x<-K+N+O+S+V+W #define ACTION_2084 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2085: x<-K+N+O+T+U+W #define ACTION_2085 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2086: x<-K+N+O+T+V+W #define ACTION_2086 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2087: x<-K+N+O+U+V+W #define ACTION_2087 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2088: x<-K+N+P+R+T+U #define ACTION_2088 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2089: x<-K+N+P+R+T+V #define ACTION_2089 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2090: x<-K+N+P+R+T+W #define ACTION_2090 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2091: x<-K+N+P+R+U+V #define ACTION_2091 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2092: x<-K+N+P+R+U+W #define ACTION_2092 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2093: x<-K+N+P+R+V+W #define ACTION_2093 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2094: x<-K+N+P+S+T+U #define ACTION_2094 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2095: x<-K+N+P+S+T+V #define ACTION_2095 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2096: x<-K+N+P+S+T+W #define ACTION_2096 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2097: x<-K+N+P+S+U+V #define ACTION_2097 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2098: x<-K+N+P+S+U+W #define ACTION_2098 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2099: x<-K+N+P+S+V+W #define ACTION_2099 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2100: x<-K+N+P+T+U+W #define ACTION_2100 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2101: x<-K+N+P+T+V+W #define ACTION_2101 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2102: x<-K+N+P+U+V+W #define ACTION_2102 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2103: x<-K+N+R+T+U+W #define ACTION_2103 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2104: x<-K+N+R+T+V+W #define ACTION_2104 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2105: x<-K+N+R+U+V+W #define ACTION_2105 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2106: x<-K+N+S+T+U+W #define ACTION_2106 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2107: x<-K+N+S+T+V+W #define ACTION_2107 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2108: x<-K+N+S+U+V+W #define ACTION_2108 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2109: x<-K+O+P+S+T+U #define ACTION_2109 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2110: x<-K+O+P+S+T+V #define ACTION_2110 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2111: x<-K+O+P+S+T+W #define ACTION_2111 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2112: x<-K+O+P+S+U+V #define ACTION_2112 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2113: x<-K+O+P+S+U+W #define ACTION_2113 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2114: x<-K+O+P+S+V+W #define ACTION_2114 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2115: x<-K+O+P+T+U+W #define ACTION_2115 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2116: x<-K+O+P+T+V+W #define ACTION_2116 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2117: x<-K+O+P+U+V+W #define ACTION_2117 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2118: x<-K+O+Q+R+T+U #define ACTION_2118 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2119: x<-K+O+Q+R+T+V #define ACTION_2119 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2120: x<-K+O+Q+R+T+W #define ACTION_2120 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2121: x<-K+O+Q+R+U+V #define ACTION_2121 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2122: x<-K+O+Q+R+U+W #define ACTION_2122 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2123: x<-K+O+Q+R+V+W #define ACTION_2123 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2124: x<-K+O+Q+S+T+U #define ACTION_2124 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2125: x<-K+O+Q+S+T+V #define ACTION_2125 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2126: x<-K+O+Q+S+T+W #define ACTION_2126 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2127: x<-K+O+Q+S+U+V #define ACTION_2127 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2128: x<-K+O+Q+S+U+W #define ACTION_2128 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2129: x<-K+O+Q+S+V+W #define ACTION_2129 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2130: x<-K+O+Q+T+U+W #define ACTION_2130 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2131: x<-K+O+Q+T+V+W #define ACTION_2131 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2132: x<-K+O+Q+U+V+W #define ACTION_2132 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2133: x<-K+O+R+S+T+U #define ACTION_2133 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2134: x<-K+O+R+S+T+V #define ACTION_2134 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2135: x<-K+O+R+S+T+W #define ACTION_2135 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2136: x<-K+O+R+S+U+V #define ACTION_2136 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2137: x<-K+O+R+S+U+W #define ACTION_2137 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2138: x<-K+O+R+S+V+W #define ACTION_2138 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2139: x<-K+O+R+T+U+W #define ACTION_2139 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2140: x<-K+O+R+T+V+W #define ACTION_2140 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2141: x<-K+O+R+U+V+W #define ACTION_2141 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2142: x<-K+O+S+T+U+W #define ACTION_2142 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2143: x<-K+O+S+T+V+W #define ACTION_2143 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2144: x<-K+O+S+U+V+W #define ACTION_2144 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2145: x<-K+P+Q+R+T+U #define ACTION_2145 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2146: x<-K+P+Q+R+T+V #define ACTION_2146 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2147: x<-K+P+Q+R+T+W #define ACTION_2147 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2148: x<-K+P+Q+R+U+V #define ACTION_2148 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2149: x<-K+P+Q+R+U+W #define ACTION_2149 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2150: x<-K+P+Q+R+V+W #define ACTION_2150 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2151: x<-K+P+Q+S+T+U #define ACTION_2151 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2152: x<-K+P+Q+S+T+V #define ACTION_2152 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2153: x<-K+P+Q+S+T+W #define ACTION_2153 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2154: x<-K+P+Q+S+U+V #define ACTION_2154 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2155: x<-K+P+Q+S+U+W #define ACTION_2155 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2156: x<-K+P+Q+S+V+W #define ACTION_2156 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2157: x<-K+P+Q+T+U+W #define ACTION_2157 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2158: x<-K+P+Q+T+V+W #define ACTION_2158 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2159: x<-K+P+Q+U+V+W #define ACTION_2159 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2160: x<-K+P+R+S+T+U #define ACTION_2160 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2161: x<-K+P+R+S+T+V #define ACTION_2161 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2162: x<-K+P+R+S+T+W #define ACTION_2162 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2163: x<-K+P+R+S+U+V #define ACTION_2163 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2164: x<-K+P+R+S+U+W #define ACTION_2164 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2165: x<-K+P+R+S+V+W #define ACTION_2165 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2166: x<-K+P+R+T+U+W #define ACTION_2166 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2167: x<-K+P+R+T+V+W #define ACTION_2167 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2168: x<-K+P+R+U+V+W #define ACTION_2168 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2169: x<-K+P+S+T+U+W #define ACTION_2169 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2170: x<-K+P+S+T+V+W #define ACTION_2170 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2171: x<-K+P+S+U+V+W #define ACTION_2171 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2172: x<-K+Q+R+T+U+W #define ACTION_2172 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2173: x<-K+Q+R+T+V+W #define ACTION_2173 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2174: x<-K+Q+R+U+V+W #define ACTION_2174 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2175: x<-K+Q+S+T+U+W #define ACTION_2175 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2176: x<-K+Q+S+T+V+W #define ACTION_2176 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2177: x<-K+Q+S+U+V+W #define ACTION_2177 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2178: x<-K+R+S+T+U+W #define ACTION_2178 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2179: x<-K+R+S+T+V+W #define ACTION_2179 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2180: x<-K+R+S+U+V+W #define ACTION_2180 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2181: x<-L+M+N+O+T+U #define ACTION_2181 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2182: x<-L+M+N+O+T+V #define ACTION_2182 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2183: x<-L+M+N+O+T+W #define ACTION_2183 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2184: x<-L+M+N+O+U+V #define ACTION_2184 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2185: x<-L+M+N+O+U+W #define ACTION_2185 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2186: x<-L+M+N+O+V+W #define ACTION_2186 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2187: x<-L+M+N+P+T+U #define ACTION_2187 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2188: x<-L+M+N+P+T+V #define ACTION_2188 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2189: x<-L+M+N+P+T+W #define ACTION_2189 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2190: x<-L+M+N+P+U+V #define ACTION_2190 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2191: x<-L+M+N+P+U+W #define ACTION_2191 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2192: x<-L+M+N+P+V+W #define ACTION_2192 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2193: x<-L+M+N+R+T+U #define ACTION_2193 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2194: x<-L+M+N+R+T+V #define ACTION_2194 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2195: x<-L+M+N+R+T+W #define ACTION_2195 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2196: x<-L+M+N+R+U+V #define ACTION_2196 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2197: x<-L+M+N+R+U+W #define ACTION_2197 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2198: x<-L+M+N+R+V+W #define ACTION_2198 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2199: x<-L+M+N+S+T+U #define ACTION_2199 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2200: x<-L+M+N+S+T+V #define ACTION_2200 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2201: x<-L+M+N+S+T+W #define ACTION_2201 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2202: x<-L+M+N+S+U+V #define ACTION_2202 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2203: x<-L+M+N+S+U+W #define ACTION_2203 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2204: x<-L+M+N+S+V+W #define ACTION_2204 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2205: x<-L+M+N+T+U+W #define ACTION_2205 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2206: x<-L+M+N+T+V+W #define ACTION_2206 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2207: x<-L+M+N+U+V+W #define ACTION_2207 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2208: x<-L+M+O+P+T+U #define ACTION_2208 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2209: x<-L+M+O+P+T+V #define ACTION_2209 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2210: x<-L+M+O+P+T+W #define ACTION_2210 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2211: x<-L+M+O+P+U+V #define ACTION_2211 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2212: x<-L+M+O+P+U+W #define ACTION_2212 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2213: x<-L+M+O+P+V+W #define ACTION_2213 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 0, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2214: x<-L+M+O+Q+T+U #define ACTION_2214 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2215: x<-L+M+O+Q+T+V #define ACTION_2215 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2216: x<-L+M+O+Q+T+W #define ACTION_2216 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2217: x<-L+M+O+Q+U+V #define ACTION_2217 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2218: x<-L+M+O+Q+U+W #define ACTION_2218 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2219: x<-L+M+O+Q+V+W #define ACTION_2219 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2220: x<-L+M+O+S+T+U #define ACTION_2220 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2221: x<-L+M+O+S+T+V #define ACTION_2221 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2222: x<-L+M+O+S+T+W #define ACTION_2222 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2223: x<-L+M+O+S+U+V #define ACTION_2223 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2224: x<-L+M+O+S+U+W #define ACTION_2224 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2225: x<-L+M+O+S+V+W #define ACTION_2225 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2226: x<-L+M+O+T+U+W #define ACTION_2226 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2227: x<-L+M+O+T+V+W #define ACTION_2227 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2228: x<-L+M+O+U+V+W #define ACTION_2228 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2229: x<-L+M+P+Q+T+U #define ACTION_2229 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2230: x<-L+M+P+Q+T+V #define ACTION_2230 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2231: x<-L+M+P+Q+T+W #define ACTION_2231 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2232: x<-L+M+P+Q+U+V #define ACTION_2232 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2233: x<-L+M+P+Q+U+W #define ACTION_2233 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2234: x<-L+M+P+Q+V+W #define ACTION_2234 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2235: x<-L+M+P+R+T+U #define ACTION_2235 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2236: x<-L+M+P+R+T+V #define ACTION_2236 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2237: x<-L+M+P+R+T+W #define ACTION_2237 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2238: x<-L+M+P+R+U+V #define ACTION_2238 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2239: x<-L+M+P+R+U+W #define ACTION_2239 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2240: x<-L+M+P+R+V+W #define ACTION_2240 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2241: x<-L+M+P+T+U+W #define ACTION_2241 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2242: x<-L+M+P+T+V+W #define ACTION_2242 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2243: x<-L+M+P+U+V+W #define ACTION_2243 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2244: x<-L+M+Q+R+T+U #define ACTION_2244 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2245: x<-L+M+Q+R+T+V #define ACTION_2245 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2246: x<-L+M+Q+R+T+W #define ACTION_2246 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2247: x<-L+M+Q+R+U+V #define ACTION_2247 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2248: x<-L+M+Q+R+U+W #define ACTION_2248 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2249: x<-L+M+Q+R+V+W #define ACTION_2249 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2250: x<-L+M+Q+S+T+U #define ACTION_2250 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2251: x<-L+M+Q+S+T+V #define ACTION_2251 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2252: x<-L+M+Q+S+T+W #define ACTION_2252 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2253: x<-L+M+Q+S+U+V #define ACTION_2253 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2254: x<-L+M+Q+S+U+W #define ACTION_2254 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2255: x<-L+M+Q+S+V+W #define ACTION_2255 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2256: x<-L+M+Q+T+U+W #define ACTION_2256 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2257: x<-L+M+Q+T+V+W #define ACTION_2257 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2258: x<-L+M+Q+U+V+W #define ACTION_2258 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2259: x<-L+M+R+S+T+U #define ACTION_2259 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2260: x<-L+M+R+S+T+V #define ACTION_2260 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2261: x<-L+M+R+S+T+W #define ACTION_2261 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2262: x<-L+M+R+S+U+V #define ACTION_2262 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2263: x<-L+M+R+S+U+W #define ACTION_2263 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2264: x<-L+M+R+S+V+W #define ACTION_2264 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2265: x<-L+M+R+T+U+W #define ACTION_2265 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2266: x<-L+M+R+T+V+W #define ACTION_2266 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2267: x<-L+M+R+U+V+W #define ACTION_2267 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2268: x<-L+M+S+T+U+W #define ACTION_2268 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2269: x<-L+M+S+T+V+W #define ACTION_2269 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2270: x<-L+M+S+U+V+W #define ACTION_2270 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2271: x<-L+N+O+Q+T+U #define ACTION_2271 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2272: x<-L+N+O+Q+T+V #define ACTION_2272 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2273: x<-L+N+O+Q+T+W #define ACTION_2273 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2274: x<-L+N+O+Q+U+V #define ACTION_2274 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2275: x<-L+N+O+Q+U+W #define ACTION_2275 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2276: x<-L+N+O+Q+V+W #define ACTION_2276 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2277: x<-L+N+O+T+U+W #define ACTION_2277 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2278: x<-L+N+O+T+V+W #define ACTION_2278 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2279: x<-L+N+O+U+V+W #define ACTION_2279 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2280: x<-L+N+P+Q+T+U #define ACTION_2280 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2281: x<-L+N+P+Q+T+V #define ACTION_2281 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2282: x<-L+N+P+Q+T+W #define ACTION_2282 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2283: x<-L+N+P+Q+U+V #define ACTION_2283 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2284: x<-L+N+P+Q+U+W #define ACTION_2284 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2285: x<-L+N+P+Q+V+W #define ACTION_2285 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2286: x<-L+N+P+R+T+U #define ACTION_2286 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2287: x<-L+N+P+R+T+V #define ACTION_2287 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2288: x<-L+N+P+R+T+W #define ACTION_2288 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2289: x<-L+N+P+R+U+V #define ACTION_2289 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2290: x<-L+N+P+R+U+W #define ACTION_2290 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2291: x<-L+N+P+R+V+W #define ACTION_2291 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2292: x<-L+N+P+S+T+U #define ACTION_2292 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2293: x<-L+N+P+S+T+V #define ACTION_2293 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2294: x<-L+N+P+S+T+W #define ACTION_2294 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2295: x<-L+N+P+S+U+V #define ACTION_2295 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2296: x<-L+N+P+S+U+W #define ACTION_2296 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2297: x<-L+N+P+S+V+W #define ACTION_2297 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2298: x<-L+N+P+T+U+W #define ACTION_2298 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2299: x<-L+N+P+T+V+W #define ACTION_2299 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2300: x<-L+N+P+U+V+W #define ACTION_2300 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2301: x<-L+N+Q+R+T+U #define ACTION_2301 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2302: x<-L+N+Q+R+T+V #define ACTION_2302 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2303: x<-L+N+Q+R+T+W #define ACTION_2303 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2304: x<-L+N+Q+R+U+V #define ACTION_2304 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2305: x<-L+N+Q+R+U+W #define ACTION_2305 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2306: x<-L+N+Q+R+V+W #define ACTION_2306 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2307: x<-L+N+Q+S+T+U #define ACTION_2307 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2308: x<-L+N+Q+S+T+V #define ACTION_2308 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2309: x<-L+N+Q+S+T+W #define ACTION_2309 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2310: x<-L+N+Q+S+U+V #define ACTION_2310 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2311: x<-L+N+Q+S+U+W #define ACTION_2311 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2312: x<-L+N+Q+S+V+W #define ACTION_2312 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2313: x<-L+N+Q+T+U+W #define ACTION_2313 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2314: x<-L+N+Q+T+V+W #define ACTION_2314 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2315: x<-L+N+Q+U+V+W #define ACTION_2315 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2316: x<-L+N+R+S+T+U #define ACTION_2316 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2317: x<-L+N+R+S+T+V #define ACTION_2317 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2318: x<-L+N+R+S+T+W #define ACTION_2318 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2319: x<-L+N+R+S+U+V #define ACTION_2319 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2320: x<-L+N+R+S+U+W #define ACTION_2320 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2321: x<-L+N+R+S+V+W #define ACTION_2321 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2322: x<-L+N+R+T+U+W #define ACTION_2322 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2323: x<-L+N+R+T+V+W #define ACTION_2323 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2324: x<-L+N+R+U+V+W #define ACTION_2324 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2325: x<-L+N+S+T+U+W #define ACTION_2325 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2326: x<-L+N+S+T+V+W #define ACTION_2326 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2327: x<-L+N+S+U+V+W #define ACTION_2327 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2328: x<-L+O+P+S+T+U #define ACTION_2328 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2329: x<-L+O+P+S+T+V #define ACTION_2329 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2330: x<-L+O+P+S+T+W #define ACTION_2330 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2331: x<-L+O+P+S+U+V #define ACTION_2331 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2332: x<-L+O+P+S+U+W #define ACTION_2332 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2333: x<-L+O+P+S+V+W #define ACTION_2333 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2334: x<-L+O+P+T+U+W #define ACTION_2334 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2335: x<-L+O+P+T+V+W #define ACTION_2335 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2336: x<-L+O+P+U+V+W #define ACTION_2336 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2337: x<-L+O+Q+T+U+W #define ACTION_2337 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2338: x<-L+O+Q+T+V+W #define ACTION_2338 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2339: x<-L+O+Q+U+V+W #define ACTION_2339 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2340: x<-L+O+S+T+U+W #define ACTION_2340 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2341: x<-L+O+S+T+V+W #define ACTION_2341 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2342: x<-L+O+S+U+V+W #define ACTION_2342 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2343: x<-L+P+Q+R+T+U #define ACTION_2343 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2344: x<-L+P+Q+R+T+V #define ACTION_2344 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2345: x<-L+P+Q+R+T+W #define ACTION_2345 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2346: x<-L+P+Q+R+U+V #define ACTION_2346 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2347: x<-L+P+Q+R+U+W #define ACTION_2347 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2348: x<-L+P+Q+R+V+W #define ACTION_2348 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2349: x<-L+P+Q+S+T+U #define ACTION_2349 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2350: x<-L+P+Q+S+T+V #define ACTION_2350 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2351: x<-L+P+Q+S+T+W #define ACTION_2351 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2352: x<-L+P+Q+S+U+V #define ACTION_2352 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2353: x<-L+P+Q+S+U+W #define ACTION_2353 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2354: x<-L+P+Q+S+V+W #define ACTION_2354 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2355: x<-L+P+Q+T+U+W #define ACTION_2355 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2356: x<-L+P+Q+T+V+W #define ACTION_2356 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2357: x<-L+P+Q+U+V+W #define ACTION_2357 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2358: x<-L+P+R+S+T+U #define ACTION_2358 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2359: x<-L+P+R+S+T+V #define ACTION_2359 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2360: x<-L+P+R+S+T+W #define ACTION_2360 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2361: x<-L+P+R+S+U+V #define ACTION_2361 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2362: x<-L+P+R+S+U+W #define ACTION_2362 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2363: x<-L+P+R+S+V+W #define ACTION_2363 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2364: x<-L+P+R+T+U+W #define ACTION_2364 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2365: x<-L+P+R+T+V+W #define ACTION_2365 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2366: x<-L+P+R+U+V+W #define ACTION_2366 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2367: x<-L+P+S+T+U+W #define ACTION_2367 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2368: x<-L+P+S+T+V+W #define ACTION_2368 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2369: x<-L+P+S+U+V+W #define ACTION_2369 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2370: x<-L+Q+R+T+U+W #define ACTION_2370 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2371: x<-L+Q+R+T+V+W #define ACTION_2371 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2372: x<-L+Q+R+U+V+W #define ACTION_2372 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2373: x<-L+Q+S+T+U+W #define ACTION_2373 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2374: x<-L+Q+S+T+V+W #define ACTION_2374 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2375: x<-L+Q+S+U+V+W #define ACTION_2375 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2376: x<-L+R+S+T+U+W #define ACTION_2376 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2377: x<-L+R+S+T+V+W #define ACTION_2377 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2378: x<-L+R+S+U+V+W #define ACTION_2378 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2379: x<-M+N+O+Q+T+U #define ACTION_2379 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2380: x<-M+N+O+Q+T+V #define ACTION_2380 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2381: x<-M+N+O+Q+T+W #define ACTION_2381 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2382: x<-M+N+O+Q+U+V #define ACTION_2382 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2383: x<-M+N+O+Q+U+W #define ACTION_2383 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2384: x<-M+N+O+Q+V+W #define ACTION_2384 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2385: x<-M+N+O+T+U+W #define ACTION_2385 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2386: x<-M+N+O+T+V+W #define ACTION_2386 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2387: x<-M+N+O+U+V+W #define ACTION_2387 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2388: x<-M+N+P+Q+T+U #define ACTION_2388 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2389: x<-M+N+P+Q+T+V #define ACTION_2389 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2390: x<-M+N+P+Q+T+W #define ACTION_2390 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2391: x<-M+N+P+Q+U+V #define ACTION_2391 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2392: x<-M+N+P+Q+U+W #define ACTION_2392 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2393: x<-M+N+P+Q+V+W #define ACTION_2393 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2394: x<-M+N+P+R+T+U #define ACTION_2394 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2395: x<-M+N+P+R+T+V #define ACTION_2395 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2396: x<-M+N+P+R+T+W #define ACTION_2396 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2397: x<-M+N+P+R+U+V #define ACTION_2397 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2398: x<-M+N+P+R+U+W #define ACTION_2398 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2399: x<-M+N+P+R+V+W #define ACTION_2399 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2400: x<-M+N+P+T+U+W #define ACTION_2400 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2401: x<-M+N+P+T+V+W #define ACTION_2401 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2402: x<-M+N+P+U+V+W #define ACTION_2402 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2403: x<-M+N+Q+R+T+U #define ACTION_2403 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2404: x<-M+N+Q+R+T+V #define ACTION_2404 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2405: x<-M+N+Q+R+T+W #define ACTION_2405 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2406: x<-M+N+Q+R+U+V #define ACTION_2406 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2407: x<-M+N+Q+R+U+W #define ACTION_2407 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2408: x<-M+N+Q+R+V+W #define ACTION_2408 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2409: x<-M+N+Q+S+T+U #define ACTION_2409 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2410: x<-M+N+Q+S+T+V #define ACTION_2410 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2411: x<-M+N+Q+S+T+W #define ACTION_2411 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2412: x<-M+N+Q+S+U+V #define ACTION_2412 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2413: x<-M+N+Q+S+U+W #define ACTION_2413 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2414: x<-M+N+Q+S+V+W #define ACTION_2414 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2415: x<-M+N+Q+T+U+W #define ACTION_2415 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2416: x<-M+N+Q+T+V+W #define ACTION_2416 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2417: x<-M+N+Q+U+V+W #define ACTION_2417 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2418: x<-M+N+R+S+T+U #define ACTION_2418 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2419: x<-M+N+R+S+T+V #define ACTION_2419 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2420: x<-M+N+R+S+T+W #define ACTION_2420 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2421: x<-M+N+R+S+U+V #define ACTION_2421 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2422: x<-M+N+R+S+U+W #define ACTION_2422 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2423: x<-M+N+R+S+V+W #define ACTION_2423 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2424: x<-M+N+R+T+U+W #define ACTION_2424 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2425: x<-M+N+R+T+V+W #define ACTION_2425 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2426: x<-M+N+R+U+V+W #define ACTION_2426 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2427: x<-M+N+S+T+U+W #define ACTION_2427 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2428: x<-M+N+S+T+V+W #define ACTION_2428 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2429: x<-M+N+S+U+V+W #define ACTION_2429 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2430: x<-M+O+P+Q+T+U #define ACTION_2430 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2431: x<-M+O+P+Q+T+V #define ACTION_2431 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2432: x<-M+O+P+Q+T+W #define ACTION_2432 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2433: x<-M+O+P+Q+U+V #define ACTION_2433 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2434: x<-M+O+P+Q+U+W #define ACTION_2434 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2435: x<-M+O+P+Q+V+W #define ACTION_2435 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2436: x<-M+O+P+R+T+U #define ACTION_2436 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2437: x<-M+O+P+R+T+V #define ACTION_2437 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2438: x<-M+O+P+R+T+W #define ACTION_2438 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2439: x<-M+O+P+R+U+V #define ACTION_2439 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2440: x<-M+O+P+R+U+W #define ACTION_2440 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2441: x<-M+O+P+R+V+W #define ACTION_2441 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2442: x<-M+O+P+T+U+W #define ACTION_2442 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2443: x<-M+O+P+T+V+W #define ACTION_2443 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2444: x<-M+O+P+U+V+W #define ACTION_2444 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2445: x<-M+O+Q+R+T+U #define ACTION_2445 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2446: x<-M+O+Q+R+T+V #define ACTION_2446 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2447: x<-M+O+Q+R+T+W #define ACTION_2447 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2448: x<-M+O+Q+R+U+V #define ACTION_2448 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2449: x<-M+O+Q+R+U+W #define ACTION_2449 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2450: x<-M+O+Q+R+V+W #define ACTION_2450 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2451: x<-M+O+Q+S+T+U #define ACTION_2451 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2452: x<-M+O+Q+S+T+V #define ACTION_2452 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2453: x<-M+O+Q+S+T+W #define ACTION_2453 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2454: x<-M+O+Q+S+U+V #define ACTION_2454 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2455: x<-M+O+Q+S+U+W #define ACTION_2455 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2456: x<-M+O+Q+S+V+W #define ACTION_2456 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2457: x<-M+O+Q+T+U+W #define ACTION_2457 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2458: x<-M+O+Q+T+V+W #define ACTION_2458 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2459: x<-M+O+Q+U+V+W #define ACTION_2459 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2460: x<-M+O+R+S+T+U #define ACTION_2460 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2461: x<-M+O+R+S+T+V #define ACTION_2461 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2462: x<-M+O+R+S+T+W #define ACTION_2462 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2463: x<-M+O+R+S+U+V #define ACTION_2463 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2464: x<-M+O+R+S+U+W #define ACTION_2464 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2465: x<-M+O+R+S+V+W #define ACTION_2465 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2466: x<-M+O+R+T+U+W #define ACTION_2466 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2467: x<-M+O+R+T+V+W #define ACTION_2467 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2468: x<-M+O+R+U+V+W #define ACTION_2468 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2469: x<-M+O+S+T+U+W #define ACTION_2469 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2470: x<-M+O+S+T+V+W #define ACTION_2470 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2471: x<-M+O+S+U+V+W #define ACTION_2471 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2472: x<-M+P+Q+T+U+W #define ACTION_2472 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2473: x<-M+P+Q+T+V+W #define ACTION_2473 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2474: x<-M+P+Q+U+V+W #define ACTION_2474 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2475: x<-M+P+R+T+U+W #define ACTION_2475 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2476: x<-M+P+R+T+V+W #define ACTION_2476 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2477: x<-M+P+R+U+V+W #define ACTION_2477 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2478: x<-M+Q+R+T+U+W #define ACTION_2478 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2479: x<-M+Q+R+T+V+W #define ACTION_2479 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2480: x<-M+Q+R+U+V+W #define ACTION_2480 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2481: x<-M+Q+S+T+U+W #define ACTION_2481 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2482: x<-M+Q+S+T+V+W #define ACTION_2482 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2483: x<-M+Q+S+U+V+W #define ACTION_2483 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2484: x<-M+R+S+T+U+W #define ACTION_2484 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2485: x<-M+R+S+T+V+W #define ACTION_2485 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2486: x<-M+R+S+U+V+W #define ACTION_2486 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2487: x<-N+O+Q+R+T+U #define ACTION_2487 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2488: x<-N+O+Q+R+T+V #define ACTION_2488 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2489: x<-N+O+Q+R+T+W #define ACTION_2489 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2490: x<-N+O+Q+R+U+V #define ACTION_2490 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2491: x<-N+O+Q+R+U+W #define ACTION_2491 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2492: x<-N+O+Q+R+V+W #define ACTION_2492 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2493: x<-N+O+Q+S+T+U #define ACTION_2493 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2494: x<-N+O+Q+S+T+V #define ACTION_2494 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2495: x<-N+O+Q+S+T+W #define ACTION_2495 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2496: x<-N+O+Q+S+U+V #define ACTION_2496 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2497: x<-N+O+Q+S+U+W #define ACTION_2497 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2498: x<-N+O+Q+S+V+W #define ACTION_2498 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2499: x<-N+O+Q+T+U+W #define ACTION_2499 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2500: x<-N+O+Q+T+V+W #define ACTION_2500 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2501: x<-N+O+Q+U+V+W #define ACTION_2501 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2502: x<-N+O+R+S+T+U #define ACTION_2502 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2503: x<-N+O+R+S+T+V #define ACTION_2503 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2504: x<-N+O+R+S+T+W #define ACTION_2504 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2505: x<-N+O+R+S+U+V #define ACTION_2505 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2506: x<-N+O+R+S+U+W #define ACTION_2506 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2507: x<-N+O+R+S+V+W #define ACTION_2507 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2508: x<-N+O+R+T+U+W #define ACTION_2508 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2509: x<-N+O+R+T+V+W #define ACTION_2509 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2510: x<-N+O+R+U+V+W #define ACTION_2510 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2511: x<-N+O+S+T+U+W #define ACTION_2511 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2512: x<-N+O+S+T+V+W #define ACTION_2512 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2513: x<-N+O+S+U+V+W #define ACTION_2513 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2514: x<-N+P+Q+R+T+U #define ACTION_2514 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2515: x<-N+P+Q+R+T+V #define ACTION_2515 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2516: x<-N+P+Q+R+T+W #define ACTION_2516 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2517: x<-N+P+Q+R+U+V #define ACTION_2517 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2518: x<-N+P+Q+R+U+W #define ACTION_2518 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2519: x<-N+P+Q+R+V+W #define ACTION_2519 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2520: x<-N+P+Q+S+T+U #define ACTION_2520 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2521: x<-N+P+Q+S+T+V #define ACTION_2521 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2522: x<-N+P+Q+S+T+W #define ACTION_2522 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2523: x<-N+P+Q+S+U+V #define ACTION_2523 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2524: x<-N+P+Q+S+U+W #define ACTION_2524 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2525: x<-N+P+Q+S+V+W #define ACTION_2525 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2526: x<-N+P+Q+T+U+W #define ACTION_2526 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2527: x<-N+P+Q+T+V+W #define ACTION_2527 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2528: x<-N+P+Q+U+V+W #define ACTION_2528 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2529: x<-N+P+R+S+T+U #define ACTION_2529 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2530: x<-N+P+R+S+T+V #define ACTION_2530 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2531: x<-N+P+R+S+T+W #define ACTION_2531 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2532: x<-N+P+R+S+U+V #define ACTION_2532 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2533: x<-N+P+R+S+U+W #define ACTION_2533 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2534: x<-N+P+R+S+V+W #define ACTION_2534 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2535: x<-N+P+R+T+U+W #define ACTION_2535 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2536: x<-N+P+R+T+V+W #define ACTION_2536 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2537: x<-N+P+R+U+V+W #define ACTION_2537 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2538: x<-N+P+S+T+U+W #define ACTION_2538 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2539: x<-N+P+S+T+V+W #define ACTION_2539 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2540: x<-N+P+S+U+V+W #define ACTION_2540 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2541: x<-N+Q+R+T+U+W #define ACTION_2541 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2542: x<-N+Q+R+T+V+W #define ACTION_2542 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2543: x<-N+Q+R+U+V+W #define ACTION_2543 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2544: x<-N+Q+S+T+U+W #define ACTION_2544 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2545: x<-N+Q+S+T+V+W #define ACTION_2545 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2546: x<-N+Q+S+U+V+W #define ACTION_2546 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2547: x<-N+R+S+T+U+W #define ACTION_2547 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2548: x<-N+R+S+T+V+W #define ACTION_2548 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2549: x<-N+R+S+U+V+W #define ACTION_2549 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2550: x<-O+P+Q+R+T+U #define ACTION_2550 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2551: x<-O+P+Q+R+T+V #define ACTION_2551 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2552: x<-O+P+Q+R+T+W #define ACTION_2552 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2553: x<-O+P+Q+R+U+V #define ACTION_2553 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2554: x<-O+P+Q+R+U+W #define ACTION_2554 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2555: x<-O+P+Q+R+V+W #define ACTION_2555 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2556: x<-O+P+Q+S+T+U #define ACTION_2556 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2557: x<-O+P+Q+S+T+V #define ACTION_2557 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2558: x<-O+P+Q+S+T+W #define ACTION_2558 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2559: x<-O+P+Q+S+U+V #define ACTION_2559 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2560: x<-O+P+Q+S+U+W #define ACTION_2560 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2561: x<-O+P+Q+S+V+W #define ACTION_2561 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2562: x<-O+P+Q+T+U+W #define ACTION_2562 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2563: x<-O+P+Q+T+V+W #define ACTION_2563 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2564: x<-O+P+Q+U+V+W #define ACTION_2564 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2565: x<-O+P+R+S+T+U #define ACTION_2565 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2566: x<-O+P+R+S+T+V #define ACTION_2566 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2567: x<-O+P+R+S+T+W #define ACTION_2567 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c - 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2568: x<-O+P+R+S+U+V #define ACTION_2568 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c + 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2569: x<-O+P+R+S+U+W #define ACTION_2569 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2570: x<-O+P+R+S+V+W #define ACTION_2570 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s - 1, r + 1, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2571: x<-O+P+R+T+U+W #define ACTION_2571 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2572: x<-O+P+R+T+V+W #define ACTION_2572 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2573: x<-O+P+R+U+V+W #define ACTION_2573 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2574: x<-O+P+S+T+U+W #define ACTION_2574 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2575: x<-O+P+S+T+V+W #define ACTION_2575 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2576: x<-O+P+S+U+V+W #define ACTION_2576 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2577: x<-O+Q+R+T+U+W #define ACTION_2577 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2578: x<-O+Q+R+T+V+W #define ACTION_2578 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2579: x<-O+Q+R+U+V+W #define ACTION_2579 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2580: x<-O+Q+S+T+U+W #define ACTION_2580 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2581: x<-O+Q+S+T+V+W #define ACTION_2581 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2582: x<-O+Q+S+U+V+W #define ACTION_2582 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2583: x<-O+R+S+T+U+W #define ACTION_2583 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2584: x<-O+R+S+T+V+W #define ACTION_2584 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2585: x<-O+R+S+U+V+W #define ACTION_2585 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c)));continue; // Action 2586: x<-P+Q+R+T+U+W #define ACTION_2586 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2587: x<-P+Q+R+T+V+W #define ACTION_2587 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2588: x<-P+Q+R+U+V+W #define ACTION_2588 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2589: x<-P+Q+S+T+U+W #define ACTION_2589 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2590: x<-P+Q+S+T+V+W #define ACTION_2590 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2591: x<-P+Q+S+U+V+W #define ACTION_2591 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c - 2)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2592: x<-P+R+S+T+U+W #define ACTION_2592 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2593: x<-P+R+S+T+V+W #define ACTION_2593 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2594: x<-P+R+S+U+V+W #define ACTION_2594 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 2), img_labels(s - 1, r + 1, c)), img_labels(s - 1, r + 0, c + 2)));continue; // Action 2595: x<-K+L+N+O+T+U+W #define ACTION_2595 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2596: x<-K+L+N+O+T+V+W #define ACTION_2596 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2597: x<-K+L+N+O+U+V+W #define ACTION_2597 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2598: x<-K+L+N+P+T+U+W #define ACTION_2598 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2599: x<-K+L+N+P+T+V+W #define ACTION_2599 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2600: x<-K+L+N+P+U+V+W #define ACTION_2600 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2601: x<-K+L+N+R+T+U+W #define ACTION_2601 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2602: x<-K+L+N+R+T+V+W #define ACTION_2602 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2603: x<-K+L+N+R+U+V+W #define ACTION_2603 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2604: x<-K+L+N+S+T+U+W #define ACTION_2604 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2605: x<-K+L+N+S+T+V+W #define ACTION_2605 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2606: x<-K+L+N+S+U+V+W #define ACTION_2606 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2607: x<-K+L+O+P+T+U+W #define ACTION_2607 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2608: x<-K+L+O+P+T+V+W #define ACTION_2608 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2609: x<-K+L+O+P+U+V+W #define ACTION_2609 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2610: x<-K+L+O+Q+T+U+W #define ACTION_2610 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2611: x<-K+L+O+Q+T+V+W #define ACTION_2611 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2612: x<-K+L+O+Q+U+V+W #define ACTION_2612 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2613: x<-K+L+O+S+T+U+W #define ACTION_2613 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2614: x<-K+L+O+S+T+V+W #define ACTION_2614 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2615: x<-K+L+O+S+U+V+W #define ACTION_2615 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2616: x<-K+L+P+Q+T+U+W #define ACTION_2616 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2617: x<-K+L+P+Q+T+V+W #define ACTION_2617 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2618: x<-K+L+P+Q+U+V+W #define ACTION_2618 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2619: x<-K+L+P+R+T+U+W #define ACTION_2619 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2620: x<-K+L+P+R+T+V+W #define ACTION_2620 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2621: x<-K+L+P+R+U+V+W #define ACTION_2621 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2622: x<-K+L+Q+R+T+U+W #define ACTION_2622 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2623: x<-K+L+Q+R+T+V+W #define ACTION_2623 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2624: x<-K+L+Q+R+U+V+W #define ACTION_2624 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2625: x<-K+L+Q+S+T+U+W #define ACTION_2625 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2626: x<-K+L+Q+S+T+V+W #define ACTION_2626 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2627: x<-K+L+Q+S+U+V+W #define ACTION_2627 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2628: x<-K+L+R+S+T+U+W #define ACTION_2628 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2629: x<-K+L+R+S+T+V+W #define ACTION_2629 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2630: x<-K+L+R+S+U+V+W #define ACTION_2630 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2631: x<-K+M+N+O+T+U+W #define ACTION_2631 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2632: x<-K+M+N+O+T+V+W #define ACTION_2632 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2633: x<-K+M+N+O+U+V+W #define ACTION_2633 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2634: x<-K+M+N+P+T+U+W #define ACTION_2634 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2635: x<-K+M+N+P+T+V+W #define ACTION_2635 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2636: x<-K+M+N+P+U+V+W #define ACTION_2636 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2637: x<-K+M+N+R+T+U+W #define ACTION_2637 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2638: x<-K+M+N+R+T+V+W #define ACTION_2638 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2639: x<-K+M+N+R+U+V+W #define ACTION_2639 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2640: x<-K+M+N+S+T+U+W #define ACTION_2640 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2641: x<-K+M+N+S+T+V+W #define ACTION_2641 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2642: x<-K+M+N+S+U+V+W #define ACTION_2642 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2643: x<-K+M+O+P+T+U+W #define ACTION_2643 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2644: x<-K+M+O+P+T+V+W #define ACTION_2644 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2645: x<-K+M+O+P+U+V+W #define ACTION_2645 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2646: x<-K+M+O+Q+T+U+W #define ACTION_2646 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2647: x<-K+M+O+Q+T+V+W #define ACTION_2647 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2648: x<-K+M+O+Q+U+V+W #define ACTION_2648 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2649: x<-K+M+O+S+T+U+W #define ACTION_2649 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2650: x<-K+M+O+S+T+V+W #define ACTION_2650 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2651: x<-K+M+O+S+U+V+W #define ACTION_2651 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2652: x<-K+M+P+Q+T+U+W #define ACTION_2652 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2653: x<-K+M+P+Q+T+V+W #define ACTION_2653 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2654: x<-K+M+P+Q+U+V+W #define ACTION_2654 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2655: x<-K+M+P+R+T+U+W #define ACTION_2655 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2656: x<-K+M+P+R+T+V+W #define ACTION_2656 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2657: x<-K+M+P+R+U+V+W #define ACTION_2657 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2658: x<-K+M+Q+R+T+U+W #define ACTION_2658 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2659: x<-K+M+Q+R+T+V+W #define ACTION_2659 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2660: x<-K+M+Q+R+U+V+W #define ACTION_2660 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2661: x<-K+M+Q+S+T+U+W #define ACTION_2661 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2662: x<-K+M+Q+S+T+V+W #define ACTION_2662 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2663: x<-K+M+Q+S+U+V+W #define ACTION_2663 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2664: x<-K+M+R+S+T+U+W #define ACTION_2664 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2665: x<-K+M+R+S+T+V+W #define ACTION_2665 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2666: x<-K+M+R+S+U+V+W #define ACTION_2666 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2667: x<-K+N+O+R+T+U+W #define ACTION_2667 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2668: x<-K+N+O+R+T+V+W #define ACTION_2668 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2669: x<-K+N+O+R+U+V+W #define ACTION_2669 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2670: x<-K+N+O+S+T+U+W #define ACTION_2670 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2671: x<-K+N+O+S+T+V+W #define ACTION_2671 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2672: x<-K+N+O+S+U+V+W #define ACTION_2672 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2673: x<-K+N+P+R+T+U+W #define ACTION_2673 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2674: x<-K+N+P+R+T+V+W #define ACTION_2674 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2675: x<-K+N+P+R+U+V+W #define ACTION_2675 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2676: x<-K+N+P+S+T+U+W #define ACTION_2676 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2677: x<-K+N+P+S+T+V+W #define ACTION_2677 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2678: x<-K+N+P+S+U+V+W #define ACTION_2678 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2679: x<-K+O+P+S+T+U+W #define ACTION_2679 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2680: x<-K+O+P+S+T+V+W #define ACTION_2680 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2681: x<-K+O+P+S+U+V+W #define ACTION_2681 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2682: x<-K+O+Q+R+T+U+W #define ACTION_2682 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2683: x<-K+O+Q+R+T+V+W #define ACTION_2683 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2684: x<-K+O+Q+R+U+V+W #define ACTION_2684 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2685: x<-K+O+Q+S+T+U+W #define ACTION_2685 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2686: x<-K+O+Q+S+T+V+W #define ACTION_2686 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2687: x<-K+O+Q+S+U+V+W #define ACTION_2687 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2688: x<-K+O+R+S+T+U+W #define ACTION_2688 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2689: x<-K+O+R+S+T+V+W #define ACTION_2689 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2690: x<-K+O+R+S+U+V+W #define ACTION_2690 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2691: x<-K+P+Q+R+T+U+W #define ACTION_2691 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2692: x<-K+P+Q+R+T+V+W #define ACTION_2692 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2693: x<-K+P+Q+R+U+V+W #define ACTION_2693 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2694: x<-K+P+Q+S+T+U+W #define ACTION_2694 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2695: x<-K+P+Q+S+T+V+W #define ACTION_2695 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2696: x<-K+P+Q+S+U+V+W #define ACTION_2696 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2697: x<-K+P+R+S+T+U+W #define ACTION_2697 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2698: x<-K+P+R+S+T+V+W #define ACTION_2698 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2699: x<-K+P+R+S+U+V+W #define ACTION_2699 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c - 2)));continue; // Action 2700: x<-L+M+N+O+T+U+W #define ACTION_2700 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2701: x<-L+M+N+O+T+V+W #define ACTION_2701 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2702: x<-L+M+N+O+U+V+W #define ACTION_2702 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2703: x<-L+M+N+P+T+U+W #define ACTION_2703 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2704: x<-L+M+N+P+T+V+W #define ACTION_2704 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2705: x<-L+M+N+P+U+V+W #define ACTION_2705 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2706: x<-L+M+N+R+T+U+W #define ACTION_2706 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2707: x<-L+M+N+R+T+V+W #define ACTION_2707 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2708: x<-L+M+N+R+U+V+W #define ACTION_2708 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2709: x<-L+M+N+S+T+U+W #define ACTION_2709 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2710: x<-L+M+N+S+T+V+W #define ACTION_2710 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2711: x<-L+M+N+S+U+V+W #define ACTION_2711 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2712: x<-L+M+O+P+T+U+W #define ACTION_2712 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2713: x<-L+M+O+P+T+V+W #define ACTION_2713 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2714: x<-L+M+O+P+U+V+W #define ACTION_2714 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 0, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2715: x<-L+M+O+Q+T+U+W #define ACTION_2715 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2716: x<-L+M+O+Q+T+V+W #define ACTION_2716 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2717: x<-L+M+O+Q+U+V+W #define ACTION_2717 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2718: x<-L+M+O+S+T+U+W #define ACTION_2718 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2719: x<-L+M+O+S+T+V+W #define ACTION_2719 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2720: x<-L+M+O+S+U+V+W #define ACTION_2720 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2721: x<-L+M+P+Q+T+U+W #define ACTION_2721 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2722: x<-L+M+P+Q+T+V+W #define ACTION_2722 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2723: x<-L+M+P+Q+U+V+W #define ACTION_2723 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2724: x<-L+M+P+R+T+U+W #define ACTION_2724 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2725: x<-L+M+P+R+T+V+W #define ACTION_2725 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2726: x<-L+M+P+R+U+V+W #define ACTION_2726 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2727: x<-L+M+Q+R+T+U+W #define ACTION_2727 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2728: x<-L+M+Q+R+T+V+W #define ACTION_2728 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2729: x<-L+M+Q+R+U+V+W #define ACTION_2729 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2730: x<-L+M+Q+S+T+U+W #define ACTION_2730 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2731: x<-L+M+Q+S+T+V+W #define ACTION_2731 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2732: x<-L+M+Q+S+U+V+W #define ACTION_2732 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2733: x<-L+M+R+S+T+U+W #define ACTION_2733 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2734: x<-L+M+R+S+T+V+W #define ACTION_2734 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2735: x<-L+M+R+S+U+V+W #define ACTION_2735 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2736: x<-L+N+O+Q+T+U+W #define ACTION_2736 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2737: x<-L+N+O+Q+T+V+W #define ACTION_2737 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2738: x<-L+N+O+Q+U+V+W #define ACTION_2738 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2739: x<-L+N+P+Q+T+U+W #define ACTION_2739 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2740: x<-L+N+P+Q+T+V+W #define ACTION_2740 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2741: x<-L+N+P+Q+U+V+W #define ACTION_2741 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2742: x<-L+N+P+R+T+U+W #define ACTION_2742 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2743: x<-L+N+P+R+T+V+W #define ACTION_2743 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2744: x<-L+N+P+R+U+V+W #define ACTION_2744 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2745: x<-L+N+P+S+T+U+W #define ACTION_2745 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2746: x<-L+N+P+S+T+V+W #define ACTION_2746 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2747: x<-L+N+P+S+U+V+W #define ACTION_2747 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2748: x<-L+N+Q+R+T+U+W #define ACTION_2748 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2749: x<-L+N+Q+R+T+V+W #define ACTION_2749 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2750: x<-L+N+Q+R+U+V+W #define ACTION_2750 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2751: x<-L+N+Q+S+T+U+W #define ACTION_2751 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2752: x<-L+N+Q+S+T+V+W #define ACTION_2752 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2753: x<-L+N+Q+S+U+V+W #define ACTION_2753 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2754: x<-L+N+R+S+T+U+W #define ACTION_2754 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2755: x<-L+N+R+S+T+V+W #define ACTION_2755 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2756: x<-L+N+R+S+U+V+W #define ACTION_2756 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2757: x<-L+O+P+S+T+U+W #define ACTION_2757 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2758: x<-L+O+P+S+T+V+W #define ACTION_2758 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2759: x<-L+O+P+S+U+V+W #define ACTION_2759 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c)));continue; // Action 2760: x<-L+P+Q+R+T+U+W #define ACTION_2760 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2761: x<-L+P+Q+R+T+V+W #define ACTION_2761 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2762: x<-L+P+Q+R+U+V+W #define ACTION_2762 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2763: x<-L+P+Q+S+T+U+W #define ACTION_2763 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2764: x<-L+P+Q+S+T+V+W #define ACTION_2764 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2765: x<-L+P+Q+S+U+V+W #define ACTION_2765 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2766: x<-L+P+R+S+T+U+W #define ACTION_2766 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2767: x<-L+P+R+S+T+V+W #define ACTION_2767 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2768: x<-L+P+R+S+U+V+W #define ACTION_2768 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r - 1, c)));continue; // Action 2769: x<-M+N+O+Q+T+U+W #define ACTION_2769 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2770: x<-M+N+O+Q+T+V+W #define ACTION_2770 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2771: x<-M+N+O+Q+U+V+W #define ACTION_2771 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2772: x<-M+N+P+Q+T+U+W #define ACTION_2772 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2773: x<-M+N+P+Q+T+V+W #define ACTION_2773 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2774: x<-M+N+P+Q+U+V+W #define ACTION_2774 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2775: x<-M+N+P+R+T+U+W #define ACTION_2775 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2776: x<-M+N+P+R+T+V+W #define ACTION_2776 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2777: x<-M+N+P+R+U+V+W #define ACTION_2777 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2778: x<-M+N+Q+R+T+U+W #define ACTION_2778 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2779: x<-M+N+Q+R+T+V+W #define ACTION_2779 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2780: x<-M+N+Q+R+U+V+W #define ACTION_2780 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2781: x<-M+N+Q+S+T+U+W #define ACTION_2781 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2782: x<-M+N+Q+S+T+V+W #define ACTION_2782 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2783: x<-M+N+Q+S+U+V+W #define ACTION_2783 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2784: x<-M+N+R+S+T+U+W #define ACTION_2784 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2785: x<-M+N+R+S+T+V+W #define ACTION_2785 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2786: x<-M+N+R+S+U+V+W #define ACTION_2786 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c - 2)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2787: x<-M+O+P+Q+T+U+W #define ACTION_2787 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2788: x<-M+O+P+Q+T+V+W #define ACTION_2788 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2789: x<-M+O+P+Q+U+V+W #define ACTION_2789 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2790: x<-M+O+P+R+T+U+W #define ACTION_2790 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2791: x<-M+O+P+R+T+V+W #define ACTION_2791 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2792: x<-M+O+P+R+U+V+W #define ACTION_2792 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 0, c + 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2793: x<-M+O+Q+R+T+U+W #define ACTION_2793 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2794: x<-M+O+Q+R+T+V+W #define ACTION_2794 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2795: x<-M+O+Q+R+U+V+W #define ACTION_2795 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2796: x<-M+O+Q+S+T+U+W #define ACTION_2796 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2797: x<-M+O+Q+S+T+V+W #define ACTION_2797 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2798: x<-M+O+Q+S+U+V+W #define ACTION_2798 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2799: x<-M+O+R+S+T+U+W #define ACTION_2799 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2800: x<-M+O+R+S+T+V+W #define ACTION_2800 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2801: x<-M+O+R+S+U+V+W #define ACTION_2801 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r - 1, c + 2)));continue; // Action 2802: x<-N+O+Q+R+T+U+W #define ACTION_2802 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2803: x<-N+O+Q+R+T+V+W #define ACTION_2803 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2804: x<-N+O+Q+R+U+V+W #define ACTION_2804 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2805: x<-N+O+Q+S+T+U+W #define ACTION_2805 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2806: x<-N+O+Q+S+T+V+W #define ACTION_2806 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2807: x<-N+O+Q+S+U+V+W #define ACTION_2807 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2808: x<-N+O+R+S+T+U+W #define ACTION_2808 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2809: x<-N+O+R+S+T+V+W #define ACTION_2809 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2810: x<-N+O+R+S+U+V+W #define ACTION_2810 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2811: x<-N+P+Q+R+T+U+W #define ACTION_2811 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2812: x<-N+P+Q+R+T+V+W #define ACTION_2812 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2813: x<-N+P+Q+R+U+V+W #define ACTION_2813 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2814: x<-N+P+Q+S+T+U+W #define ACTION_2814 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2815: x<-N+P+Q+S+T+V+W #define ACTION_2815 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2816: x<-N+P+Q+S+U+V+W #define ACTION_2816 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2817: x<-N+P+R+S+T+U+W #define ACTION_2817 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2818: x<-N+P+R+S+T+V+W #define ACTION_2818 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2819: x<-N+P+R+S+U+V+W #define ACTION_2819 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c - 2)));continue; // Action 2820: x<-O+P+Q+R+T+U+W #define ACTION_2820 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2821: x<-O+P+Q+R+T+V+W #define ACTION_2821 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2822: x<-O+P+Q+R+U+V+W #define ACTION_2822 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2823: x<-O+P+Q+S+T+U+W #define ACTION_2823 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2824: x<-O+P+Q+S+T+V+W #define ACTION_2824 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2825: x<-O+P+Q+S+U+V+W #define ACTION_2825 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 2), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2826: x<-O+P+R+S+T+U+W #define ACTION_2826 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2827: x<-O+P+R+S+T+V+W #define ACTION_2827 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c - 2), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; // Action 2828: x<-O+P+R+S+U+V+W #define ACTION_2828 img_labels(s + 0, r + 0, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s + 0, r + 0, c - 2), img_labels(s + 0, r - 1, c + 2)), LabelsSolver::MemMerge(img_labels(s + 0, r - 1, c), img_labels(s - 1, r + 1, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r + 0, c + 2)), img_labels(s - 1, r + 0, c)));continue; ================================================ FILE: include/labeling3D_EPDT_22c_tree.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany if (CONDITION_XB) { if (CONDITION_OB) { if (CONDITION_OA) { ACTION_6 } else { if (CONDITION_XA) { if (CONDITION_LA) { NODE_1: if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_3 } else { NODE_2: if (CONDITION_WB) { ACTION_3 } else { NODE_3: if (CONDITION_KB) { NODE_4: if (CONDITION_NA) { ACTION_2 } else { NODE_5: if (CONDITION_WA) { ACTION_2 } else { ACTION_20 } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_3 } else { if (CONDITION_WA) { ACTION_3 } else { ACTION_31 } } } else { ACTION_31 } } } } } else { ACTION_3 } } } else { if (CONDITION_UA) { NODE_6: if (CONDITION_NB) { ACTION_6 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_6 } else { if (CONDITION_WB) { ACTION_6 } else { if (CONDITION_KB) { goto NODE_4; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_6 } else { if (CONDITION_WA) { ACTION_6 } else { ACTION_58 } } } else { ACTION_58 } } } } } else { ACTION_6 } } } else { if (CONDITION_RA) { NODE_7: if (CONDITION_NB) { ACTION_6 } else { if (CONDITION_WB) { ACTION_6 } else { if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_2 } else { if (CONDITION_WA) { ACTION_2 } else { ACTION_18 } } } else { ACTION_18 } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_6 } else { if (CONDITION_WA) { ACTION_6 } else { ACTION_61 } } } else { ACTION_61 } } else { ACTION_6 } } } } } else { NODE_8: if (CONDITION_NB) { ACTION_48 } else { if (CONDITION_WB) { ACTION_64 } else { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_18 } else { if (CONDITION_QB) { if (CONDITION_WA) { ACTION_18 } else { ACTION_122 } } else { ACTION_18 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_58 } else { if (CONDITION_TB) { if (CONDITION_WA) { ACTION_58 } else { ACTION_299 } } else { ACTION_58 } } } else { if (CONDITION_TB) { ACTION_61 } else { ACTION_6 } } } } } } } } } else { ACTION_6 } } } else { if (CONDITION_LB) { if (CONDITION_OA) { if (CONDITION_PA) { ACTION_3 } else { if (CONDITION_RB) { ACTION_3 } else { if (CONDITION_SA) { if (CONDITION_PB) { NODE_9: if (CONDITION_MA) { ACTION_3 } else { if (CONDITION_VA) { ACTION_3 } else { ACTION_30 } } } else { ACTION_33 } } else { ACTION_3 } } } } else { if (CONDITION_PA) { if (CONDITION_LA) { NODE_10: if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_3 } else { NODE_11: if (CONDITION_QB) { goto NODE_3; } else { ACTION_32 } } } else { NODE_12: if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_3; } else { ACTION_3 } } else { ACTION_3 } } } } } else { if (CONDITION_UA) { goto NODE_10; } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_RA) { NODE_13: if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { NODE_14: if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_2 } else { if (CONDITION_WA) { ACTION_2 } else { ACTION_15 } } } else { ACTION_15 } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_3 } else { if (CONDITION_WA) { ACTION_3 } else { ACTION_34 } } } else { ACTION_34 } } else { ACTION_3 } } } } } else { NODE_15: if (CONDITION_NB) { ACTION_28 } else { if (CONDITION_WB) { ACTION_37 } else { if (CONDITION_KB) { NODE_16: if (CONDITION_NA) { ACTION_15 } else { if (CONDITION_QB) { NODE_17: if (CONDITION_WA) { ACTION_15 } else { ACTION_96 } } else { ACTION_15 } } } else { if (CONDITION_QB) { NODE_18: if (CONDITION_NA) { ACTION_31 } else { if (CONDITION_TB) { NODE_19: if (CONDITION_WA) { ACTION_31 } else { ACTION_192 } } else { ACTION_31 } } } else { NODE_20: if (CONDITION_TB) { ACTION_34 } else { ACTION_3 } } } } } } } else { if (CONDITION_NB) { ACTION_28 } else { if (CONDITION_WB) { ACTION_37 } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_31 } else { if (CONDITION_WA) { ACTION_31 } else { if (CONDITION_KB) { ACTION_96 } else { if (CONDITION_TB) { ACTION_192 } else { ACTION_31 } } } } } else { if (CONDITION_KB) { if (CONDITION_RA) { ACTION_97 } else { ACTION_15 } } else { if (CONDITION_RA) { NODE_21: if (CONDITION_TB) { ACTION_197 } else { ACTION_32 } } else { goto NODE_20; } } } } } } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_3 } else { ACTION_32 } } else { ACTION_3 } } } } } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_LA) { NODE_22: if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { if (CONDITION_QB) { if (CONDITION_KB) { NODE_23: if (CONDITION_NA) { ACTION_2 } else { if (CONDITION_WA) { ACTION_2 } else { if (CONDITION_PB) { if (CONDITION_SA) { NODE_24: if (CONDITION_MA) { ACTION_2 } else { if (CONDITION_VA) { ACTION_2 } else { ACTION_19 } } } else { ACTION_20 } } else { ACTION_20 } } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_3 } else { if (CONDITION_WA) { ACTION_3 } else { NODE_25: if (CONDITION_PB) { if (CONDITION_SA) { goto NODE_9; } else { ACTION_31 } } else { ACTION_31 } } } } else { goto NODE_25; } } } else { NODE_26: if (CONDITION_PB) { if (CONDITION_SA) { goto NODE_9; } else { ACTION_32 } } else { ACTION_32 } } } } } else { if (CONDITION_UA) { goto NODE_22; } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { NODE_27: if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { if (CONDITION_XA) { goto NODE_14; } else { ACTION_3 } } } } else { if (CONDITION_VA) { goto NODE_27; } else { if (CONDITION_NB) { ACTION_30 } else { if (CONDITION_WB) { ACTION_30 } else { if (CONDITION_XA) { NODE_28: if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_15 } else { if (CONDITION_WA) { ACTION_15 } else { ACTION_95 } } } else { ACTION_95 } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_30 } else { if (CONDITION_WA) { ACTION_30 } else { ACTION_186 } } } else { ACTION_186 } } else { ACTION_30 } } } else { ACTION_30 } } } } } } else { NODE_29: if (CONDITION_NB) { ACTION_32 } else { if (CONDITION_WB) { ACTION_32 } else { if (CONDITION_XA) { NODE_30: if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_15 } else { goto NODE_17; } } else { ACTION_97 } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_31 } else { goto NODE_19; } } else { ACTION_197 } } else { ACTION_32 } } } else { ACTION_32 } } } } } else { goto NODE_29; } } } } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { NODE_31: if (CONDITION_XA) { if (CONDITION_LA) { NODE_32: if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_QB) { goto NODE_2; } else { ACTION_3 } } } else { if (CONDITION_UA) { goto NODE_32; } else { goto NODE_15; } } } else { ACTION_3 } } else { if (CONDITION_VA) { goto NODE_31; } else { NODE_33: if (CONDITION_XA) { if (CONDITION_LA) { NODE_34: if (CONDITION_NB) { ACTION_30 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_30 } else { NODE_35: if (CONDITION_KB) { NODE_36: if (CONDITION_NA) { ACTION_19 } else { NODE_37: if (CONDITION_WA) { ACTION_19 } else { ACTION_129 } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_30 } else { if (CONDITION_WA) { ACTION_30 } else { ACTION_183 } } } else { ACTION_183 } } } } else { ACTION_30 } } } else { if (CONDITION_UA) { goto NODE_34; } else { if (CONDITION_NB) { ACTION_168 } else { if (CONDITION_WB) { ACTION_189 } else { if (CONDITION_KB) { NODE_38: if (CONDITION_NA) { ACTION_95 } else { if (CONDITION_QB) { NODE_39: if (CONDITION_WA) { ACTION_95 } else { ACTION_387 } } else { ACTION_95 } } } else { if (CONDITION_QB) { NODE_40: if (CONDITION_NA) { ACTION_183 } else { if (CONDITION_TB) { NODE_41: if (CONDITION_WA) { ACTION_183 } else { ACTION_658 } } else { ACTION_183 } } } else { if (CONDITION_TB) { ACTION_186 } else { ACTION_30 } } } } } } } } else { ACTION_30 } } } } else { NODE_42: if (CONDITION_XA) { if (CONDITION_LA) { NODE_43: if (CONDITION_NB) { ACTION_32 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_32 } else { NODE_44: if (CONDITION_KB) { NODE_45: if (CONDITION_NA) { ACTION_21 } else { NODE_46: if (CONDITION_WA) { ACTION_21 } else { ACTION_136 } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_32 } else { if (CONDITION_WA) { ACTION_32 } else { ACTION_190 } } } else { ACTION_190 } } } } else { ACTION_32 } } } else { if (CONDITION_UA) { goto NODE_43; } else { if (CONDITION_NB) { ACTION_170 } else { if (CONDITION_WB) { ACTION_200 } else { if (CONDITION_KB) { NODE_47: if (CONDITION_NA) { ACTION_97 } else { if (CONDITION_QB) { if (CONDITION_WA) { ACTION_97 } else { ACTION_393 } } else { ACTION_97 } } } else { if (CONDITION_QB) { NODE_48: if (CONDITION_NA) { ACTION_190 } else { if (CONDITION_TB) { if (CONDITION_WA) { ACTION_190 } else { ACTION_677 } } else { ACTION_190 } } } else { goto NODE_21; } } } } } } } else { ACTION_32 } } } else { goto NODE_42; } } } else { if (CONDITION_SA) { if (CONDITION_PB) { if (CONDITION_MA) { NODE_49: if (CONDITION_RA) { if (CONDITION_LA) { NODE_50: if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { goto NODE_11; } } } else { if (CONDITION_UA) { goto NODE_50; } else { goto NODE_29; } } } else { goto NODE_31; } } else { if (CONDITION_VA) { goto NODE_49; } else { if (CONDITION_RA) { if (CONDITION_LA) { NODE_51: if (CONDITION_NB) { ACTION_30 } else { if (CONDITION_WB) { ACTION_30 } else { NODE_52: if (CONDITION_QB) { goto NODE_35; } else { ACTION_184 } } } } else { if (CONDITION_UA) { goto NODE_51; } else { if (CONDITION_NB) { ACTION_184 } else { if (CONDITION_WB) { ACTION_184 } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_95 } else { goto NODE_39; } } else { ACTION_388 } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_183 } else { goto NODE_41; } } else { ACTION_663 } } else { ACTION_184 } } } else { ACTION_184 } } } } } } else { goto NODE_33; } } } } else { if (CONDITION_RA) { if (CONDITION_LA) { NODE_53: if (CONDITION_NB) { ACTION_33 } else { if (CONDITION_WB) { ACTION_33 } else { NODE_54: if (CONDITION_QB) { NODE_55: if (CONDITION_KB) { NODE_56: if (CONDITION_NA) { ACTION_22 } else { NODE_57: if (CONDITION_WA) { ACTION_22 } else { ACTION_137 } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_33 } else { if (CONDITION_WA) { ACTION_33 } else { ACTION_191 } } } else { ACTION_191 } } } else { ACTION_196 } } } } else { if (CONDITION_UA) { goto NODE_53; } else { if (CONDITION_NB) { ACTION_196 } else { if (CONDITION_WB) { ACTION_196 } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_98 } else { NODE_58: if (CONDITION_WA) { ACTION_98 } else { ACTION_394 } } } else { ACTION_399 } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_191 } else { NODE_59: if (CONDITION_WA) { ACTION_191 } else { ACTION_681 } } } else { ACTION_691 } } else { ACTION_196 } } } else { ACTION_196 } } } } } } else { if (CONDITION_XA) { if (CONDITION_LA) { NODE_60: if (CONDITION_NB) { ACTION_33 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_33 } else { goto NODE_55; } } else { ACTION_33 } } } else { if (CONDITION_UA) { goto NODE_60; } else { if (CONDITION_NB) { ACTION_171 } else { if (CONDITION_WB) { ACTION_204 } else { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_98 } else { if (CONDITION_QB) { goto NODE_58; } else { ACTION_98 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_191 } else { if (CONDITION_TB) { goto NODE_59; } else { ACTION_191 } } } else { if (CONDITION_TB) { ACTION_201 } else { ACTION_33 } } } } } } } } else { ACTION_33 } } } } else { goto NODE_49; } } } } } else { if (CONDITION_UB) { if (CONDITION_OA) { if (CONDITION_PA) { ACTION_6 } else { if (CONDITION_RB) { ACTION_6 } else { if (CONDITION_SA) { if (CONDITION_PB) { if (CONDITION_MA) { ACTION_6 } else { if (CONDITION_VA) { ACTION_6 } else { ACTION_57 } } } else { ACTION_60 } } else { ACTION_6 } } } } else { if (CONDITION_PA) { if (CONDITION_LA) { goto NODE_10; } else { if (CONDITION_UA) { if (CONDITION_NB) { ACTION_7 } else { if (CONDITION_WB) { ACTION_7 } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_7 } else { NODE_61: if (CONDITION_QB) { NODE_62: if (CONDITION_KB) { goto NODE_4; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_7 } else { if (CONDITION_WA) { ACTION_7 } else { ACTION_65 } } } else { ACTION_65 } } } else { ACTION_66 } } } else { if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_62; } else { ACTION_7 } } else { ACTION_7 } } } } } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_RA) { NODE_63: if (CONDITION_NB) { ACTION_7 } else { if (CONDITION_WB) { ACTION_7 } else { NODE_64: if (CONDITION_KB) { if (CONDITION_QB) { NODE_65: if (CONDITION_NA) { ACTION_2 } else { if (CONDITION_WA) { ACTION_2 } else { ACTION_19 } } } else { ACTION_19 } } else { if (CONDITION_TB) { if (CONDITION_QB) { NODE_66: if (CONDITION_NA) { ACTION_7 } else { if (CONDITION_WA) { ACTION_7 } else { ACTION_68 } } } else { ACTION_68 } } else { ACTION_7 } } } } } else { NODE_67: if (CONDITION_NB) { ACTION_49 } else { NODE_68: if (CONDITION_WB) { ACTION_71 } else { NODE_69: if (CONDITION_KB) { NODE_70: if (CONDITION_NA) { ACTION_19 } else { if (CONDITION_QB) { goto NODE_37; } else { ACTION_19 } } } else { if (CONDITION_QB) { NODE_71: if (CONDITION_NA) { ACTION_65 } else { if (CONDITION_TB) { NODE_72: if (CONDITION_WA) { ACTION_65 } else { ACTION_320 } } else { ACTION_65 } } } else { NODE_73: if (CONDITION_TB) { ACTION_68 } else { ACTION_7 } } } } } } } else { if (CONDITION_NB) { ACTION_49 } else { if (CONDITION_WB) { ACTION_71 } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_65 } else { if (CONDITION_WA) { ACTION_65 } else { if (CONDITION_KB) { ACTION_129 } else { if (CONDITION_TB) { ACTION_320 } else { ACTION_65 } } } } } else { if (CONDITION_KB) { if (CONDITION_RA) { ACTION_130 } else { ACTION_19 } } else { if (CONDITION_RA) { NODE_74: if (CONDITION_TB) { ACTION_325 } else { ACTION_66 } } else { goto NODE_73; } } } } } } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_7 } else { ACTION_66 } } else { ACTION_7 } } } } } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_LA) { goto NODE_22; } else { if (CONDITION_UA) { if (CONDITION_NB) { ACTION_9 } else { if (CONDITION_WB) { ACTION_9 } else { if (CONDITION_QB) { if (CONDITION_KB) { goto NODE_23; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_8 } else { if (CONDITION_WA) { ACTION_8 } else { if (CONDITION_PB) { if (CONDITION_SA) { NODE_75: if (CONDITION_MA) { ACTION_7 } else { if (CONDITION_VA) { ACTION_7 } else { ACTION_68 } } } else { ACTION_74 } } else { ACTION_74 } } } } else { if (CONDITION_PB) { if (CONDITION_SA) { NODE_76: if (CONDITION_MA) { ACTION_7 } else { if (CONDITION_VA) { ACTION_7 } else { ACTION_69 } } } else { ACTION_75 } } else { ACTION_75 } } } } else { NODE_77: if (CONDITION_PB) { if (CONDITION_SA) { goto NODE_76; } else { ACTION_80 } } else { ACTION_80 } } } } } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { if (CONDITION_NB) { ACTION_4 } else { if (CONDITION_WB) { ACTION_4 } else { NODE_78: if (CONDITION_XA) { NODE_79: if (CONDITION_KB) { if (CONDITION_QB) { NODE_80: if (CONDITION_NA) { ACTION_2 } else { if (CONDITION_WA) { ACTION_2 } else { ACTION_16 } } } else { ACTION_16 } } else { if (CONDITION_TB) { if (CONDITION_QB) { NODE_81: if (CONDITION_NA) { ACTION_4 } else { if (CONDITION_WA) { ACTION_4 } else { ACTION_44 } } } else { ACTION_44 } } else { ACTION_4 } } } else { ACTION_4 } } } } else { if (CONDITION_VA) { if (CONDITION_NB) { ACTION_7 } else { if (CONDITION_WB) { ACTION_7 } else { NODE_82: if (CONDITION_XA) { goto NODE_64; } else { ACTION_7 } } } } else { if (CONDITION_NB) { ACTION_69 } else { if (CONDITION_WB) { ACTION_69 } else { if (CONDITION_XA) { NODE_83: if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_24 } else { if (CONDITION_WA) { ACTION_24 } else { ACTION_133 } } } else { ACTION_133 } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_69 } else { if (CONDITION_WA) { ACTION_69 } else { ACTION_333 } } } else { ACTION_333 } } else { ACTION_69 } } } else { ACTION_69 } } } } } } else { NODE_84: if (CONDITION_NB) { ACTION_80 } else { if (CONDITION_WB) { ACTION_80 } else { if (CONDITION_XA) { NODE_85: if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_24 } else { NODE_86: if (CONDITION_WA) { ACTION_24 } else { ACTION_139 } } } else { ACTION_144 } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_75 } else { NODE_87: if (CONDITION_WA) { ACTION_75 } else { ACTION_347 } } } else { ACTION_357 } } else { ACTION_80 } } } else { ACTION_80 } } } } } else { goto NODE_84; } } } } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { NODE_88: if (CONDITION_XA) { if (CONDITION_LA) { goto NODE_32; } else { if (CONDITION_UA) { NODE_89: if (CONDITION_NB) { ACTION_4 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_4 } else { NODE_90: if (CONDITION_KB) { goto NODE_4; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_4 } else { if (CONDITION_WA) { ACTION_4 } else { ACTION_41 } } } else { ACTION_41 } } } } else { ACTION_4 } } } else { if (CONDITION_NB) { ACTION_38 } else { NODE_91: if (CONDITION_WB) { ACTION_47 } else { NODE_92: if (CONDITION_KB) { NODE_93: if (CONDITION_NA) { ACTION_16 } else { if (CONDITION_QB) { NODE_94: if (CONDITION_WA) { ACTION_16 } else { ACTION_106 } } else { ACTION_16 } } } else { if (CONDITION_QB) { NODE_95: if (CONDITION_NA) { ACTION_41 } else { if (CONDITION_TB) { NODE_96: if (CONDITION_WA) { ACTION_41 } else { ACTION_236 } } else { ACTION_41 } } } else { if (CONDITION_TB) { ACTION_44 } else { ACTION_4 } } } } } } } } else { ACTION_4 } } else { if (CONDITION_VA) { NODE_97: if (CONDITION_XA) { if (CONDITION_LA) { goto NODE_32; } else { if (CONDITION_UA) { NODE_98: if (CONDITION_NB) { ACTION_7 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_7 } else { goto NODE_62; } } else { ACTION_7 } } } else { goto NODE_67; } } } else { ACTION_7 } } else { NODE_99: if (CONDITION_XA) { if (CONDITION_LA) { goto NODE_34; } else { if (CONDITION_UA) { NODE_100: if (CONDITION_NB) { ACTION_69 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_65 } else { NODE_101: if (CONDITION_KB) { goto NODE_36; } else { if (CONDITION_TB) { NODE_102: if (CONDITION_NA) { ACTION_65 } else { goto NODE_72; } } else { ACTION_321 } } } } else { ACTION_69 } } } else { if (CONDITION_NB) { ACTION_266 } else { if (CONDITION_WB) { ACTION_337 } else { if (CONDITION_KB) { NODE_103: if (CONDITION_NA) { ACTION_133 } else { if (CONDITION_QB) { NODE_104: if (CONDITION_WA) { ACTION_133 } else { ACTION_511 } } else { ACTION_133 } } } else { if (CONDITION_QB) { NODE_105: if (CONDITION_NA) { ACTION_321 } else { if (CONDITION_TB) { NODE_106: if (CONDITION_WA) { ACTION_321 } else { ACTION_953 } } else { ACTION_321 } } } else { if (CONDITION_TB) { ACTION_333 } else { ACTION_69 } } } } } } } } else { ACTION_69 } } } } else { NODE_107: if (CONDITION_XA) { if (CONDITION_LA) { goto NODE_43; } else { if (CONDITION_UA) { NODE_108: if (CONDITION_NB) { ACTION_80 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_72 } else { NODE_109: if (CONDITION_KB) { goto NODE_45; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_72 } else { NODE_110: if (CONDITION_WA) { ACTION_72 } else { ACTION_339 } } } else { ACTION_340 } } } } else { ACTION_80 } } } else { if (CONDITION_NB) { ACTION_277 } else { if (CONDITION_WB) { ACTION_361 } else { if (CONDITION_KB) { NODE_111: if (CONDITION_NA) { ACTION_144 } else { if (CONDITION_QB) { if (CONDITION_WA) { ACTION_144 } else { ACTION_530 } } else { ACTION_144 } } } else { if (CONDITION_QB) { NODE_112: if (CONDITION_NA) { ACTION_340 } else { if (CONDITION_TB) { if (CONDITION_WA) { ACTION_340 } else { ACTION_978 } } else { ACTION_340 } } } else { if (CONDITION_TB) { ACTION_357 } else { ACTION_80 } } } } } } } } else { ACTION_80 } } } else { goto NODE_107; } } } else { if (CONDITION_SA) { if (CONDITION_PB) { if (CONDITION_MA) { if (CONDITION_RA) { if (CONDITION_LA) { goto NODE_50; } else { if (CONDITION_UA) { if (CONDITION_NB) { ACTION_4 } else { if (CONDITION_WB) { ACTION_4 } else { if (CONDITION_QB) { goto NODE_90; } else { ACTION_42 } } } } else { if (CONDITION_NB) { ACTION_42 } else { if (CONDITION_WB) { ACTION_42 } else { NODE_113: if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { NODE_114: if (CONDITION_NA) { ACTION_16 } else { goto NODE_94; } } else { ACTION_107 } } else { if (CONDITION_TB) { if (CONDITION_QB) { NODE_115: if (CONDITION_NA) { ACTION_41 } else { goto NODE_96; } } else { ACTION_241 } } else { ACTION_42 } } } else { ACTION_42 } } } } } } else { goto NODE_88; } } else { if (CONDITION_VA) { if (CONDITION_RA) { if (CONDITION_LA) { goto NODE_50; } else { if (CONDITION_UA) { if (CONDITION_NB) { ACTION_7 } else { if (CONDITION_WB) { ACTION_7 } else { goto NODE_61; } } } else { if (CONDITION_NB) { ACTION_66 } else { if (CONDITION_WB) { ACTION_66 } else { NODE_116: if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { goto NODE_36; } else { ACTION_130 } } else { if (CONDITION_TB) { if (CONDITION_QB) { goto NODE_102; } else { ACTION_325 } } else { ACTION_66 } } } else { ACTION_66 } } } } } } else { goto NODE_97; } } else { if (CONDITION_RA) { if (CONDITION_LA) { goto NODE_51; } else { if (CONDITION_UA) { if (CONDITION_NB) { ACTION_66 } else { if (CONDITION_WB) { ACTION_66 } else { NODE_117: if (CONDITION_QB) { goto NODE_101; } else { ACTION_326 } } } } else { if (CONDITION_NB) { ACTION_326 } else { if (CONDITION_WB) { ACTION_326 } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_133 } else { goto NODE_104; } } else { ACTION_516 } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_321 } else { goto NODE_106; } } else { ACTION_963 } } else { ACTION_326 } } } else { ACTION_326 } } } } } } else { goto NODE_99; } } } } else { if (CONDITION_RA) { if (CONDITION_LA) { goto NODE_53; } else { if (CONDITION_UA) { if (CONDITION_NB) { ACTION_78 } else { if (CONDITION_WB) { ACTION_78 } else { NODE_118: if (CONDITION_QB) { NODE_119: if (CONDITION_KB) { goto NODE_56; } else { if (CONDITION_TB) { NODE_120: if (CONDITION_NA) { ACTION_73 } else { NODE_121: if (CONDITION_WA) { ACTION_73 } else { ACTION_343 } } } else { ACTION_344 } } } else { ACTION_354 } } } } else { if (CONDITION_NB) { ACTION_354 } else { if (CONDITION_WB) { ACTION_354 } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_148 } else { NODE_122: if (CONDITION_WA) { ACTION_148 } else { ACTION_534 } } } else { ACTION_544 } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_344 } else { NODE_123: if (CONDITION_WA) { ACTION_344 } else { ACTION_984 } } } else { ACTION_993 } } else { ACTION_354 } } } else { ACTION_354 } } } } } } else { if (CONDITION_XA) { if (CONDITION_LA) { goto NODE_60; } else { if (CONDITION_UA) { if (CONDITION_NB) { ACTION_84 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_73 } else { goto NODE_119; } } else { ACTION_84 } } } else { if (CONDITION_NB) { ACTION_281 } else { if (CONDITION_WB) { ACTION_367 } else { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_148 } else { if (CONDITION_QB) { goto NODE_122; } else { ACTION_148 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_344 } else { if (CONDITION_TB) { goto NODE_123; } else { ACTION_344 } } } else { if (CONDITION_TB) { ACTION_363 } else { ACTION_84 } } } } } } } } else { ACTION_84 } } } } else { if (CONDITION_RA) { if (CONDITION_LA) { goto NODE_50; } else { if (CONDITION_UA) { if (CONDITION_NB) { ACTION_9 } else { if (CONDITION_WB) { ACTION_9 } else { NODE_124: if (CONDITION_QB) { NODE_125: if (CONDITION_KB) { goto NODE_4; } else { if (CONDITION_TB) { NODE_126: if (CONDITION_NA) { ACTION_8 } else { NODE_127: if (CONDITION_WA) { ACTION_8 } else { ACTION_74 } } } else { ACTION_75 } } } else { ACTION_80 } } } } else { goto NODE_84; } } } else { if (CONDITION_XA) { if (CONDITION_LA) { goto NODE_32; } else { if (CONDITION_UA) { if (CONDITION_NB) { ACTION_12 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_8 } else { goto NODE_125; } } else { ACTION_12 } } } else { NODE_128: if (CONDITION_NB) { ACTION_54 } else { if (CONDITION_WB) { ACTION_91 } else { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_24 } else { if (CONDITION_QB) { goto NODE_86; } else { ACTION_24 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_75 } else { if (CONDITION_TB) { goto NODE_87; } else { ACTION_75 } } } else { if (CONDITION_TB) { ACTION_87 } else { ACTION_12 } } } } } } } } else { ACTION_12 } } } } } } } else { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_OA) { ACTION_7 } else { if (CONDITION_RA) { NODE_129: if (CONDITION_NB) { ACTION_7 } else { if (CONDITION_WB) { ACTION_7 } else { if (CONDITION_LA) { NODE_130: if (CONDITION_QB) { if (CONDITION_KB) { goto NODE_65; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_3 } else { if (CONDITION_WA) { ACTION_3 } else { ACTION_30 } } } else { ACTION_30 } } } else { ACTION_30 } } else { if (CONDITION_UA) { NODE_131: if (CONDITION_QB) { if (CONDITION_KB) { goto NODE_65; } else { if (CONDITION_TB) { goto NODE_66; } else { ACTION_69 } } } else { ACTION_69 } } else { goto NODE_82; } } } } } else { NODE_132: if (CONDITION_NB) { if (CONDITION_LA) { ACTION_49 } else { NODE_133: if (CONDITION_UA) { ACTION_49 } else { if (CONDITION_XA) { ACTION_49 } else { ACTION_7 } } } } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_30 } else { NODE_134: if (CONDITION_XA) { goto NODE_35; } else { ACTION_30 } } } else { ACTION_30 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_69 } else { NODE_135: if (CONDITION_XA) { goto NODE_101; } else { ACTION_69 } } } else { ACTION_69 } } else { if (CONDITION_XA) { goto NODE_68; } else { ACTION_7 } } } } } } } else { if (CONDITION_MA) { if (CONDITION_OA) { if (CONDITION_PB) { if (CONDITION_SA) { ACTION_4 } else { ACTION_39 } } else { ACTION_39 } } else { if (CONDITION_RA) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_NB) { ACTION_4 } else { if (CONDITION_WB) { ACTION_4 } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_KB) { goto NODE_80; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_3 } else { if (CONDITION_WA) { ACTION_3 } else { ACTION_27 } } } else { ACTION_27 } } } else { ACTION_27 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_KB) { goto NODE_80; } else { if (CONDITION_TB) { goto NODE_81; } else { ACTION_45 } } } else { ACTION_45 } } else { goto NODE_78; } } } } } else { NODE_136: if (CONDITION_NB) { ACTION_42 } else { if (CONDITION_WB) { ACTION_42 } else { NODE_137: if (CONDITION_LA) { if (CONDITION_QB) { NODE_138: if (CONDITION_KB) { goto NODE_114; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_27 } else { if (CONDITION_WA) { ACTION_27 } else { ACTION_160 } } } else { ACTION_160 } } } else { ACTION_161 } } else { if (CONDITION_UA) { if (CONDITION_QB) { NODE_139: if (CONDITION_KB) { goto NODE_114; } else { if (CONDITION_TB) { goto NODE_115; } else { ACTION_237 } } } else { ACTION_242 } } else { goto NODE_113; } } } } } } else { goto NODE_136; } } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_NB) { if (CONDITION_LA) { ACTION_38 } else { NODE_140: if (CONDITION_UA) { ACTION_38 } else { if (CONDITION_XA) { ACTION_38 } else { ACTION_4 } } } } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_27 } else { NODE_141: if (CONDITION_XA) { goto NODE_138; } else { ACTION_27 } } } else { ACTION_27 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_45 } else { NODE_142: if (CONDITION_XA) { goto NODE_139; } else { ACTION_45 } } } else { ACTION_45 } } else { if (CONDITION_XA) { goto NODE_91; } else { ACTION_4 } } } } } else { NODE_143: if (CONDITION_NB) { if (CONDITION_LA) { ACTION_214 } else { if (CONDITION_UA) { ACTION_214 } else { if (CONDITION_XA) { ACTION_214 } else { ACTION_42 } } } } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_161 } else { if (CONDITION_XA) { if (CONDITION_KB) { NODE_144: if (CONDITION_NA) { ACTION_107 } else { NODE_145: if (CONDITION_WA) { ACTION_107 } else { ACTION_435 } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_161 } else { if (CONDITION_WA) { ACTION_161 } else { ACTION_583 } } } else { ACTION_583 } } } else { ACTION_161 } } } else { ACTION_161 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_242 } else { if (CONDITION_XA) { if (CONDITION_KB) { goto NODE_144; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_234 } else { NODE_146: if (CONDITION_WA) { ACTION_234 } else { ACTION_783 } } } else { ACTION_784 } } } else { ACTION_242 } } } else { ACTION_242 } } else { if (CONDITION_XA) { if (CONDITION_WB) { ACTION_244 } else { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_107 } else { if (CONDITION_QB) { goto NODE_145; } else { ACTION_107 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_234 } else { if (CONDITION_TB) { goto NODE_146; } else { ACTION_234 } } } else { if (CONDITION_TB) { ACTION_241 } else { ACTION_42 } } } } } else { ACTION_42 } } } } } } else { goto NODE_143; } } } } else { if (CONDITION_VA) { if (CONDITION_OA) { if (CONDITION_PB) { if (CONDITION_SA) { ACTION_6 } else { ACTION_57 } } else { ACTION_63 } } else { if (CONDITION_RA) { if (CONDITION_PB) { if (CONDITION_SA) { goto NODE_129; } else { if (CONDITION_NB) { ACTION_66 } else { if (CONDITION_WB) { ACTION_66 } else { NODE_147: if (CONDITION_LA) { goto NODE_52; } else { if (CONDITION_UA) { goto NODE_117; } else { goto NODE_116; } } } } } } else { if (CONDITION_NB) { ACTION_81 } else { if (CONDITION_WB) { ACTION_81 } else { NODE_148: if (CONDITION_LA) { if (CONDITION_QB) { NODE_149: if (CONDITION_KB) { NODE_150: if (CONDITION_NA) { ACTION_25 } else { NODE_151: if (CONDITION_WA) { ACTION_25 } else { ACTION_140 } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_36 } else { if (CONDITION_WA) { ACTION_36 } else { ACTION_194 } } } else { ACTION_194 } } } else { ACTION_199 } } else { if (CONDITION_UA) { if (CONDITION_QB) { NODE_152: if (CONDITION_KB) { goto NODE_150; } else { if (CONDITION_TB) { NODE_153: if (CONDITION_NA) { ACTION_76 } else { NODE_154: if (CONDITION_WA) { ACTION_76 } else { ACTION_348 } } } else { ACTION_350 } } } else { ACTION_360 } } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { goto NODE_150; } else { ACTION_145 } } else { if (CONDITION_TB) { if (CONDITION_QB) { goto NODE_153; } else { ACTION_358 } } else { ACTION_81 } } } else { ACTION_81 } } } } } } } else { if (CONDITION_PB) { if (CONDITION_SA) { goto NODE_132; } else { if (CONDITION_NB) { if (CONDITION_LA) { ACTION_263 } else { if (CONDITION_UA) { ACTION_263 } else { if (CONDITION_XA) { ACTION_263 } else { ACTION_66 } } } } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_184 } else { if (CONDITION_XA) { if (CONDITION_KB) { NODE_155: if (CONDITION_NA) { ACTION_130 } else { NODE_156: if (CONDITION_WA) { ACTION_130 } else { ACTION_508 } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_184 } else { if (CONDITION_WA) { ACTION_184 } else { ACTION_656 } } } else { ACTION_656 } } } else { ACTION_184 } } } else { ACTION_184 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_326 } else { if (CONDITION_XA) { if (CONDITION_KB) { goto NODE_155; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_318 } else { NODE_157: if (CONDITION_WA) { ACTION_318 } else { ACTION_945 } } } else { ACTION_946 } } } else { ACTION_326 } } } else { ACTION_326 } } else { if (CONDITION_XA) { if (CONDITION_WB) { ACTION_328 } else { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_130 } else { if (CONDITION_QB) { goto NODE_156; } else { ACTION_130 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_318 } else { if (CONDITION_TB) { goto NODE_157; } else { ACTION_318 } } } else { goto NODE_74; } } } } else { ACTION_66 } } } } } } else { if (CONDITION_NB) { if (CONDITION_LA) { ACTION_278 } else { if (CONDITION_UA) { ACTION_278 } else { if (CONDITION_XA) { ACTION_278 } else { ACTION_81 } } } } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_199 } else { if (CONDITION_XA) { if (CONDITION_KB) { NODE_158: if (CONDITION_NA) { ACTION_145 } else { NODE_159: if (CONDITION_WA) { ACTION_145 } else { ACTION_531 } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_199 } else { if (CONDITION_WA) { ACTION_199 } else { ACTION_679 } } } else { ACTION_679 } } } else { ACTION_199 } } } else { ACTION_199 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_360 } else { if (CONDITION_XA) { if (CONDITION_KB) { goto NODE_158; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_341 } else { NODE_160: if (CONDITION_WA) { ACTION_341 } else { ACTION_979 } } } else { ACTION_981 } } } else { ACTION_360 } } } else { ACTION_360 } } else { if (CONDITION_XA) { if (CONDITION_WB) { ACTION_362 } else { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_145 } else { if (CONDITION_QB) { goto NODE_159; } else { ACTION_145 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_341 } else { if (CONDITION_TB) { goto NODE_160; } else { ACTION_341 } } } else { if (CONDITION_TB) { ACTION_358 } else { ACTION_81 } } } } } else { ACTION_81 } } } } } } } } else { if (CONDITION_OA) { ACTION_9 } else { if (CONDITION_RA) { if (CONDITION_NB) { ACTION_9 } else { if (CONDITION_WB) { ACTION_9 } else { NODE_161: if (CONDITION_LA) { goto NODE_11; } else { if (CONDITION_UA) { goto NODE_124; } else { if (CONDITION_XA) { NODE_162: if (CONDITION_KB) { if (CONDITION_QB) { goto NODE_4; } else { ACTION_21 } } else { if (CONDITION_TB) { if (CONDITION_QB) { goto NODE_126; } else { ACTION_79 } } else { ACTION_9 } } } else { ACTION_9 } } } } } } else { if (CONDITION_NB) { if (CONDITION_LA) { ACTION_51 } else { if (CONDITION_UA) { ACTION_51 } else { if (CONDITION_XA) { ACTION_51 } else { ACTION_9 } } } } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_32 } else { if (CONDITION_XA) { goto NODE_44; } else { ACTION_32 } } } else { ACTION_32 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_80 } else { if (CONDITION_XA) { goto NODE_109; } else { ACTION_80 } } } else { ACTION_80 } } else { if (CONDITION_XA) { NODE_163: if (CONDITION_WB) { ACTION_82 } else { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_21 } else { if (CONDITION_QB) { goto NODE_46; } else { ACTION_21 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_72 } else { if (CONDITION_TB) { goto NODE_110; } else { ACTION_72 } } } else { if (CONDITION_TB) { ACTION_79 } else { ACTION_9 } } } } } else { ACTION_9 } } } } } } } } } } else { if (CONDITION_PA) { if (CONDITION_NB) { NODE_164: if (CONDITION_LA) { ACTION_49 } else { if (CONDITION_OA) { ACTION_49 } else { if (CONDITION_RA) { ACTION_49 } else { goto NODE_133; } } } } else { if (CONDITION_WB) { NODE_165: if (CONDITION_LA) { ACTION_71 } else { if (CONDITION_OA) { ACTION_71 } else { if (CONDITION_RA) { ACTION_71 } else { if (CONDITION_UA) { ACTION_71 } else { if (CONDITION_XA) { ACTION_71 } else { ACTION_7 } } } } } } else { if (CONDITION_OA) { ACTION_57 } else { if (CONDITION_RA) { goto NODE_147; } else { if (CONDITION_LA) { NODE_166: if (CONDITION_QB) { goto NODE_134; } else { ACTION_30 } } else { if (CONDITION_UA) { NODE_167: if (CONDITION_QB) { goto NODE_135; } else { ACTION_69 } } else { if (CONDITION_XA) { goto NODE_69; } else { ACTION_7 } } } } } } } } else { if (CONDITION_PB) { if (CONDITION_NB) { if (CONDITION_MA) { NODE_168: if (CONDITION_LA) { ACTION_38 } else { if (CONDITION_OA) { ACTION_38 } else { if (CONDITION_RA) { ACTION_38 } else { goto NODE_140; } } } } else { if (CONDITION_SA) { goto NODE_164; } else { if (CONDITION_VA) { goto NODE_164; } else { NODE_169: if (CONDITION_LA) { ACTION_5 } else { if (CONDITION_OA) { ACTION_5 } else { if (CONDITION_RA) { ACTION_5 } else { if (CONDITION_UA) { ACTION_5 } else { if (CONDITION_XA) { ACTION_5 } else { ACTION_1 } } } } } } } } } else { if (CONDITION_WB) { if (CONDITION_MA) { NODE_170: if (CONDITION_LA) { ACTION_47 } else { if (CONDITION_OA) { ACTION_47 } else { if (CONDITION_RA) { ACTION_47 } else { if (CONDITION_UA) { ACTION_47 } else { if (CONDITION_XA) { ACTION_47 } else { ACTION_4 } } } } } } else { if (CONDITION_SA) { goto NODE_165; } else { if (CONDITION_VA) { goto NODE_165; } else { NODE_171: if (CONDITION_LA) { ACTION_14 } else { if (CONDITION_OA) { ACTION_14 } else { if (CONDITION_RA) { ACTION_14 } else { if (CONDITION_UA) { ACTION_14 } else { if (CONDITION_XA) { ACTION_14 } else { ACTION_1 } } } } } } } } } else { if (CONDITION_OA) { if (CONDITION_MA) { ACTION_57 } else { if (CONDITION_SA) { ACTION_57 } else { if (CONDITION_VA) { ACTION_57 } else { ACTION_6 } } } } else { if (CONDITION_RA) { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_MA) { goto NODE_138; } else { if (CONDITION_SA) { goto NODE_35; } else { if (CONDITION_VA) { goto NODE_35; } else { goto NODE_3; } } } } else { if (CONDITION_MA) { ACTION_184 } else { if (CONDITION_SA) { ACTION_184 } else { if (CONDITION_VA) { ACTION_184 } else { ACTION_32 } } } } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_MA) { goto NODE_139; } else { if (CONDITION_SA) { goto NODE_101; } else { if (CONDITION_VA) { goto NODE_101; } else { goto NODE_125; } } } } else { if (CONDITION_MA) { ACTION_326 } else { if (CONDITION_SA) { ACTION_326 } else { if (CONDITION_VA) { ACTION_326 } else { ACTION_80 } } } } } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { if (CONDITION_NA) { NODE_172: if (CONDITION_MA) { ACTION_19 } else { if (CONDITION_SA) { ACTION_19 } else { if (CONDITION_VA) { ACTION_19 } else { ACTION_2 } } } } else { if (CONDITION_WA) { goto NODE_172; } else { if (CONDITION_MA) { ACTION_129 } else { if (CONDITION_SA) { ACTION_129 } else { if (CONDITION_VA) { ACTION_129 } else { ACTION_20 } } } } } } else { if (CONDITION_MA) { ACTION_130 } else { if (CONDITION_SA) { ACTION_130 } else { if (CONDITION_VA) { ACTION_130 } else { ACTION_21 } } } } } else { if (CONDITION_TB) { if (CONDITION_QB) { if (CONDITION_NA) { if (CONDITION_MA) { ACTION_49 } else { if (CONDITION_SA) { ACTION_49 } else { if (CONDITION_VA) { ACTION_49 } else { ACTION_5 } } } } else { if (CONDITION_WA) { if (CONDITION_MA) { ACTION_65 } else { if (CONDITION_SA) { ACTION_65 } else { if (CONDITION_VA) { ACTION_65 } else { ACTION_8 } } } } else { if (CONDITION_MA) { ACTION_320 } else { if (CONDITION_SA) { ACTION_320 } else { if (CONDITION_VA) { ACTION_320 } else { ACTION_74 } } } } } } else { if (CONDITION_MA) { ACTION_325 } else { if (CONDITION_SA) { ACTION_325 } else { if (CONDITION_VA) { ACTION_325 } else { ACTION_79 } } } } } else { NODE_173: if (CONDITION_MA) { ACTION_66 } else { if (CONDITION_SA) { ACTION_66 } else { if (CONDITION_VA) { ACTION_66 } else { ACTION_9 } } } } } } else { goto NODE_173; } } } } else { if (CONDITION_LA) { if (CONDITION_MA) { NODE_174: if (CONDITION_QB) { goto NODE_141; } else { ACTION_27 } } else { if (CONDITION_SA) { goto NODE_166; } else { if (CONDITION_VA) { goto NODE_166; } else { goto NODE_12; } } } } else { if (CONDITION_UA) { if (CONDITION_MA) { NODE_175: if (CONDITION_QB) { goto NODE_142; } else { ACTION_45 } } else { if (CONDITION_SA) { goto NODE_167; } else { if (CONDITION_VA) { goto NODE_167; } else { NODE_176: if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_125; } else { ACTION_12 } } else { ACTION_12 } } } } } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_MA) { goto NODE_93; } else { if (CONDITION_SA) { goto NODE_70; } else { if (CONDITION_VA) { goto NODE_70; } else { NODE_177: if (CONDITION_NA) { ACTION_2 } else { if (CONDITION_QB) { goto NODE_5; } else { ACTION_2 } } } } } } else { if (CONDITION_QB) { if (CONDITION_MA) { goto NODE_95; } else { if (CONDITION_SA) { goto NODE_71; } else { if (CONDITION_VA) { goto NODE_71; } else { NODE_178: if (CONDITION_NA) { ACTION_8 } else { if (CONDITION_TB) { goto NODE_127; } else { ACTION_8 } } } } } } else { if (CONDITION_TB) { if (CONDITION_MA) { ACTION_68 } else { if (CONDITION_SA) { ACTION_68 } else { if (CONDITION_VA) { ACTION_68 } else { ACTION_11 } } } } else { NODE_179: if (CONDITION_MA) { ACTION_7 } else { if (CONDITION_SA) { ACTION_7 } else { if (CONDITION_VA) { ACTION_7 } else { ACTION_1 } } } } } } } else { goto NODE_179; } } } } } } } } else { if (CONDITION_MA) { if (CONDITION_SA) { if (CONDITION_NB) { if (CONDITION_LA) { ACTION_215 } else { if (CONDITION_OA) { ACTION_215 } else { if (CONDITION_RA) { ACTION_215 } else { if (CONDITION_UA) { ACTION_215 } else { if (CONDITION_XA) { ACTION_215 } else { ACTION_43 } } } } } } else { if (CONDITION_WB) { if (CONDITION_LA) { ACTION_248 } else { if (CONDITION_OA) { ACTION_248 } else { if (CONDITION_RA) { ACTION_248 } else { if (CONDITION_UA) { ACTION_248 } else { if (CONDITION_XA) { ACTION_248 } else { ACTION_43 } } } } } } else { if (CONDITION_OA) { ACTION_223 } else { if (CONDITION_RA) { if (CONDITION_LA) { if (CONDITION_QB) { NODE_180: if (CONDITION_KB) { NODE_181: if (CONDITION_NA) { ACTION_108 } else { NODE_182: if (CONDITION_WA) { ACTION_108 } else { ACTION_436 } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_162 } else { if (CONDITION_WA) { ACTION_162 } else { ACTION_584 } } } else { ACTION_584 } } } else { ACTION_589 } } else { if (CONDITION_UA) { if (CONDITION_QB) { NODE_183: if (CONDITION_KB) { goto NODE_181; } else { if (CONDITION_TB) { NODE_184: if (CONDITION_NA) { ACTION_235 } else { NODE_185: if (CONDITION_WA) { ACTION_235 } else { ACTION_787 } } } else { ACTION_788 } } } else { ACTION_798 } } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { goto NODE_181; } else { ACTION_441 } } else { if (CONDITION_TB) { if (CONDITION_QB) { goto NODE_184; } else { ACTION_797 } } else { ACTION_240 } } } else { ACTION_240 } } } } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_180; } else { ACTION_162 } } else { ACTION_162 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_183; } else { ACTION_246 } } else { ACTION_246 } } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_108 } else { if (CONDITION_QB) { goto NODE_182; } else { ACTION_108 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_235 } else { if (CONDITION_TB) { goto NODE_185; } else { ACTION_235 } } } else { if (CONDITION_TB) { ACTION_245 } else { ACTION_43 } } } } else { ACTION_43 } } } } } } } } else { if (CONDITION_NB) { goto NODE_168; } else { if (CONDITION_WB) { goto NODE_170; } else { if (CONDITION_OA) { ACTION_39 } else { if (CONDITION_RA) { goto NODE_137; } else { if (CONDITION_LA) { goto NODE_174; } else { if (CONDITION_UA) { goto NODE_175; } else { if (CONDITION_XA) { goto NODE_92; } else { ACTION_4 } } } } } } } } } else { if (CONDITION_SA) { if (CONDITION_VA) { if (CONDITION_NB) { if (CONDITION_LA) { ACTION_282 } else { if (CONDITION_OA) { ACTION_282 } else { if (CONDITION_RA) { ACTION_282 } else { if (CONDITION_UA) { ACTION_282 } else { if (CONDITION_XA) { ACTION_282 } else { ACTION_85 } } } } } } else { if (CONDITION_WB) { if (CONDITION_LA) { ACTION_368 } else { if (CONDITION_OA) { ACTION_368 } else { if (CONDITION_RA) { ACTION_368 } else { if (CONDITION_UA) { ACTION_368 } else { if (CONDITION_XA) { ACTION_368 } else { ACTION_85 } } } } } } else { if (CONDITION_OA) { ACTION_310 } else { if (CONDITION_RA) { if (CONDITION_LA) { if (CONDITION_QB) { NODE_186: if (CONDITION_KB) { NODE_187: if (CONDITION_NA) { ACTION_149 } else { NODE_188: if (CONDITION_WA) { ACTION_149 } else { ACTION_535 } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_203 } else { if (CONDITION_WA) { ACTION_203 } else { ACTION_683 } } } else { ACTION_683 } } } else { ACTION_693 } } else { if (CONDITION_UA) { if (CONDITION_QB) { NODE_189: if (CONDITION_KB) { goto NODE_187; } else { if (CONDITION_TB) { NODE_190: if (CONDITION_NA) { ACTION_345 } else { NODE_191: if (CONDITION_WA) { ACTION_345 } else { ACTION_985 } } } else { ACTION_987 } } } else { ACTION_996 } } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { goto NODE_187; } else { ACTION_545 } } else { if (CONDITION_TB) { if (CONDITION_QB) { goto NODE_190; } else { ACTION_994 } } else { ACTION_355 } } } else { ACTION_355 } } } } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_186; } else { ACTION_203 } } else { ACTION_203 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_189; } else { ACTION_366 } } else { ACTION_366 } } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_149 } else { if (CONDITION_QB) { goto NODE_188; } else { ACTION_149 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_345 } else { if (CONDITION_TB) { goto NODE_191; } else { ACTION_345 } } } else { if (CONDITION_TB) { ACTION_364 } else { ACTION_85 } } } } else { ACTION_85 } } } } } } } } else { if (CONDITION_NB) { if (CONDITION_LA) { ACTION_52 } else { if (CONDITION_OA) { ACTION_52 } else { if (CONDITION_RA) { ACTION_52 } else { if (CONDITION_UA) { ACTION_52 } else { if (CONDITION_XA) { ACTION_52 } else { ACTION_10 } } } } } } else { if (CONDITION_WB) { if (CONDITION_LA) { ACTION_86 } else { if (CONDITION_OA) { ACTION_86 } else { if (CONDITION_RA) { ACTION_86 } else { if (CONDITION_UA) { ACTION_86 } else { if (CONDITION_XA) { ACTION_86 } else { ACTION_10 } } } } } } else { if (CONDITION_OA) { ACTION_60 } else { if (CONDITION_RA) { if (CONDITION_LA) { goto NODE_54; } else { if (CONDITION_UA) { goto NODE_118; } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_QB) { goto NODE_56; } else { ACTION_142 } } else { if (CONDITION_TB) { if (CONDITION_QB) { goto NODE_120; } else { ACTION_353 } } else { ACTION_78 } } } else { ACTION_78 } } } } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_55; } else { ACTION_33 } } else { ACTION_33 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_119; } else { ACTION_84 } } else { ACTION_84 } } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_22 } else { if (CONDITION_QB) { goto NODE_57; } else { ACTION_22 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_73 } else { if (CONDITION_TB) { goto NODE_121; } else { ACTION_73 } } } else { if (CONDITION_TB) { ACTION_83 } else { ACTION_10 } } } } else { ACTION_10 } } } } } } } } } else { if (CONDITION_VA) { if (CONDITION_NB) { if (CONDITION_LA) { ACTION_55 } else { if (CONDITION_OA) { ACTION_55 } else { if (CONDITION_RA) { ACTION_55 } else { if (CONDITION_UA) { ACTION_55 } else { if (CONDITION_XA) { ACTION_55 } else { ACTION_13 } } } } } } else { if (CONDITION_WB) { if (CONDITION_LA) { ACTION_92 } else { if (CONDITION_OA) { ACTION_92 } else { if (CONDITION_RA) { ACTION_92 } else { if (CONDITION_UA) { ACTION_92 } else { if (CONDITION_XA) { ACTION_92 } else { ACTION_13 } } } } } } else { if (CONDITION_OA) { ACTION_63 } else { if (CONDITION_RA) { goto NODE_148; } else { if (CONDITION_LA) { if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_149; } else { ACTION_36 } } else { ACTION_36 } } else { if (CONDITION_UA) { if (CONDITION_QB) { if (CONDITION_XA) { goto NODE_152; } else { ACTION_90 } } else { ACTION_90 } } else { if (CONDITION_XA) { if (CONDITION_KB) { if (CONDITION_NA) { ACTION_25 } else { if (CONDITION_QB) { goto NODE_151; } else { ACTION_25 } } } else { if (CONDITION_QB) { if (CONDITION_NA) { ACTION_76 } else { if (CONDITION_TB) { goto NODE_154; } else { ACTION_76 } } } else { if (CONDITION_TB) { ACTION_88 } else { ACTION_13 } } } } else { ACTION_13 } } } } } } } } else { if (CONDITION_NB) { goto NODE_169; } else { if (CONDITION_WB) { goto NODE_171; } else { if (CONDITION_OA) { ACTION_6 } else { if (CONDITION_RA) { goto NODE_161; } else { if (CONDITION_LA) { goto NODE_12; } else { if (CONDITION_UA) { goto NODE_176; } else { if (CONDITION_XA) { NODE_192: if (CONDITION_KB) { goto NODE_177; } else { if (CONDITION_QB) { goto NODE_178; } else { if (CONDITION_TB) { ACTION_11 } else { ACTION_1 } } } } else { ACTION_1 } } } } } } } } } } } } } } } } } else { if (CONDITION_XA) { if (CONDITION_OA) { ACTION_6 } else { if (CONDITION_LA) { if (CONDITION_OB) { goto NODE_1; } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { if (CONDITION_PA) { if (CONDITION_LB) { ACTION_3 } else { if (CONDITION_UB) { ACTION_3 } else { goto NODE_130; } } } else { if (CONDITION_QB) { if (CONDITION_KB) { NODE_193: if (CONDITION_NA) { ACTION_2 } else { if (CONDITION_WA) { ACTION_2 } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_LB) { goto NODE_24; } else { if (CONDITION_UB) { goto NODE_24; } else { ACTION_19 } } } else { ACTION_20 } } else { ACTION_20 } } } } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_3 } else { if (CONDITION_WA) { ACTION_3 } else { NODE_194: if (CONDITION_PB) { if (CONDITION_SA) { NODE_195: if (CONDITION_LB) { goto NODE_9; } else { if (CONDITION_UB) { goto NODE_9; } else { ACTION_30 } } } else { ACTION_31 } } else { ACTION_31 } } } } else { goto NODE_194; } } } else { if (CONDITION_PB) { if (CONDITION_SA) { goto NODE_195; } else { ACTION_32 } } else { ACTION_32 } } } } } } else { if (CONDITION_PA) { if (CONDITION_LB) { goto NODE_32; } else { if (CONDITION_UB) { goto NODE_32; } else { goto NODE_34; } } } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_LB) { NODE_196: if (CONDITION_MA) { goto NODE_32; } else { if (CONDITION_VA) { goto NODE_32; } else { goto NODE_34; } } } else { if (CONDITION_UB) { goto NODE_196; } else { goto NODE_34; } } } else { goto NODE_43; } } else { goto NODE_43; } } } } else { if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { if (CONDITION_RA) { goto NODE_11; } else { if (CONDITION_QB) { goto NODE_3; } else { ACTION_3 } } } } } } } else { if (CONDITION_UA) { if (CONDITION_OB) { goto NODE_6; } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_NB) { ACTION_9 } else { if (CONDITION_WB) { ACTION_9 } else { if (CONDITION_PA) { if (CONDITION_LB) { ACTION_7 } else { if (CONDITION_UB) { ACTION_7 } else { goto NODE_131; } } } else { if (CONDITION_QB) { if (CONDITION_KB) { goto NODE_193; } else { if (CONDITION_TB) { if (CONDITION_NA) { ACTION_8 } else { if (CONDITION_WA) { ACTION_8 } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_LB) { goto NODE_9; } else { if (CONDITION_UB) { goto NODE_75; } else { ACTION_68 } } } else { ACTION_74 } } else { ACTION_74 } } } } else { if (CONDITION_PB) { if (CONDITION_SA) { NODE_197: if (CONDITION_LB) { goto NODE_9; } else { if (CONDITION_UB) { goto NODE_76; } else { ACTION_69 } } } else { ACTION_75 } } else { ACTION_75 } } } } else { if (CONDITION_PB) { if (CONDITION_SA) { goto NODE_197; } else { ACTION_80 } } else { ACTION_80 } } } } } } else { if (CONDITION_PA) { if (CONDITION_LB) { goto NODE_32; } else { if (CONDITION_UB) { goto NODE_98; } else { goto NODE_100; } } } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_LB) { goto NODE_196; } else { if (CONDITION_UB) { if (CONDITION_MA) { goto NODE_89; } else { if (CONDITION_VA) { goto NODE_98; } else { goto NODE_100; } } } else { goto NODE_100; } } } else { goto NODE_108; } } else { goto NODE_108; } } } } else { if (CONDITION_NB) { ACTION_12 } else { if (CONDITION_WB) { ACTION_12 } else { if (CONDITION_RA) { goto NODE_124; } else { if (CONDITION_QB) { goto NODE_125; } else { ACTION_12 } } } } } } } else { if (CONDITION_RA) { if (CONDITION_OB) { goto NODE_7; } else { if (CONDITION_LB) { if (CONDITION_RB) { if (CONDITION_PA) { goto NODE_13; } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { goto NODE_13; } else { if (CONDITION_VA) { goto NODE_13; } else { if (CONDITION_NB) { ACTION_30 } else { if (CONDITION_WB) { ACTION_30 } else { goto NODE_28; } } } } } else { NODE_198: if (CONDITION_NB) { ACTION_32 } else { if (CONDITION_WB) { ACTION_32 } else { goto NODE_30; } } } } else { goto NODE_198; } } } else { goto NODE_198; } } else { if (CONDITION_UB) { if (CONDITION_RB) { if (CONDITION_PA) { goto NODE_63; } else { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { if (CONDITION_NB) { ACTION_4 } else { if (CONDITION_WB) { ACTION_4 } else { goto NODE_79; } } } else { if (CONDITION_VA) { goto NODE_63; } else { if (CONDITION_NB) { ACTION_69 } else { if (CONDITION_WB) { ACTION_69 } else { goto NODE_83; } } } } } else { NODE_199: if (CONDITION_NB) { ACTION_80 } else { if (CONDITION_WB) { ACTION_80 } else { goto NODE_85; } } } } else { goto NODE_199; } } } else { goto NODE_199; } } else { if (CONDITION_NB) { ACTION_9 } else { if (CONDITION_WB) { ACTION_9 } else { goto NODE_162; } } } } } } else { if (CONDITION_PA) { if (CONDITION_NB) { NODE_200: if (CONDITION_LB) { ACTION_49 } else { if (CONDITION_OB) { ACTION_49 } else { if (CONDITION_RB) { ACTION_49 } else { if (CONDITION_UB) { ACTION_49 } else { ACTION_5 } } } } } else { if (CONDITION_WB) { if (CONDITION_LB) { ACTION_71 } else { if (CONDITION_OB) { ACTION_71 } else { if (CONDITION_RB) { ACTION_71 } else { if (CONDITION_UB) { ACTION_71 } else { ACTION_14 } } } } } else { if (CONDITION_KB) { if (CONDITION_NA) { NODE_201: if (CONDITION_LB) { ACTION_19 } else { if (CONDITION_OB) { ACTION_19 } else { if (CONDITION_RB) { ACTION_19 } else { if (CONDITION_UB) { ACTION_19 } else { ACTION_2 } } } } } else { if (CONDITION_QB) { if (CONDITION_WA) { goto NODE_201; } else { if (CONDITION_LB) { ACTION_129 } else { if (CONDITION_OB) { ACTION_129 } else { if (CONDITION_RB) { ACTION_129 } else { if (CONDITION_UB) { ACTION_129 } else { ACTION_20 } } } } } } else { goto NODE_201; } } } else { if (CONDITION_QB) { if (CONDITION_NA) { goto NODE_200; } else { if (CONDITION_TB) { if (CONDITION_WA) { NODE_202: if (CONDITION_LB) { ACTION_65 } else { if (CONDITION_OB) { ACTION_65 } else { if (CONDITION_RB) { ACTION_65 } else { if (CONDITION_UB) { ACTION_65 } else { ACTION_8 } } } } } else { if (CONDITION_LB) { ACTION_320 } else { if (CONDITION_OB) { ACTION_320 } else { if (CONDITION_RB) { ACTION_320 } else { if (CONDITION_UB) { ACTION_320 } else { ACTION_74 } } } } } } else { goto NODE_202; } } } else { if (CONDITION_TB) { if (CONDITION_LB) { ACTION_68 } else { if (CONDITION_OB) { ACTION_68 } else { if (CONDITION_RB) { ACTION_68 } else { if (CONDITION_UB) { ACTION_68 } else { ACTION_11 } } } } } else { if (CONDITION_LB) { ACTION_7 } else { if (CONDITION_OB) { ACTION_7 } else { if (CONDITION_RB) { ACTION_7 } else { if (CONDITION_UB) { ACTION_7 } else { ACTION_1 } } } } } } } } } } else { if (CONDITION_OB) { goto NODE_8; } else { if (CONDITION_LB) { if (CONDITION_RB) { if (CONDITION_NB) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { ACTION_28 } else { if (CONDITION_VA) { ACTION_28 } else { ACTION_168 } } } else { ACTION_170 } } else { ACTION_170 } } else { if (CONDITION_WB) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { ACTION_37 } else { if (CONDITION_VA) { ACTION_37 } else { ACTION_189 } } } else { ACTION_200 } } else { ACTION_200 } } else { if (CONDITION_KB) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { goto NODE_16; } else { if (CONDITION_VA) { goto NODE_16; } else { goto NODE_38; } } } else { goto NODE_47; } } else { goto NODE_47; } } else { if (CONDITION_QB) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { goto NODE_18; } else { if (CONDITION_VA) { goto NODE_18; } else { goto NODE_40; } } } else { goto NODE_48; } } else { goto NODE_48; } } else { if (CONDITION_TB) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { ACTION_34 } else { if (CONDITION_VA) { ACTION_34 } else { ACTION_186 } } } else { ACTION_197 } } else { ACTION_197 } } else { goto NODE_26; } } } } } } else { goto NODE_15; } } else { if (CONDITION_RB) { if (CONDITION_UB) { if (CONDITION_NB) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { ACTION_49 } else { if (CONDITION_VA) { ACTION_49 } else { ACTION_266 } } } else { ACTION_277 } } else { ACTION_277 } } else { if (CONDITION_WB) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { ACTION_71 } else { if (CONDITION_VA) { ACTION_71 } else { ACTION_337 } } } else { ACTION_361 } } else { ACTION_361 } } else { if (CONDITION_KB) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { goto NODE_93; } else { if (CONDITION_VA) { goto NODE_70; } else { goto NODE_103; } } } else { goto NODE_111; } } else { goto NODE_111; } } else { if (CONDITION_QB) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { goto NODE_95; } else { if (CONDITION_VA) { goto NODE_71; } else { goto NODE_105; } } } else { goto NODE_112; } } else { goto NODE_112; } } else { if (CONDITION_TB) { if (CONDITION_PB) { if (CONDITION_SA) { if (CONDITION_MA) { ACTION_68 } else { if (CONDITION_VA) { ACTION_68 } else { ACTION_333 } } } else { ACTION_357 } } else { ACTION_357 } } else { goto NODE_77; } } } } } } else { if (CONDITION_NB) { ACTION_51 } else { goto NODE_163; } } } else { if (CONDITION_UB) { goto NODE_128; } else { if (CONDITION_NB) { ACTION_5 } else { if (CONDITION_WB) { ACTION_14 } else { goto NODE_192; } } } } } } } } } } } } else { ACTION_0 } } ================================================ FILE: include/labeling3D_EPDT_26c.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany #ifndef YACCLAB_LABELING3D_EPDT_26c_H_ #define YACCLAB_LABELING3D_EPDT_26c_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" #include "labeling3D_EPDT_26c_action_def.inc.h" //Conditions: #define CONDITION_KD c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_LC r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_LD c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_MC c < w - 2 && r > 0 && s > 0 && img_slice11_row11[c + 2] > 0 #define CONDITION_NB c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_ND c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_OA s > 0 && img_slice11_row00[c] > 0 #define CONDITION_OB c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_OC r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_OD c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_PA c < w - 2 && s > 0 && img_slice11_row00[c + 2] > 0 #define CONDITION_PC c < w - 2 && r < h - 1 && s > 0 && img_slice11_row01[c + 2] > 0 #define CONDITION_QB c > 0 && r < h - 2 && s > 0 && img_slice11_row02[c - 1] > 0 #define CONDITION_RA r < h - 2 && s > 0 && img_slice11_row02[c] > 0 #define CONDITION_RB c < w - 1 && r < h - 2 && s > 0 && img_slice11_row02[c + 1] > 0 #define CONDITION_SA c < w - 2 && r < h - 2 && s > 0 && img_slice11_row02[c + 2] > 0 #define CONDITION_TD c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_UC r > 0 && img_slice00_row11[c] > 0 #define CONDITION_UD c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_VC c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 #define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_WD c > 0 && r < h - 1 && img_slice00_row01[c - 1] > 0 #define CONDITION_XA img_slice00_row00[c] > 0 #define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 #define CONDITION_XC r < h - 1 && img_slice00_row01[c] > 0 #define CONDITION_XD c < w - 1 && r < h - 1 && img_slice00_row01[c + 1] > 0 template class EPDT_3D_26c : public Labeling3D { public: EPDT_3D_26c() {} // void FirstSlice(unsigned int d, unsigned int w, unsigned int h) { // // First slice // //Conditions for the first slice: TODO generate also first slice forest ////Conditions: //#define CONDITION_KH false //#define CONDITION_LG false //#define CONDITION_LH false //#define CONDITION_MG false //#define CONDITION_NF false //#define CONDITION_NH false //#define CONDITION_OE false //#define CONDITION_OF false //#define CONDITION_OG false //#define CONDITION_OH false //#define CONDITION_PE false //#define CONDITION_PG false //#define CONDITION_QF false //#define CONDITION_RE false //#define CONDITION_RF false //#define CONDITION_SE false //#define CONDITION_TD c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 //#define CONDITION_TH c > 0 && r > 0 && s < d - 1 && img_slice01_row11[c - 1] > 0 //#define CONDITION_UC r > 0 && img_slice00_row11[c] > 0 //#define CONDITION_UD c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 //#define CONDITION_UG r > 0 && s < d - 1 && img_slice01_row11[c] > 0 //#define CONDITION_UH c < w - 1 && r > 0 && s < d - 1 && img_slice01_row11[c + 1] > 0 //#define CONDITION_VC c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 //#define CONDITION_VG c < w - 2 && r > 0 && s < d - 1 && img_slice01_row11[c + 2] > 0 //#define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 //#define CONDITION_WD c > 0 && r < h - 1 && img_slice00_row01[c - 1] > 0 //#define CONDITION_WF c > 0 && s < d - 1 && img_slice01_row00[c - 1] > 0 //#define CONDITION_WH c > 0 && r < h - 1 && s < d - 1 && img_slice01_row01[c - 1] > 0 //#define CONDITION_XA img_slice00_row00[c] > 0 //#define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 //#define CONDITION_XC r < h - 1 && img_slice00_row01[c] > 0 //#define CONDITION_XD c < w - 1 && r < h - 1 && img_slice00_row01[c + 1] > 0 //#define CONDITION_XE s < d - 1 && img_slice01_row00[c] > 0 //#define CONDITION_XF c < w - 1 && s < d - 1 && img_slice01_row00[c + 1] > 0 //#define CONDITION_XG r < h - 1 && s < d - 1 && img_slice01_row01[c] > 0 //#define CONDITION_XH c < w - 1 && r < h - 1 && s < d - 1 && img_slice01_row01[c + 1] > 0 // for (unsigned int s = 0; s < 2; s += 2) { // for (unsigned int r = 0; r < h; r += 2) { // // const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // // T, W lower slice (Xe-Xh) // //const unsigned char* const img_slice01_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -2); // const unsigned char* const img_slice01_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -1); // const unsigned char* const img_slice01_row00 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 0); // const unsigned char* const img_slice01_row01 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 1); // // // T, W upper slice (Xa-Xd) // //const unsigned char* const img_slice00_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -2); // const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // const unsigned char* const img_slice00_row01 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * 1); // // // K, N, Q lower slice // //const unsigned char* const img_slice11_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // const unsigned char* const img_slice11_row02 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //const unsigned char* const img_slice11_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // // //// K, N, Q upper slice // //const unsigned char* const img_slice12_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // //const unsigned char* const img_slice12_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // //const unsigned char* const img_slice12_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // //const unsigned char* const img_slice12_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // //const unsigned char* const img_slice12_row02 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //const unsigned char* const img_slice12_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // // // Row pointers for the output image (current slice) // // // T, W lower slice (Xe-Xh) // //unsigned* const img_labels_slice01_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -2); // //unsigned* const img_labels_slice01_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * -1); // //unsigned* const img_labels_slice01_row00 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 0); // //unsigned* const img_labels_slice01_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[0] + img_.step.p[1] * 1); // // unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // // T, W upper slice (Xa-Xd) // unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[1] * -2); // //unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[1] * -1); // //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_.step.p[1] * 1); // // // K, N, Q lower slice // //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // //unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // //unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // //unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //unsigned* const img_labels_slice11_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // // //// K, N, Q upper slice // unsigned* const img_labels_slice12_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); // //unsigned* const img_labels_slice12_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); // unsigned* const img_labels_slice12_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // //unsigned* const img_labels_slice12_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // unsigned* const img_labels_slice12_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); // //unsigned* const img_labels_slice12_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // for (unsigned int c = 0; c < w; c += 2) { //#include "labeling3D_BBDT++3D_justequalsubtrees_tree.inc.h" // // } // } // } // Rows cycle end // //#undef CONDITION_KH //#undef CONDITION_LG //#undef CONDITION_LH //#undef CONDITION_MG //#undef CONDITION_NF //#undef CONDITION_NH //#undef CONDITION_OE //#undef CONDITION_OF //#undef CONDITION_OG //#undef CONDITION_OH //#undef CONDITION_PE //#undef CONDITION_PG //#undef CONDITION_QF //#undef CONDITION_RE //#undef CONDITION_RF //#undef CONDITION_SE //#undef CONDITION_TD //#undef CONDITION_TH //#undef CONDITION_UC //#undef CONDITION_UD //#undef CONDITION_UG //#undef CONDITION_UH //#undef CONDITION_VC //#undef CONDITION_VG //#undef CONDITION_WB //#undef CONDITION_WD //#undef CONDITION_WF //#undef CONDITION_WH //#undef CONDITION_XA //#undef CONDITION_XB //#undef CONDITION_XC //#undef CONDITION_XD //#undef CONDITION_XE //#undef CONDITION_XF //#undef CONDITION_XG //#undef CONDITION_XH // // } void PerformLabeling() { img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization //// DEBUG //LabelsSolver::MemAlloc(UPPER_BOUND_26_CONNECTIVITY); // Equivalence solver //MemVol img(img_); //MemVol img_labels(img_.size.p, 0); //LabelsSolver::MemSetup(); //// DEBUG - END // Rosenfeld Mask 3D // +-+-+-+ // |a|b|c| // +-+-+-+ // |d|e|f| // +-+-+-+ // |g|h|i| // +-+-+-+ // // +-+-+-+ // |j|k|l| // +-+-+-+ // |m|x| // +-+-+ // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; // First slice //FirstSlice(d, w, h); for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 2) { const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // T, W slice //const unsigned char* const img_slice00_row12 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -2); const unsigned char* const img_slice00_row11 = (unsigned char*)(((char*)img_slice00_row00) + img_.step.p[1] * -1); // img_slice00_row00 defined above const unsigned char* const img_slice00_row01 = (unsigned char*)(((char*)img_slice00_row00) + img_.step.p[1] * 1); // K, N, Q slice //const unsigned char* const img_slice11_row12 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); const unsigned char* const img_slice11_row11 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); const unsigned char* const img_slice11_row02 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); //const unsigned char* const img_slice11_row03 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 3); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // T, W slice unsigned* const img_labels_slice00_row12 = (unsigned*)(((char*)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // img_labels_slice00_row00 defined above //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * 1); // K, N, Q slice unsigned* const img_labels_slice11_row12 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); //unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); unsigned* const img_labels_slice11_row02 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); //unsigned* const img_labels_slice11_row03 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 3); // V -- old -- V //// Row pointers for the output image (current slice) //unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); //unsigned* const img_labels_slice00_row12 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); //unsigned* const img_labels_slice00_row01 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * 1); //// Row pointers for the output image (previous slice) //unsigned* const img_labels_slice11_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); //unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); //unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); //unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); //unsigned* const img_labels_slice11_row02 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB) || (CONDITION_XC) || (CONDITION_XD))) { ACTION_0; } #include "labeling3D_EPDT_26c_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::Flatten(); //unsigned* const img_labels_slice12_row12 = (unsigned *)(((char *)img_labels_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -2); //char * img_labels_row = reinterpret_cast(img_labels_.data); //unsigned char * img_row = reinterpret_cast(img_.data); //const unsigned char* const img_row = img_.ptr(0); //unsigned* const img_labels_row = img_labels_.ptr(0); //const unsigned char* const img_row = img_.ptr(); //int* const img_labels_row = img_labels_.ptr(); /* int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned *)(((char *)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; */ // for (unsigned s = 0; s < d; s += 1) { // for (unsigned r = 0; r < h; r += 2) { // for (unsigned c = 0; c < w; c += 2) { // //int iLabel = *reinterpret_cast(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)); // int iLabel = img_labels_row[c + r * w + s * h * w]; // if (iLabel > 0) { // iLabel = LabelsSolver::GetLabel(iLabel); // // if (img_row[c + r * w + s * h * w] > 0) // img_labels_row[c + r * w + s * h * w] = iLabel; // else // img_labels_row[c + r * w + s * h * w] = 0; // // if (c < w - 1) { // if (img_row[(c + 1) + r * w + s * h * w] > 0) // img_labels_row[(c + 1) + r * w + s * h * w] = iLabel; // else // img_labels_row[(c + 1) + r * w + s * h * w] = 0; // } // // if (r < h - 1) { // if (img_row[c + (r + 1) * w + s * h * w] > 0) // img_labels_row[c + (r + 1) * w + s * h * w] = iLabel; // else // img_labels_row[c + (r + 1) * w + s * h * w] = 0; // } // // if (c < w - 1 && r < h - 1) { // if (img_row[(c + 1) + (r + 1) * w + s * h * w] > 0) // img_labels_row[(c + 1) + (r + 1) * w + s * h * w] = iLabel; // else // img_labels_row[(c + 1) + (r + 1) * w + s * h * w] = 0; // } // // // std::cout << "\nimg step p0: " << img_.step.p[0] << "img step p1: " << img_.step.p[1] << "img step p2: " << img_.step.p[2]; // // std::cout << "\nd: " << d << " h: " << h << " w: " << w; ///* // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r) + (img_.step.p[2] * c)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = iLabel; // else // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = 0; // // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r) + (img_.step.p[2] * c + 1)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = iLabel; // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = iLabel; // if (*(img_row + (img_.step.p[0] * s) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c + 1)) > 0) // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = iLabel; //*/ // // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r) + (img_.step.p[2] * c)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = iLabel; // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r) + (img_.step.p[2] * c + 1)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = iLabel; // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = iLabel; // //if (*(img_row + (img_.step.p[0] * s + 1) + (img_.step.p[1] * r + 1) + (img_.step.p[2] * c + 1)) > 0) // // *(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = iLabel; // } // else { // //*(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = 0; // if (c < w - 1) // img_labels_row[(c + 1) + r * w + s * h * w] = 0; // if (r < h - 1) // img_labels_row[c + (r + 1) * w + s * h * w] = 0; // if (c < w - 1 && r < h - 1) // img_labels_row[(c + 1) + (r + 1) * w + s * h * w] = 0; // /* // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = 0; // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = 0; // *(img_labels_row + (img_labels_.step.p[0] * s) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = 0; // */ // // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c)) = 0; // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r) + (img_labels_.step.p[2] * c + 1)) = 0; // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c)) = 0; // //*(img_labels_row + (img_labels_.step.p[0] * s + 1) + (img_labels_.step.p[1] * r + 1) + (img_labels_.step.p[2] * c + 1)) = 0; // } // } // } // } // NEW VERSION BELOW, OLD ABOVE int e_rows = h & 0xfffffffe; bool o_rows = h % 2 == 1; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[1]); unsigned* const img_labels_row = img_labels_.ptr(s, r); unsigned* const img_labels_row_fol = (unsigned*)(((char*)img_labels_row) + img_labels_.step.p[1]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); unsigned* const img_labels_row = img_labels_.ptr(s, r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { { #undef CONDITION_KD #undef CONDITION_LC #undef CONDITION_LD #undef CONDITION_MC #undef CONDITION_NB #undef CONDITION_ND #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_OC #undef CONDITION_OD #undef CONDITION_PA #undef CONDITION_PC #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TD #undef CONDITION_UC #undef CONDITION_UD #undef CONDITION_VC #undef CONDITION_WB #undef CONDITION_WD #undef CONDITION_XA #undef CONDITION_XB #undef CONDITION_XC #undef CONDITION_XD #include "labeling3D_EPDT_2829_action_undef.inc.h" //Conditions: #define CONDITION_KD c > 0 && r > 0 && s > 0 && img(s - 1, r - 1, c - 1) > 0 #define CONDITION_LC r > 0 && s > 0 && img(s - 1, r - 1, c) > 0 #define CONDITION_LD c < w - 1 && r > 0 && s > 0 && img(s - 1, r - 1, c + 1) > 0 #define CONDITION_MC c < w - 2 && r > 0 && s > 0 && img(s - 1, r - 1, c + 2) > 0 #define CONDITION_NB c > 0 && s > 0 && img(s - 1, r, c - 1) > 0 #define CONDITION_ND c > 0 && r < h - 1 && s > 0 && img(s - 1, r + 1, c - 1) > 0 #define CONDITION_OA s > 0 && img(s - 1, r, c) > 0 #define CONDITION_OB c < w - 1 && s > 0 && img(s - 1, r, c + 1) > 0 #define CONDITION_OC r < h - 1 && s > 0 && img(s - 1, r + 1, c) > 0 #define CONDITION_OD c < w - 1 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 1) > 0 #define CONDITION_PA c < w - 2 && s > 0 && img(s - 1, r, c + 2) > 0 #define CONDITION_PC c < w - 2 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 2) > 0 #define CONDITION_QB c > 0 && r < h - 2 && s > 0 && img(s - 1, r + 2, c - 1) > 0 #define CONDITION_RA r < h - 2 && s > 0 && img(s - 1, r + 2, c) > 0 #define CONDITION_RB c < w - 1 && r < h - 2 && s > 0 && img(s - 1, r + 2, c + 1) > 0 #define CONDITION_SA c < w - 2 && r < h - 2 && s > 0 && img(s - 1, r + 2, c + 2) > 0 #define CONDITION_TD c > 0 && r > 0 && img(s, r - 1, c - 1) > 0 #define CONDITION_UC r > 0 && img(s, r - 1, c) > 0 #define CONDITION_UD c < w - 1 && r > 0 && img(s, r - 1, c + 1) > 0 #define CONDITION_VC c < w - 2 && r > 0 && img(s, r - 1, c + 2) > 0 #define CONDITION_WB c > 0 && img(s, r, c - 1) > 0 #define CONDITION_WD c > 0 && r < h - 1 && img(s, r + 1, c - 1) > 0 #define CONDITION_XA img(s, r, c) > 0 #define CONDITION_XB c < w - 1 && img(s, r, c + 1) > 0 #define CONDITION_XC r < h - 1 && img(s, r + 1, c) > 0 #define CONDITION_XD c < w - 1 && r < h - 1 && img(s, r + 1, c + 1) > 0 #include "labeling3D_EPDT_26c_action_def_mem.inc.h" } LabelsSolver::MemAlloc(UPPER_BOUND_26_CONNECTIVITY); // Equivalence solver MemVol img(img_); MemVol img_labels(img_.size.p); LabelsSolver::MemSetup(); // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 2) { for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB) || (CONDITION_XC) || (CONDITION_XD))) { ACTION_0; } #include "labeling3D_EPDT_26c_tree.inc.h" } } // Rows cycle end } // Planes cycle end // // Second scan LabelsSolver::MemFlatten(); int e_rows = h & 0xfffffffe; bool o_rows = h % 2 == 1; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < e_rows; r += 2) { int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; if (img(s, r, c + 1) > 0) img_labels(s, r, c + 1) = iLabel; else img_labels(s, r, c + 1) = 0; if (img(s, r + 1, c) > 0) img_labels(s, r + 1, c) = iLabel; else img_labels(s, r + 1, c) = 0; if (img(s, r + 1, c + 1) > 0) img_labels(s, r + 1, c + 1) = iLabel; else img_labels(s, r + 1, c + 1) = 0; } else { img_labels(s, r, c) = 0; img_labels(s, r, c + 1) = 0; img_labels(s, r + 1, c) = 0; img_labels(s, r + 1, c + 1) = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; if (img(s, r + 1, c) > 0) img_labels(s, r + 1, c) = iLabel; else img_labels(s, r + 1, c) = 0; } else { img_labels(s, r, c) = 0; img_labels(s, r + 1, c) = 0; } } } // Last row if the number of rows is odd if (o_rows) { int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; if (img(s, r, c + 1) > 0) img_labels(s, r, c + 1) = iLabel; else img_labels(s, r, c + 1) = 0; } else { img_labels(s, r, c) = 0; img_labels(s, r, c + 1) = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels(s, r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(s, r, c) > 0) img_labels(s, r, c) = iLabel; else img_labels(s, r, c) = 0; } else { img_labels(s, r, c) = 0; } } } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (unsigned long)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (unsigned long)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (unsigned long)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); // Memory deallocation of the labels solver { #undef CONDITION_KD #undef CONDITION_LC #undef CONDITION_LD #undef CONDITION_MC #undef CONDITION_NB #undef CONDITION_ND #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_OC #undef CONDITION_OD #undef CONDITION_PA #undef CONDITION_PC #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TD #undef CONDITION_UC #undef CONDITION_UD #undef CONDITION_VC #undef CONDITION_WB #undef CONDITION_WD #undef CONDITION_XA #undef CONDITION_XB #undef CONDITION_XC #undef CONDITION_XD //Actions: #include "labeling3D_EPDT_2829_action_undef.inc.h" //Conditions: #define CONDITION_KD c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_LC r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_LD c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_MC c < w - 2 && r > 0 && s > 0 && img_slice11_row11[c + 2] > 0 #define CONDITION_NB c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_ND c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_OA s > 0 && img_slice11_row00[c] > 0 #define CONDITION_OB c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_OC r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_OD c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_PA c < w - 2 && s > 0 && img_slice11_row00[c + 2] > 0 #define CONDITION_PC c < w - 2 && r < h - 1 && s > 0 && img_slice11_row01[c + 2] > 0 #define CONDITION_QB c > 0 && r < h - 2 && s > 0 && img_slice11_row02[c - 1] > 0 #define CONDITION_RA r < h - 2 && s > 0 && img_slice11_row02[c] > 0 #define CONDITION_RB c < w - 1 && r < h - 2 && s > 0 && img_slice11_row02[c + 1] > 0 #define CONDITION_SA c < w - 2 && r < h - 2 && s > 0 && img_slice11_row02[c + 2] > 0 #define CONDITION_TD c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_UC r > 0 && img_slice00_row11[c] > 0 #define CONDITION_UD c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_VC c < w - 2 && r > 0 && img_slice00_row11[c + 2] > 0 #define CONDITION_WB c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_WD c > 0 && r < h - 1 && img_slice00_row01[c - 1] > 0 #define CONDITION_XA img_slice00_row00[c] > 0 #define CONDITION_XB c < w - 1 && img_slice00_row00[c + 1] > 0 #define CONDITION_XC r < h - 1 && img_slice00_row01[c] > 0 #define CONDITION_XD c < w - 1 && r < h - 1 && img_slice00_row01[c + 1] > 0 //Actions: #include "labeling3D_EPDT_26c_action_def.inc.h" } } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s += 1) { for (unsigned int r = 0; r < h; r += 2) { const unsigned char* const img_slice00_row00 = img_.ptr(s, r); // T, W slice const unsigned char* const img_slice00_row11 = (unsigned char*)(((char*)img_slice00_row00) + img_.step.p[1] * -1); const unsigned char* const img_slice00_row01 = (unsigned char*)(((char*)img_slice00_row00) + img_.step.p[1] * 1); // K, N, Q slice const unsigned char* const img_slice11_row11 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); const unsigned char* const img_slice11_row02 = (unsigned char*)(((char*)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 2); unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); // T, W slice unsigned* const img_labels_slice00_row12 = (unsigned*)(((char*)img_labels_slice00_row00) + img_labels_.step.p[1] * -2); // K, N, Q slice unsigned* const img_labels_slice11_row12 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -2); unsigned* const img_labels_slice11_row00 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row02 = (unsigned*)(((char*)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 2); for (unsigned int c = 0; c < w; c += 2) { if (!((CONDITION_XA) || (CONDITION_XB) || (CONDITION_XC) || (CONDITION_XD))) { ACTION_0; } #include "labeling3D_EPDT_26c_tree.inc.h" } } // Rows cycle end } // Planes cycle end } void SecondScan() { unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; LabelsSolver::Flatten(); //const unsigned char* const img_row = img_.ptr(); //int* const img_labels_row = img_labels_.ptr(); // NEW VERSION BELOW, OLD IN PerformLabeling int e_rows = h & 0xfffffffe; bool o_rows = h % 2 == 1; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; for (unsigned s = 0; s < d; s++) { int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[1]); unsigned* const img_labels_row = img_labels_.ptr(s, r); unsigned* const img_labels_row_fol = (unsigned*)(((char*)img_labels_row) + img_labels_.step.p[1]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(s, r); unsigned* const img_labels_row = img_labels_.ptr(s, r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } } }; #undef CONDITION_KD #undef CONDITION_LC #undef CONDITION_LD #undef CONDITION_MC #undef CONDITION_NB #undef CONDITION_ND #undef CONDITION_OA #undef CONDITION_OB #undef CONDITION_OC #undef CONDITION_OD #undef CONDITION_PA #undef CONDITION_PC #undef CONDITION_QB #undef CONDITION_RA #undef CONDITION_RB #undef CONDITION_SA #undef CONDITION_TD #undef CONDITION_UC #undef CONDITION_UD #undef CONDITION_VC #undef CONDITION_WB #undef CONDITION_WD #undef CONDITION_XA #undef CONDITION_XB #undef CONDITION_XC #undef CONDITION_XD //Actions: #include "labeling3D_EPDT_2829_action_undef.inc.h" #endif // YACCLAB_LABELING3D_EPDT_26c_H_ ================================================ FILE: include/labeling3D_EPDT_26c_action_def.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany //Actions: // Action 0: nothing #define ACTION_0 img_labels_slice00_row00[c] = 0;continue; // Action 1: x<-newlabel #define ACTION_1 img_labels_slice00_row00[c] = LabelsSolver::NewLabel();continue; // Action 2: x<-K #define ACTION_2 img_labels_slice00_row00[c] = img_labels_slice11_row12[c - 2];continue; // Action 3: x<-L #define ACTION_3 img_labels_slice00_row00[c] = img_labels_slice11_row12[c];continue; // Action 4: x<-M #define ACTION_4 img_labels_slice00_row00[c] = img_labels_slice11_row12[c + 2];continue; // Action 5: x<-N #define ACTION_5 img_labels_slice00_row00[c] = img_labels_slice11_row00[c - 2];continue; // Action 6: x<-O #define ACTION_6 img_labels_slice00_row00[c] = img_labels_slice11_row00[c];continue; // Action 7: x<-P #define ACTION_7 img_labels_slice00_row00[c] = img_labels_slice11_row00[c + 2];continue; // Action 8: x<-Q #define ACTION_8 img_labels_slice00_row00[c] = img_labels_slice11_row02[c - 2];continue; // Action 9: x<-R #define ACTION_9 img_labels_slice00_row00[c] = img_labels_slice11_row02[c];continue; // Action 10: x<-S #define ACTION_10 img_labels_slice00_row00[c] = img_labels_slice11_row02[c + 2];continue; // Action 11: x<-T #define ACTION_11 img_labels_slice00_row00[c] = img_labels_slice00_row12[c - 2];continue; // Action 12: x<-U #define ACTION_12 img_labels_slice00_row00[c] = img_labels_slice00_row12[c];continue; // Action 13: x<-V #define ACTION_13 img_labels_slice00_row00[c] = img_labels_slice00_row12[c + 2];continue; // Action 14: x<-W #define ACTION_14 img_labels_slice00_row00[c] = img_labels_slice00_row00[c - 2];continue; // Action 15: x<-K+L #define ACTION_15 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]);continue; // Action 16: x<-K+M #define ACTION_16 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]);continue; // Action 17: x<-K+N #define ACTION_17 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]);continue; // Action 18: x<-K+O #define ACTION_18 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]);continue; // Action 19: x<-K+P #define ACTION_19 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]);continue; // Action 20: x<-K+Q #define ACTION_20 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]);continue; // Action 21: x<-K+R #define ACTION_21 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]);continue; // Action 22: x<-K+S #define ACTION_22 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c - 2]);continue; // Action 23: x<-K+T #define ACTION_23 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c - 2]);continue; // Action 24: x<-K+U #define ACTION_24 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row12[c - 2]);continue; // Action 25: x<-K+V #define ACTION_25 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row12[c - 2]);continue; // Action 26: x<-K+W #define ACTION_26 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row12[c - 2]);continue; // Action 27: x<-L+M #define ACTION_27 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]);continue; // Action 28: x<-L+N #define ACTION_28 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]);continue; // Action 29: x<-L+O #define ACTION_29 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]);continue; // Action 30: x<-L+P #define ACTION_30 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]);continue; // Action 31: x<-L+Q #define ACTION_31 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]);continue; // Action 32: x<-L+R #define ACTION_32 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]);continue; // Action 33: x<-L+S #define ACTION_33 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]);continue; // Action 34: x<-L+T #define ACTION_34 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c]);continue; // Action 35: x<-L+U #define ACTION_35 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row12[c]);continue; // Action 36: x<-L+V #define ACTION_36 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row12[c]);continue; // Action 37: x<-L+W #define ACTION_37 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row12[c]);continue; // Action 38: x<-M+N #define ACTION_38 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]);continue; // Action 39: x<-M+O #define ACTION_39 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]);continue; // Action 40: x<-M+P #define ACTION_40 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]);continue; // Action 41: x<-M+Q #define ACTION_41 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]);continue; // Action 42: x<-M+R #define ACTION_42 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]);continue; // Action 43: x<-M+S #define ACTION_43 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]);continue; // Action 44: x<-M+T #define ACTION_44 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c + 2]);continue; // Action 45: x<-M+U #define ACTION_45 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row12[c + 2]);continue; // Action 46: x<-M+V #define ACTION_46 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row12[c + 2]);continue; // Action 47: x<-M+W #define ACTION_47 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row12[c + 2]);continue; // Action 48: x<-N+O #define ACTION_48 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]);continue; // Action 49: x<-N+P #define ACTION_49 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]);continue; // Action 50: x<-N+Q #define ACTION_50 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]);continue; // Action 51: x<-N+R #define ACTION_51 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]);continue; // Action 52: x<-N+S #define ACTION_52 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]);continue; // Action 53: x<-N+T #define ACTION_53 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c - 2]);continue; // Action 54: x<-N+U #define ACTION_54 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c - 2]);continue; // Action 55: x<-N+V #define ACTION_55 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c - 2]);continue; // Action 56: x<-N+W #define ACTION_56 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]);continue; // Action 57: x<-O+P #define ACTION_57 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]);continue; // Action 58: x<-O+Q #define ACTION_58 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]);continue; // Action 59: x<-O+R #define ACTION_59 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]);continue; // Action 60: x<-O+S #define ACTION_60 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]);continue; // Action 61: x<-O+T #define ACTION_61 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]);continue; // Action 62: x<-O+U #define ACTION_62 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]);continue; // Action 63: x<-O+V #define ACTION_63 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]);continue; // Action 64: x<-O+W #define ACTION_64 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]);continue; // Action 65: x<-P+Q #define ACTION_65 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]);continue; // Action 66: x<-P+R #define ACTION_66 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]);continue; // Action 67: x<-P+S #define ACTION_67 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]);continue; // Action 68: x<-P+T #define ACTION_68 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]);continue; // Action 69: x<-P+U #define ACTION_69 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]);continue; // Action 70: x<-P+V #define ACTION_70 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]);continue; // Action 71: x<-P+W #define ACTION_71 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]);continue; // Action 72: x<-Q+R #define ACTION_72 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]);continue; // Action 73: x<-Q+S #define ACTION_73 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]);continue; // Action 74: x<-Q+T #define ACTION_74 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]);continue; // Action 75: x<-Q+U #define ACTION_75 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]);continue; // Action 76: x<-Q+V #define ACTION_76 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]);continue; // Action 77: x<-Q+W #define ACTION_77 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]);continue; // Action 78: x<-R+S #define ACTION_78 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]);continue; // Action 79: x<-R+T #define ACTION_79 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]);continue; // Action 80: x<-R+U #define ACTION_80 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]);continue; // Action 81: x<-R+V #define ACTION_81 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]);continue; // Action 82: x<-R+W #define ACTION_82 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]);continue; // Action 83: x<-S+T #define ACTION_83 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]);continue; // Action 84: x<-S+U #define ACTION_84 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]);continue; // Action 85: x<-S+V #define ACTION_85 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]);continue; // Action 86: x<-S+W #define ACTION_86 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]);continue; // Action 87: x<-T+U #define ACTION_87 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]);continue; // Action 88: x<-T+V #define ACTION_88 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]);continue; // Action 89: x<-T+W #define ACTION_89 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]);continue; // Action 90: x<-U+V #define ACTION_90 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]);continue; // Action 91: x<-U+W #define ACTION_91 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]);continue; // Action 92: x<-V+W #define ACTION_92 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]);continue; // Action 93: x<-K+L+N #define ACTION_93 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 94: x<-K+L+O #define ACTION_94 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 95: x<-K+L+P #define ACTION_95 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 96: x<-K+L+Q #define ACTION_96 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 97: x<-K+L+R #define ACTION_97 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 98: x<-K+L+S #define ACTION_98 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 99: x<-K+L+T #define ACTION_99 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 100: x<-K+L+U #define ACTION_100 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 101: x<-K+L+V #define ACTION_101 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 102: x<-K+L+W #define ACTION_102 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 103: x<-K+M+N #define ACTION_103 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 104: x<-K+M+O #define ACTION_104 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 105: x<-K+M+P #define ACTION_105 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 106: x<-K+M+Q #define ACTION_106 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 107: x<-K+M+R #define ACTION_107 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 108: x<-K+M+S #define ACTION_108 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 109: x<-K+M+T #define ACTION_109 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 110: x<-K+M+U #define ACTION_110 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 111: x<-K+M+V #define ACTION_111 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 112: x<-K+M+W #define ACTION_112 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 113: x<-K+N+O #define ACTION_113 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 114: x<-K+N+P #define ACTION_114 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 115: x<-K+N+R #define ACTION_115 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 116: x<-K+N+S #define ACTION_116 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 117: x<-K+N+T #define ACTION_117 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 118: x<-K+N+U #define ACTION_118 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 119: x<-K+N+V #define ACTION_119 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 120: x<-K+N+W #define ACTION_120 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 121: x<-K+O+P #define ACTION_121 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]);continue; // Action 122: x<-K+O+Q #define ACTION_122 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]);continue; // Action 123: x<-K+O+R #define ACTION_123 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]);continue; // Action 124: x<-K+O+S #define ACTION_124 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]);continue; // Action 125: x<-K+O+T #define ACTION_125 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]);continue; // Action 126: x<-K+O+U #define ACTION_126 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]);continue; // Action 127: x<-K+O+V #define ACTION_127 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]);continue; // Action 128: x<-K+O+W #define ACTION_128 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]);continue; // Action 129: x<-K+P+Q #define ACTION_129 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 130: x<-K+P+R #define ACTION_130 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 131: x<-K+P+S #define ACTION_131 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 132: x<-K+P+T #define ACTION_132 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 133: x<-K+P+U #define ACTION_133 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 134: x<-K+P+V #define ACTION_134 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 135: x<-K+P+W #define ACTION_135 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 136: x<-K+Q+R #define ACTION_136 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 137: x<-K+Q+S #define ACTION_137 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 138: x<-K+Q+T #define ACTION_138 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 139: x<-K+Q+U #define ACTION_139 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 140: x<-K+Q+V #define ACTION_140 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 141: x<-K+Q+W #define ACTION_141 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 142: x<-K+R+S #define ACTION_142 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c - 2]);continue; // Action 143: x<-K+R+T #define ACTION_143 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c - 2]);continue; // Action 144: x<-K+R+U #define ACTION_144 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row12[c - 2]);continue; // Action 145: x<-K+R+V #define ACTION_145 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c - 2]);continue; // Action 146: x<-K+R+W #define ACTION_146 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c - 2]);continue; // Action 147: x<-K+S+T #define ACTION_147 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 148: x<-K+S+U #define ACTION_148 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 149: x<-K+S+V #define ACTION_149 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 150: x<-K+S+W #define ACTION_150 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 151: x<-K+T+U #define ACTION_151 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 152: x<-K+T+V #define ACTION_152 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 153: x<-K+T+W #define ACTION_153 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row12[c - 2]);continue; // Action 154: x<-K+U+V #define ACTION_154 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 155: x<-K+U+W #define ACTION_155 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row12[c - 2]);continue; // Action 156: x<-K+V+W #define ACTION_156 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row12[c - 2]);continue; // Action 157: x<-L+M+N #define ACTION_157 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 158: x<-L+M+O #define ACTION_158 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 159: x<-L+M+P #define ACTION_159 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 160: x<-L+M+Q #define ACTION_160 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 161: x<-L+M+R #define ACTION_161 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 162: x<-L+M+S #define ACTION_162 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 163: x<-L+M+T #define ACTION_163 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 164: x<-L+M+U #define ACTION_164 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 165: x<-L+M+V #define ACTION_165 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 166: x<-L+M+W #define ACTION_166 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 167: x<-L+N+O #define ACTION_167 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]);continue; // Action 168: x<-L+N+P #define ACTION_168 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]);continue; // Action 169: x<-L+N+Q #define ACTION_169 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]);continue; // Action 170: x<-L+N+R #define ACTION_170 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]);continue; // Action 171: x<-L+N+S #define ACTION_171 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]);continue; // Action 172: x<-L+N+T #define ACTION_172 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]);continue; // Action 173: x<-L+N+U #define ACTION_173 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]);continue; // Action 174: x<-L+N+V #define ACTION_174 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]);continue; // Action 175: x<-L+N+W #define ACTION_175 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]);continue; // Action 176: x<-L+O+P #define ACTION_176 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]);continue; // Action 177: x<-L+O+Q #define ACTION_177 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]);continue; // Action 178: x<-L+O+S #define ACTION_178 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]);continue; // Action 179: x<-L+O+T #define ACTION_179 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]);continue; // Action 180: x<-L+O+U #define ACTION_180 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]);continue; // Action 181: x<-L+O+V #define ACTION_181 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]);continue; // Action 182: x<-L+O+W #define ACTION_182 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]);continue; // Action 183: x<-L+P+Q #define ACTION_183 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]);continue; // Action 184: x<-L+P+R #define ACTION_184 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]);continue; // Action 185: x<-L+P+S #define ACTION_185 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]);continue; // Action 186: x<-L+P+T #define ACTION_186 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]);continue; // Action 187: x<-L+P+U #define ACTION_187 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]);continue; // Action 188: x<-L+P+V #define ACTION_188 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]);continue; // Action 189: x<-L+P+W #define ACTION_189 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]);continue; // Action 190: x<-L+Q+R #define ACTION_190 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]);continue; // Action 191: x<-L+Q+S #define ACTION_191 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]);continue; // Action 192: x<-L+Q+T #define ACTION_192 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]);continue; // Action 193: x<-L+Q+U #define ACTION_193 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]);continue; // Action 194: x<-L+Q+V #define ACTION_194 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]);continue; // Action 195: x<-L+Q+W #define ACTION_195 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]);continue; // Action 196: x<-L+R+S #define ACTION_196 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c]);continue; // Action 197: x<-L+R+T #define ACTION_197 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c]);continue; // Action 198: x<-L+R+U #define ACTION_198 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row12[c]);continue; // Action 199: x<-L+R+V #define ACTION_199 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c]);continue; // Action 200: x<-L+R+W #define ACTION_200 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c]);continue; // Action 201: x<-L+S+T #define ACTION_201 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c]);continue; // Action 202: x<-L+S+U #define ACTION_202 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c]);continue; // Action 203: x<-L+S+V #define ACTION_203 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c]);continue; // Action 204: x<-L+S+W #define ACTION_204 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c]);continue; // Action 205: x<-L+T+U #define ACTION_205 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row12[c]);continue; // Action 206: x<-L+T+V #define ACTION_206 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row12[c]);continue; // Action 207: x<-L+T+W #define ACTION_207 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row12[c]);continue; // Action 208: x<-L+U+V #define ACTION_208 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row12[c]);continue; // Action 209: x<-L+U+W #define ACTION_209 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row12[c]);continue; // Action 210: x<-L+V+W #define ACTION_210 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row12[c]);continue; // Action 211: x<-M+N+O #define ACTION_211 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 212: x<-M+N+P #define ACTION_212 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 213: x<-M+N+Q #define ACTION_213 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 214: x<-M+N+R #define ACTION_214 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 215: x<-M+N+S #define ACTION_215 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 216: x<-M+N+T #define ACTION_216 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 217: x<-M+N+U #define ACTION_217 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 218: x<-M+N+V #define ACTION_218 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 219: x<-M+N+W #define ACTION_219 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 220: x<-M+O+P #define ACTION_220 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]);continue; // Action 221: x<-M+O+Q #define ACTION_221 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]);continue; // Action 222: x<-M+O+R #define ACTION_222 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]);continue; // Action 223: x<-M+O+S #define ACTION_223 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]);continue; // Action 224: x<-M+O+T #define ACTION_224 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]);continue; // Action 225: x<-M+O+U #define ACTION_225 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]);continue; // Action 226: x<-M+O+V #define ACTION_226 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]);continue; // Action 227: x<-M+O+W #define ACTION_227 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]);continue; // Action 228: x<-M+P+Q #define ACTION_228 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 229: x<-M+P+R #define ACTION_229 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 230: x<-M+P+T #define ACTION_230 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 231: x<-M+P+U #define ACTION_231 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 232: x<-M+P+V #define ACTION_232 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 233: x<-M+P+W #define ACTION_233 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 234: x<-M+Q+R #define ACTION_234 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 235: x<-M+Q+S #define ACTION_235 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 236: x<-M+Q+T #define ACTION_236 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 237: x<-M+Q+U #define ACTION_237 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 238: x<-M+Q+V #define ACTION_238 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 239: x<-M+Q+W #define ACTION_239 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 240: x<-M+R+S #define ACTION_240 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c + 2]);continue; // Action 241: x<-M+R+T #define ACTION_241 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c + 2]);continue; // Action 242: x<-M+R+U #define ACTION_242 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row12[c + 2]);continue; // Action 243: x<-M+R+V #define ACTION_243 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c + 2]);continue; // Action 244: x<-M+R+W #define ACTION_244 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c + 2]);continue; // Action 245: x<-M+S+T #define ACTION_245 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 246: x<-M+S+U #define ACTION_246 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 247: x<-M+S+V #define ACTION_247 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 248: x<-M+S+W #define ACTION_248 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 249: x<-M+T+U #define ACTION_249 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 250: x<-M+T+V #define ACTION_250 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 251: x<-M+T+W #define ACTION_251 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row12[c + 2]);continue; // Action 252: x<-M+U+V #define ACTION_252 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row12[c + 2]);continue; // Action 253: x<-M+U+W #define ACTION_253 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row12[c + 2]);continue; // Action 254: x<-M+V+W #define ACTION_254 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row12[c + 2]);continue; // Action 255: x<-N+O+Q #define ACTION_255 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 256: x<-N+O+R #define ACTION_256 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 257: x<-N+O+S #define ACTION_257 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 258: x<-N+O+T #define ACTION_258 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 259: x<-N+O+U #define ACTION_259 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 260: x<-N+O+V #define ACTION_260 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 261: x<-N+O+W #define ACTION_261 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]);continue; // Action 262: x<-N+P+Q #define ACTION_262 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 263: x<-N+P+R #define ACTION_263 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 264: x<-N+P+S #define ACTION_264 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 265: x<-N+P+T #define ACTION_265 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 266: x<-N+P+U #define ACTION_266 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 267: x<-N+P+V #define ACTION_267 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 268: x<-N+P+W #define ACTION_268 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 269: x<-N+Q+R #define ACTION_269 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 270: x<-N+Q+S #define ACTION_270 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 271: x<-N+Q+T #define ACTION_271 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 272: x<-N+Q+U #define ACTION_272 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 273: x<-N+Q+V #define ACTION_273 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 274: x<-N+Q+W #define ACTION_274 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 275: x<-N+R+S #define ACTION_275 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]);continue; // Action 276: x<-N+R+T #define ACTION_276 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]);continue; // Action 277: x<-N+R+U #define ACTION_277 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]);continue; // Action 278: x<-N+R+V #define ACTION_278 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]);continue; // Action 279: x<-N+R+W #define ACTION_279 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]);continue; // Action 280: x<-N+S+T #define ACTION_280 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 281: x<-N+S+U #define ACTION_281 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 282: x<-N+S+V #define ACTION_282 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 283: x<-N+S+W #define ACTION_283 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 284: x<-N+T+U #define ACTION_284 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 285: x<-N+T+V #define ACTION_285 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 286: x<-N+T+W #define ACTION_286 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]);continue; // Action 287: x<-N+U+V #define ACTION_287 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c - 2]);continue; // Action 288: x<-N+U+W #define ACTION_288 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c - 2]);continue; // Action 289: x<-N+V+W #define ACTION_289 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c - 2]);continue; // Action 290: x<-O+P+Q #define ACTION_290 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 291: x<-O+P+R #define ACTION_291 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 292: x<-O+P+S #define ACTION_292 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 293: x<-O+P+T #define ACTION_293 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 294: x<-O+P+U #define ACTION_294 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 295: x<-O+P+V #define ACTION_295 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 296: x<-O+P+W #define ACTION_296 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]);continue; // Action 297: x<-O+Q+R #define ACTION_297 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]);continue; // Action 298: x<-O+Q+S #define ACTION_298 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]);continue; // Action 299: x<-O+Q+T #define ACTION_299 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]);continue; // Action 300: x<-O+Q+U #define ACTION_300 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]);continue; // Action 301: x<-O+Q+V #define ACTION_301 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]);continue; // Action 302: x<-O+Q+W #define ACTION_302 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]);continue; // Action 303: x<-O+R+S #define ACTION_303 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]);continue; // Action 304: x<-O+R+T #define ACTION_304 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]);continue; // Action 305: x<-O+R+U #define ACTION_305 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]);continue; // Action 306: x<-O+R+V #define ACTION_306 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]);continue; // Action 307: x<-O+R+W #define ACTION_307 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]);continue; // Action 308: x<-O+S+T #define ACTION_308 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]);continue; // Action 309: x<-O+S+U #define ACTION_309 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]);continue; // Action 310: x<-O+S+V #define ACTION_310 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]);continue; // Action 311: x<-O+S+W #define ACTION_311 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]);continue; // Action 312: x<-O+T+U #define ACTION_312 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]);continue; // Action 313: x<-O+T+V #define ACTION_313 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]);continue; // Action 314: x<-O+T+W #define ACTION_314 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]);continue; // Action 315: x<-O+U+V #define ACTION_315 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]);continue; // Action 316: x<-O+U+W #define ACTION_316 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]);continue; // Action 317: x<-O+V+W #define ACTION_317 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c]);continue; // Action 318: x<-P+Q+R #define ACTION_318 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 319: x<-P+Q+S #define ACTION_319 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 320: x<-P+Q+T #define ACTION_320 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 321: x<-P+Q+U #define ACTION_321 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 322: x<-P+Q+V #define ACTION_322 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 323: x<-P+Q+W #define ACTION_323 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 324: x<-P+R+S #define ACTION_324 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]);continue; // Action 325: x<-P+R+T #define ACTION_325 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]);continue; // Action 326: x<-P+R+U #define ACTION_326 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]);continue; // Action 327: x<-P+R+V #define ACTION_327 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]);continue; // Action 328: x<-P+R+W #define ACTION_328 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]);continue; // Action 329: x<-P+S+T #define ACTION_329 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 330: x<-P+S+U #define ACTION_330 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 331: x<-P+S+V #define ACTION_331 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 332: x<-P+S+W #define ACTION_332 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 333: x<-P+T+U #define ACTION_333 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 334: x<-P+T+V #define ACTION_334 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 335: x<-P+T+W #define ACTION_335 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]);continue; // Action 336: x<-P+U+V #define ACTION_336 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]);continue; // Action 337: x<-P+U+W #define ACTION_337 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]);continue; // Action 338: x<-P+V+W #define ACTION_338 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]);continue; // Action 339: x<-Q+R+T #define ACTION_339 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]);continue; // Action 340: x<-Q+R+U #define ACTION_340 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]);continue; // Action 341: x<-Q+R+V #define ACTION_341 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]);continue; // Action 342: x<-Q+R+W #define ACTION_342 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]);continue; // Action 343: x<-Q+S+T #define ACTION_343 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]);continue; // Action 344: x<-Q+S+U #define ACTION_344 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]);continue; // Action 345: x<-Q+S+V #define ACTION_345 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]);continue; // Action 346: x<-Q+S+W #define ACTION_346 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]);continue; // Action 347: x<-Q+T+U #define ACTION_347 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]);continue; // Action 348: x<-Q+T+V #define ACTION_348 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]);continue; // Action 349: x<-Q+T+W #define ACTION_349 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]);continue; // Action 350: x<-Q+U+V #define ACTION_350 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]);continue; // Action 351: x<-Q+U+W #define ACTION_351 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]);continue; // Action 352: x<-Q+V+W #define ACTION_352 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]);continue; // Action 353: x<-R+S+T #define ACTION_353 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]);continue; // Action 354: x<-R+S+U #define ACTION_354 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]);continue; // Action 355: x<-R+S+V #define ACTION_355 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]);continue; // Action 356: x<-R+S+W #define ACTION_356 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]);continue; // Action 357: x<-R+T+U #define ACTION_357 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]);continue; // Action 358: x<-R+T+V #define ACTION_358 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]);continue; // Action 359: x<-R+T+W #define ACTION_359 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]);continue; // Action 360: x<-R+U+V #define ACTION_360 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]);continue; // Action 361: x<-R+U+W #define ACTION_361 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]);continue; // Action 362: x<-R+V+W #define ACTION_362 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]);continue; // Action 363: x<-S+T+U #define ACTION_363 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]);continue; // Action 364: x<-S+T+V #define ACTION_364 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]);continue; // Action 365: x<-S+T+W #define ACTION_365 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]);continue; // Action 366: x<-S+U+V #define ACTION_366 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]);continue; // Action 367: x<-S+U+W #define ACTION_367 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]);continue; // Action 368: x<-S+V+W #define ACTION_368 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]);continue; // Action 369: x<-T+U+W #define ACTION_369 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]);continue; // Action 370: x<-T+V+W #define ACTION_370 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]);continue; // Action 371: x<-U+V+W #define ACTION_371 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]);continue; // Action 372: x<-K+L+N+O #define ACTION_372 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 373: x<-K+L+N+P #define ACTION_373 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 374: x<-K+L+N+R #define ACTION_374 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 375: x<-K+L+N+S #define ACTION_375 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 376: x<-K+L+N+T #define ACTION_376 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 377: x<-K+L+N+U #define ACTION_377 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 378: x<-K+L+N+V #define ACTION_378 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 379: x<-K+L+N+W #define ACTION_379 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 380: x<-K+L+O+P #define ACTION_380 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 381: x<-K+L+O+Q #define ACTION_381 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 382: x<-K+L+O+S #define ACTION_382 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 383: x<-K+L+O+T #define ACTION_383 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 384: x<-K+L+O+U #define ACTION_384 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 385: x<-K+L+O+V #define ACTION_385 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 386: x<-K+L+O+W #define ACTION_386 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 387: x<-K+L+P+Q #define ACTION_387 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 388: x<-K+L+P+R #define ACTION_388 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 389: x<-K+L+P+T #define ACTION_389 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 390: x<-K+L+P+U #define ACTION_390 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 391: x<-K+L+P+V #define ACTION_391 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 392: x<-K+L+P+W #define ACTION_392 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 393: x<-K+L+Q+R #define ACTION_393 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 394: x<-K+L+Q+S #define ACTION_394 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 395: x<-K+L+Q+T #define ACTION_395 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 396: x<-K+L+Q+U #define ACTION_396 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 397: x<-K+L+Q+V #define ACTION_397 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 398: x<-K+L+Q+W #define ACTION_398 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 399: x<-K+L+R+S #define ACTION_399 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 400: x<-K+L+R+T #define ACTION_400 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 401: x<-K+L+R+U #define ACTION_401 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 402: x<-K+L+R+V #define ACTION_402 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 403: x<-K+L+R+W #define ACTION_403 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 404: x<-K+L+S+T #define ACTION_404 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 405: x<-K+L+S+U #define ACTION_405 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 406: x<-K+L+S+V #define ACTION_406 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 407: x<-K+L+S+W #define ACTION_407 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 408: x<-K+L+T+U #define ACTION_408 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 409: x<-K+L+T+V #define ACTION_409 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 410: x<-K+L+T+W #define ACTION_410 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 411: x<-K+L+U+V #define ACTION_411 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 412: x<-K+L+U+W #define ACTION_412 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 413: x<-K+L+V+W #define ACTION_413 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 414: x<-K+M+N+O #define ACTION_414 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 415: x<-K+M+N+P #define ACTION_415 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 416: x<-K+M+N+R #define ACTION_416 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 417: x<-K+M+N+S #define ACTION_417 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 418: x<-K+M+N+T #define ACTION_418 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 419: x<-K+M+N+U #define ACTION_419 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 420: x<-K+M+N+V #define ACTION_420 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 421: x<-K+M+N+W #define ACTION_421 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 422: x<-K+M+O+P #define ACTION_422 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 423: x<-K+M+O+Q #define ACTION_423 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 424: x<-K+M+O+S #define ACTION_424 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 425: x<-K+M+O+T #define ACTION_425 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 426: x<-K+M+O+U #define ACTION_426 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 427: x<-K+M+O+V #define ACTION_427 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 428: x<-K+M+O+W #define ACTION_428 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 429: x<-K+M+P+Q #define ACTION_429 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 430: x<-K+M+P+R #define ACTION_430 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 431: x<-K+M+P+T #define ACTION_431 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 432: x<-K+M+P+U #define ACTION_432 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 433: x<-K+M+P+V #define ACTION_433 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 434: x<-K+M+P+W #define ACTION_434 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 435: x<-K+M+Q+R #define ACTION_435 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 436: x<-K+M+Q+S #define ACTION_436 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 437: x<-K+M+Q+T #define ACTION_437 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 438: x<-K+M+Q+U #define ACTION_438 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 439: x<-K+M+Q+V #define ACTION_439 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 440: x<-K+M+Q+W #define ACTION_440 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 441: x<-K+M+R+S #define ACTION_441 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 442: x<-K+M+R+T #define ACTION_442 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 443: x<-K+M+R+U #define ACTION_443 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 444: x<-K+M+R+V #define ACTION_444 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 445: x<-K+M+R+W #define ACTION_445 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 446: x<-K+M+S+T #define ACTION_446 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 447: x<-K+M+S+U #define ACTION_447 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 448: x<-K+M+S+V #define ACTION_448 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 449: x<-K+M+S+W #define ACTION_449 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 450: x<-K+M+T+U #define ACTION_450 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 451: x<-K+M+T+V #define ACTION_451 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 452: x<-K+M+T+W #define ACTION_452 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 453: x<-K+M+U+V #define ACTION_453 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 454: x<-K+M+U+W #define ACTION_454 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 455: x<-K+M+V+W #define ACTION_455 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 456: x<-K+N+O+R #define ACTION_456 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 457: x<-K+N+O+S #define ACTION_457 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 458: x<-K+N+O+T #define ACTION_458 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 459: x<-K+N+O+U #define ACTION_459 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 460: x<-K+N+O+V #define ACTION_460 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 461: x<-K+N+O+W #define ACTION_461 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 462: x<-K+N+P+R #define ACTION_462 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 463: x<-K+N+P+S #define ACTION_463 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 464: x<-K+N+P+T #define ACTION_464 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 465: x<-K+N+P+U #define ACTION_465 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 466: x<-K+N+P+V #define ACTION_466 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 467: x<-K+N+P+W #define ACTION_467 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 468: x<-K+N+R+T #define ACTION_468 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 469: x<-K+N+R+U #define ACTION_469 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 470: x<-K+N+R+V #define ACTION_470 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 471: x<-K+N+R+W #define ACTION_471 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 472: x<-K+N+S+T #define ACTION_472 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 473: x<-K+N+S+U #define ACTION_473 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 474: x<-K+N+S+V #define ACTION_474 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 475: x<-K+N+S+W #define ACTION_475 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 476: x<-K+N+T+U #define ACTION_476 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 477: x<-K+N+T+V #define ACTION_477 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 478: x<-K+N+T+W #define ACTION_478 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 479: x<-K+N+U+V #define ACTION_479 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 480: x<-K+N+U+W #define ACTION_480 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 481: x<-K+N+V+W #define ACTION_481 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 482: x<-K+O+P+S #define ACTION_482 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 483: x<-K+O+P+T #define ACTION_483 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 484: x<-K+O+P+U #define ACTION_484 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 485: x<-K+O+P+V #define ACTION_485 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 486: x<-K+O+P+W #define ACTION_486 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 487: x<-K+O+Q+R #define ACTION_487 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 488: x<-K+O+Q+S #define ACTION_488 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 489: x<-K+O+Q+T #define ACTION_489 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 490: x<-K+O+Q+U #define ACTION_490 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 491: x<-K+O+Q+V #define ACTION_491 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 492: x<-K+O+Q+W #define ACTION_492 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 493: x<-K+O+R+S #define ACTION_493 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 494: x<-K+O+R+T #define ACTION_494 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 495: x<-K+O+R+U #define ACTION_495 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 496: x<-K+O+R+V #define ACTION_496 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 497: x<-K+O+R+W #define ACTION_497 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 498: x<-K+O+S+T #define ACTION_498 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 499: x<-K+O+S+U #define ACTION_499 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 500: x<-K+O+S+V #define ACTION_500 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 501: x<-K+O+S+W #define ACTION_501 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 502: x<-K+O+T+U #define ACTION_502 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 503: x<-K+O+T+V #define ACTION_503 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 504: x<-K+O+T+W #define ACTION_504 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 505: x<-K+O+U+V #define ACTION_505 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 506: x<-K+O+U+W #define ACTION_506 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 507: x<-K+O+V+W #define ACTION_507 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 508: x<-K+P+Q+R #define ACTION_508 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 509: x<-K+P+Q+S #define ACTION_509 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 510: x<-K+P+Q+T #define ACTION_510 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 511: x<-K+P+Q+U #define ACTION_511 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 512: x<-K+P+Q+V #define ACTION_512 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 513: x<-K+P+Q+W #define ACTION_513 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 514: x<-K+P+R+S #define ACTION_514 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 515: x<-K+P+R+T #define ACTION_515 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 516: x<-K+P+R+U #define ACTION_516 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 517: x<-K+P+R+V #define ACTION_517 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 518: x<-K+P+R+W #define ACTION_518 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 519: x<-K+P+S+T #define ACTION_519 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 520: x<-K+P+S+U #define ACTION_520 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 521: x<-K+P+S+V #define ACTION_521 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 522: x<-K+P+S+W #define ACTION_522 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 523: x<-K+P+T+U #define ACTION_523 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 524: x<-K+P+T+V #define ACTION_524 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 525: x<-K+P+T+W #define ACTION_525 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 526: x<-K+P+U+V #define ACTION_526 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 527: x<-K+P+U+W #define ACTION_527 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 528: x<-K+P+V+W #define ACTION_528 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 529: x<-K+Q+R+T #define ACTION_529 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 530: x<-K+Q+R+U #define ACTION_530 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 531: x<-K+Q+R+V #define ACTION_531 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 532: x<-K+Q+R+W #define ACTION_532 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 533: x<-K+Q+S+T #define ACTION_533 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 534: x<-K+Q+S+U #define ACTION_534 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 535: x<-K+Q+S+V #define ACTION_535 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 536: x<-K+Q+S+W #define ACTION_536 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 537: x<-K+Q+T+U #define ACTION_537 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 538: x<-K+Q+T+V #define ACTION_538 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 539: x<-K+Q+T+W #define ACTION_539 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 540: x<-K+Q+U+V #define ACTION_540 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 541: x<-K+Q+U+W #define ACTION_541 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 542: x<-K+Q+V+W #define ACTION_542 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 543: x<-K+R+S+T #define ACTION_543 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 544: x<-K+R+S+U #define ACTION_544 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 545: x<-K+R+S+V #define ACTION_545 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 546: x<-K+R+S+W #define ACTION_546 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 547: x<-K+R+T+U #define ACTION_547 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 548: x<-K+R+T+V #define ACTION_548 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 549: x<-K+R+T+W #define ACTION_549 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 550: x<-K+R+U+V #define ACTION_550 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 551: x<-K+R+U+W #define ACTION_551 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 552: x<-K+R+V+W #define ACTION_552 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 553: x<-K+S+T+U #define ACTION_553 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 554: x<-K+S+T+V #define ACTION_554 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 555: x<-K+S+T+W #define ACTION_555 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 556: x<-K+S+U+V #define ACTION_556 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 557: x<-K+S+U+W #define ACTION_557 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 558: x<-K+S+V+W #define ACTION_558 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 559: x<-K+T+U+W #define ACTION_559 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 560: x<-K+T+V+W #define ACTION_560 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 561: x<-K+U+V+W #define ACTION_561 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 562: x<-L+M+N+O #define ACTION_562 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 563: x<-L+M+N+P #define ACTION_563 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 564: x<-L+M+N+R #define ACTION_564 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 565: x<-L+M+N+S #define ACTION_565 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 566: x<-L+M+N+T #define ACTION_566 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 567: x<-L+M+N+U #define ACTION_567 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 568: x<-L+M+N+V #define ACTION_568 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 569: x<-L+M+N+W #define ACTION_569 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 570: x<-L+M+O+P #define ACTION_570 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 571: x<-L+M+O+Q #define ACTION_571 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 572: x<-L+M+O+S #define ACTION_572 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 573: x<-L+M+O+T #define ACTION_573 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 574: x<-L+M+O+U #define ACTION_574 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 575: x<-L+M+O+V #define ACTION_575 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 576: x<-L+M+O+W #define ACTION_576 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 577: x<-L+M+P+Q #define ACTION_577 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 578: x<-L+M+P+R #define ACTION_578 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 579: x<-L+M+P+T #define ACTION_579 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 580: x<-L+M+P+U #define ACTION_580 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 581: x<-L+M+P+V #define ACTION_581 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 582: x<-L+M+P+W #define ACTION_582 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 583: x<-L+M+Q+R #define ACTION_583 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 584: x<-L+M+Q+S #define ACTION_584 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 585: x<-L+M+Q+T #define ACTION_585 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 586: x<-L+M+Q+U #define ACTION_586 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 587: x<-L+M+Q+V #define ACTION_587 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 588: x<-L+M+Q+W #define ACTION_588 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 589: x<-L+M+R+S #define ACTION_589 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 590: x<-L+M+R+T #define ACTION_590 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 591: x<-L+M+R+U #define ACTION_591 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 592: x<-L+M+R+V #define ACTION_592 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 593: x<-L+M+R+W #define ACTION_593 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 594: x<-L+M+S+T #define ACTION_594 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 595: x<-L+M+S+U #define ACTION_595 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 596: x<-L+M+S+V #define ACTION_596 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 597: x<-L+M+S+W #define ACTION_597 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 598: x<-L+M+T+U #define ACTION_598 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 599: x<-L+M+T+V #define ACTION_599 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 600: x<-L+M+T+W #define ACTION_600 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 601: x<-L+M+U+V #define ACTION_601 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 602: x<-L+M+U+W #define ACTION_602 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 603: x<-L+M+V+W #define ACTION_603 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 604: x<-L+N+O+Q #define ACTION_604 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 605: x<-L+N+O+T #define ACTION_605 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 606: x<-L+N+O+U #define ACTION_606 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 607: x<-L+N+O+V #define ACTION_607 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 608: x<-L+N+O+W #define ACTION_608 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 609: x<-L+N+P+Q #define ACTION_609 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 610: x<-L+N+P+R #define ACTION_610 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 611: x<-L+N+P+S #define ACTION_611 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 612: x<-L+N+P+T #define ACTION_612 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 613: x<-L+N+P+U #define ACTION_613 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 614: x<-L+N+P+V #define ACTION_614 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 615: x<-L+N+P+W #define ACTION_615 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 616: x<-L+N+Q+R #define ACTION_616 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 617: x<-L+N+Q+S #define ACTION_617 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 618: x<-L+N+Q+T #define ACTION_618 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 619: x<-L+N+Q+U #define ACTION_619 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 620: x<-L+N+Q+V #define ACTION_620 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 621: x<-L+N+Q+W #define ACTION_621 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 622: x<-L+N+R+S #define ACTION_622 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 623: x<-L+N+R+T #define ACTION_623 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 624: x<-L+N+R+U #define ACTION_624 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 625: x<-L+N+R+V #define ACTION_625 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 626: x<-L+N+R+W #define ACTION_626 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 627: x<-L+N+S+T #define ACTION_627 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 628: x<-L+N+S+U #define ACTION_628 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 629: x<-L+N+S+V #define ACTION_629 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 630: x<-L+N+S+W #define ACTION_630 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 631: x<-L+N+T+U #define ACTION_631 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 632: x<-L+N+T+V #define ACTION_632 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 633: x<-L+N+T+W #define ACTION_633 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 634: x<-L+N+U+V #define ACTION_634 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 635: x<-L+N+U+W #define ACTION_635 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 636: x<-L+N+V+W #define ACTION_636 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 637: x<-L+O+P+S #define ACTION_637 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 638: x<-L+O+P+T #define ACTION_638 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 639: x<-L+O+P+U #define ACTION_639 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 640: x<-L+O+P+V #define ACTION_640 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 641: x<-L+O+P+W #define ACTION_641 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 642: x<-L+O+Q+T #define ACTION_642 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 643: x<-L+O+Q+U #define ACTION_643 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 644: x<-L+O+Q+V #define ACTION_644 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 645: x<-L+O+Q+W #define ACTION_645 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 646: x<-L+O+S+T #define ACTION_646 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 647: x<-L+O+S+U #define ACTION_647 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 648: x<-L+O+S+V #define ACTION_648 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 649: x<-L+O+S+W #define ACTION_649 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 650: x<-L+O+T+U #define ACTION_650 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 651: x<-L+O+T+V #define ACTION_651 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 652: x<-L+O+T+W #define ACTION_652 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 653: x<-L+O+U+V #define ACTION_653 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 654: x<-L+O+U+W #define ACTION_654 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 655: x<-L+O+V+W #define ACTION_655 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 656: x<-L+P+Q+R #define ACTION_656 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 657: x<-L+P+Q+S #define ACTION_657 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 658: x<-L+P+Q+T #define ACTION_658 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 659: x<-L+P+Q+U #define ACTION_659 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 660: x<-L+P+Q+V #define ACTION_660 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 661: x<-L+P+Q+W #define ACTION_661 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 662: x<-L+P+R+S #define ACTION_662 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 663: x<-L+P+R+T #define ACTION_663 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 664: x<-L+P+R+U #define ACTION_664 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 665: x<-L+P+R+V #define ACTION_665 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 666: x<-L+P+R+W #define ACTION_666 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 667: x<-L+P+S+T #define ACTION_667 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 668: x<-L+P+S+U #define ACTION_668 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 669: x<-L+P+S+V #define ACTION_669 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 670: x<-L+P+S+W #define ACTION_670 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 671: x<-L+P+T+U #define ACTION_671 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 672: x<-L+P+T+V #define ACTION_672 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 673: x<-L+P+T+W #define ACTION_673 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 674: x<-L+P+U+V #define ACTION_674 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 675: x<-L+P+U+W #define ACTION_675 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 676: x<-L+P+V+W #define ACTION_676 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 677: x<-L+Q+R+T #define ACTION_677 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 678: x<-L+Q+R+U #define ACTION_678 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 679: x<-L+Q+R+V #define ACTION_679 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 680: x<-L+Q+R+W #define ACTION_680 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 681: x<-L+Q+S+T #define ACTION_681 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 682: x<-L+Q+S+U #define ACTION_682 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 683: x<-L+Q+S+V #define ACTION_683 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 684: x<-L+Q+S+W #define ACTION_684 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 685: x<-L+Q+T+U #define ACTION_685 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 686: x<-L+Q+T+V #define ACTION_686 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 687: x<-L+Q+T+W #define ACTION_687 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 688: x<-L+Q+U+V #define ACTION_688 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 689: x<-L+Q+U+W #define ACTION_689 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 690: x<-L+Q+V+W #define ACTION_690 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 691: x<-L+R+S+T #define ACTION_691 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 692: x<-L+R+S+U #define ACTION_692 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 693: x<-L+R+S+V #define ACTION_693 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 694: x<-L+R+S+W #define ACTION_694 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 695: x<-L+R+T+U #define ACTION_695 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 696: x<-L+R+T+V #define ACTION_696 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 697: x<-L+R+T+W #define ACTION_697 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 698: x<-L+R+U+V #define ACTION_698 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 699: x<-L+R+U+W #define ACTION_699 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 700: x<-L+R+V+W #define ACTION_700 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 701: x<-L+S+T+U #define ACTION_701 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]));continue; // Action 702: x<-L+S+T+V #define ACTION_702 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]));continue; // Action 703: x<-L+S+T+W #define ACTION_703 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]));continue; // Action 704: x<-L+S+U+V #define ACTION_704 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]));continue; // Action 705: x<-L+S+U+W #define ACTION_705 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]));continue; // Action 706: x<-L+S+V+W #define ACTION_706 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]));continue; // Action 707: x<-L+T+U+W #define ACTION_707 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c]));continue; // Action 708: x<-L+T+V+W #define ACTION_708 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c]));continue; // Action 709: x<-L+U+V+W #define ACTION_709 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row12[c]));continue; // Action 710: x<-M+N+O+Q #define ACTION_710 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 711: x<-M+N+O+T #define ACTION_711 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 712: x<-M+N+O+U #define ACTION_712 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 713: x<-M+N+O+V #define ACTION_713 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 714: x<-M+N+O+W #define ACTION_714 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 715: x<-M+N+P+Q #define ACTION_715 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 716: x<-M+N+P+R #define ACTION_716 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 717: x<-M+N+P+T #define ACTION_717 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 718: x<-M+N+P+U #define ACTION_718 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 719: x<-M+N+P+V #define ACTION_719 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 720: x<-M+N+P+W #define ACTION_720 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 721: x<-M+N+Q+R #define ACTION_721 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 722: x<-M+N+Q+S #define ACTION_722 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 723: x<-M+N+Q+T #define ACTION_723 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 724: x<-M+N+Q+U #define ACTION_724 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 725: x<-M+N+Q+V #define ACTION_725 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 726: x<-M+N+Q+W #define ACTION_726 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 727: x<-M+N+R+S #define ACTION_727 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 728: x<-M+N+R+T #define ACTION_728 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 729: x<-M+N+R+U #define ACTION_729 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 730: x<-M+N+R+V #define ACTION_730 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 731: x<-M+N+R+W #define ACTION_731 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 732: x<-M+N+S+T #define ACTION_732 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 733: x<-M+N+S+U #define ACTION_733 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 734: x<-M+N+S+V #define ACTION_734 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 735: x<-M+N+S+W #define ACTION_735 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 736: x<-M+N+T+U #define ACTION_736 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 737: x<-M+N+T+V #define ACTION_737 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 738: x<-M+N+T+W #define ACTION_738 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 739: x<-M+N+U+V #define ACTION_739 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 740: x<-M+N+U+W #define ACTION_740 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 741: x<-M+N+V+W #define ACTION_741 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 742: x<-M+O+P+Q #define ACTION_742 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 743: x<-M+O+P+R #define ACTION_743 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 744: x<-M+O+P+T #define ACTION_744 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 745: x<-M+O+P+U #define ACTION_745 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 746: x<-M+O+P+V #define ACTION_746 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 747: x<-M+O+P+W #define ACTION_747 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 748: x<-M+O+Q+R #define ACTION_748 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 749: x<-M+O+Q+S #define ACTION_749 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 750: x<-M+O+Q+T #define ACTION_750 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 751: x<-M+O+Q+U #define ACTION_751 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 752: x<-M+O+Q+V #define ACTION_752 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 753: x<-M+O+Q+W #define ACTION_753 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 754: x<-M+O+R+S #define ACTION_754 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 755: x<-M+O+R+T #define ACTION_755 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 756: x<-M+O+R+U #define ACTION_756 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 757: x<-M+O+R+V #define ACTION_757 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 758: x<-M+O+R+W #define ACTION_758 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 759: x<-M+O+S+T #define ACTION_759 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 760: x<-M+O+S+U #define ACTION_760 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 761: x<-M+O+S+V #define ACTION_761 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 762: x<-M+O+S+W #define ACTION_762 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 763: x<-M+O+T+U #define ACTION_763 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 764: x<-M+O+T+V #define ACTION_764 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 765: x<-M+O+T+W #define ACTION_765 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 766: x<-M+O+U+V #define ACTION_766 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 767: x<-M+O+U+W #define ACTION_767 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 768: x<-M+O+V+W #define ACTION_768 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 769: x<-M+P+Q+T #define ACTION_769 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 770: x<-M+P+Q+U #define ACTION_770 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 771: x<-M+P+Q+V #define ACTION_771 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 772: x<-M+P+Q+W #define ACTION_772 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 773: x<-M+P+R+T #define ACTION_773 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 774: x<-M+P+R+U #define ACTION_774 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 775: x<-M+P+R+V #define ACTION_775 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 776: x<-M+P+R+W #define ACTION_776 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 777: x<-M+P+T+U #define ACTION_777 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 778: x<-M+P+T+V #define ACTION_778 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 779: x<-M+P+T+W #define ACTION_779 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 780: x<-M+P+U+V #define ACTION_780 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 781: x<-M+P+U+W #define ACTION_781 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 782: x<-M+P+V+W #define ACTION_782 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 783: x<-M+Q+R+T #define ACTION_783 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 784: x<-M+Q+R+U #define ACTION_784 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 785: x<-M+Q+R+V #define ACTION_785 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 786: x<-M+Q+R+W #define ACTION_786 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 787: x<-M+Q+S+T #define ACTION_787 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 788: x<-M+Q+S+U #define ACTION_788 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 789: x<-M+Q+S+V #define ACTION_789 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 790: x<-M+Q+S+W #define ACTION_790 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 791: x<-M+Q+T+U #define ACTION_791 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 792: x<-M+Q+T+V #define ACTION_792 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 793: x<-M+Q+T+W #define ACTION_793 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 794: x<-M+Q+U+V #define ACTION_794 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 795: x<-M+Q+U+W #define ACTION_795 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 796: x<-M+Q+V+W #define ACTION_796 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 797: x<-M+R+S+T #define ACTION_797 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 798: x<-M+R+S+U #define ACTION_798 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 799: x<-M+R+S+V #define ACTION_799 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 800: x<-M+R+S+W #define ACTION_800 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 801: x<-M+R+T+U #define ACTION_801 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 802: x<-M+R+T+V #define ACTION_802 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 803: x<-M+R+T+W #define ACTION_803 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 804: x<-M+R+U+V #define ACTION_804 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 805: x<-M+R+U+W #define ACTION_805 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 806: x<-M+R+V+W #define ACTION_806 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 807: x<-M+S+T+U #define ACTION_807 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 808: x<-M+S+T+V #define ACTION_808 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 809: x<-M+S+T+W #define ACTION_809 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 810: x<-M+S+U+V #define ACTION_810 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 811: x<-M+S+U+W #define ACTION_811 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 812: x<-M+S+V+W #define ACTION_812 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 813: x<-M+T+U+W #define ACTION_813 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 814: x<-M+T+V+W #define ACTION_814 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 815: x<-M+U+V+W #define ACTION_815 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row12[c + 2]));continue; // Action 816: x<-N+O+Q+R #define ACTION_816 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 817: x<-N+O+Q+S #define ACTION_817 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 818: x<-N+O+Q+T #define ACTION_818 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 819: x<-N+O+Q+U #define ACTION_819 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 820: x<-N+O+Q+V #define ACTION_820 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 821: x<-N+O+Q+W #define ACTION_821 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 822: x<-N+O+R+S #define ACTION_822 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 823: x<-N+O+R+T #define ACTION_823 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 824: x<-N+O+R+U #define ACTION_824 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 825: x<-N+O+R+V #define ACTION_825 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 826: x<-N+O+R+W #define ACTION_826 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 827: x<-N+O+S+T #define ACTION_827 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 828: x<-N+O+S+U #define ACTION_828 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 829: x<-N+O+S+V #define ACTION_829 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 830: x<-N+O+S+W #define ACTION_830 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 831: x<-N+O+T+U #define ACTION_831 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 832: x<-N+O+T+V #define ACTION_832 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 833: x<-N+O+T+W #define ACTION_833 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 834: x<-N+O+U+V #define ACTION_834 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 835: x<-N+O+U+W #define ACTION_835 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 836: x<-N+O+V+W #define ACTION_836 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 837: x<-N+P+Q+R #define ACTION_837 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 838: x<-N+P+Q+S #define ACTION_838 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 839: x<-N+P+Q+T #define ACTION_839 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 840: x<-N+P+Q+U #define ACTION_840 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 841: x<-N+P+Q+V #define ACTION_841 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 842: x<-N+P+Q+W #define ACTION_842 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 843: x<-N+P+R+S #define ACTION_843 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 844: x<-N+P+R+T #define ACTION_844 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 845: x<-N+P+R+U #define ACTION_845 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 846: x<-N+P+R+V #define ACTION_846 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 847: x<-N+P+R+W #define ACTION_847 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 848: x<-N+P+S+T #define ACTION_848 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 849: x<-N+P+S+U #define ACTION_849 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 850: x<-N+P+S+V #define ACTION_850 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 851: x<-N+P+S+W #define ACTION_851 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 852: x<-N+P+T+U #define ACTION_852 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 853: x<-N+P+T+V #define ACTION_853 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 854: x<-N+P+T+W #define ACTION_854 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 855: x<-N+P+U+V #define ACTION_855 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 856: x<-N+P+U+W #define ACTION_856 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 857: x<-N+P+V+W #define ACTION_857 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 858: x<-N+Q+R+T #define ACTION_858 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 859: x<-N+Q+R+U #define ACTION_859 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 860: x<-N+Q+R+V #define ACTION_860 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 861: x<-N+Q+R+W #define ACTION_861 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 862: x<-N+Q+S+T #define ACTION_862 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 863: x<-N+Q+S+U #define ACTION_863 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 864: x<-N+Q+S+V #define ACTION_864 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 865: x<-N+Q+S+W #define ACTION_865 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 866: x<-N+Q+T+U #define ACTION_866 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 867: x<-N+Q+T+V #define ACTION_867 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 868: x<-N+Q+T+W #define ACTION_868 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 869: x<-N+Q+U+V #define ACTION_869 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 870: x<-N+Q+U+W #define ACTION_870 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 871: x<-N+Q+V+W #define ACTION_871 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 872: x<-N+R+S+T #define ACTION_872 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 873: x<-N+R+S+U #define ACTION_873 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 874: x<-N+R+S+V #define ACTION_874 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 875: x<-N+R+S+W #define ACTION_875 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 876: x<-N+R+T+U #define ACTION_876 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 877: x<-N+R+T+V #define ACTION_877 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 878: x<-N+R+T+W #define ACTION_878 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 879: x<-N+R+U+V #define ACTION_879 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 880: x<-N+R+U+W #define ACTION_880 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 881: x<-N+R+V+W #define ACTION_881 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 882: x<-N+S+T+U #define ACTION_882 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 883: x<-N+S+T+V #define ACTION_883 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 884: x<-N+S+T+W #define ACTION_884 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 885: x<-N+S+U+V #define ACTION_885 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 886: x<-N+S+U+W #define ACTION_886 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 887: x<-N+S+V+W #define ACTION_887 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 888: x<-N+T+U+W #define ACTION_888 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 889: x<-N+T+V+W #define ACTION_889 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 890: x<-N+U+V+W #define ACTION_890 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c - 2]));continue; // Action 891: x<-O+P+Q+R #define ACTION_891 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 892: x<-O+P+Q+S #define ACTION_892 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 893: x<-O+P+Q+T #define ACTION_893 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 894: x<-O+P+Q+U #define ACTION_894 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 895: x<-O+P+Q+V #define ACTION_895 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 896: x<-O+P+Q+W #define ACTION_896 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 897: x<-O+P+R+S #define ACTION_897 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 898: x<-O+P+R+T #define ACTION_898 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 899: x<-O+P+R+U #define ACTION_899 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 900: x<-O+P+R+V #define ACTION_900 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 901: x<-O+P+R+W #define ACTION_901 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 902: x<-O+P+S+T #define ACTION_902 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 903: x<-O+P+S+U #define ACTION_903 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 904: x<-O+P+S+V #define ACTION_904 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 905: x<-O+P+S+W #define ACTION_905 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 906: x<-O+P+T+U #define ACTION_906 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 907: x<-O+P+T+V #define ACTION_907 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 908: x<-O+P+T+W #define ACTION_908 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 909: x<-O+P+U+V #define ACTION_909 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 910: x<-O+P+U+W #define ACTION_910 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 911: x<-O+P+V+W #define ACTION_911 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 912: x<-O+Q+R+T #define ACTION_912 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 913: x<-O+Q+R+U #define ACTION_913 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 914: x<-O+Q+R+V #define ACTION_914 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 915: x<-O+Q+R+W #define ACTION_915 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 916: x<-O+Q+S+T #define ACTION_916 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 917: x<-O+Q+S+U #define ACTION_917 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 918: x<-O+Q+S+V #define ACTION_918 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 919: x<-O+Q+S+W #define ACTION_919 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 920: x<-O+Q+T+U #define ACTION_920 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 921: x<-O+Q+T+V #define ACTION_921 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 922: x<-O+Q+T+W #define ACTION_922 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 923: x<-O+Q+U+V #define ACTION_923 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 924: x<-O+Q+U+W #define ACTION_924 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 925: x<-O+Q+V+W #define ACTION_925 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 926: x<-O+R+S+T #define ACTION_926 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 927: x<-O+R+S+U #define ACTION_927 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 928: x<-O+R+S+V #define ACTION_928 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 929: x<-O+R+S+W #define ACTION_929 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 930: x<-O+R+T+U #define ACTION_930 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 931: x<-O+R+T+V #define ACTION_931 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 932: x<-O+R+T+W #define ACTION_932 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 933: x<-O+R+U+V #define ACTION_933 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 934: x<-O+R+U+W #define ACTION_934 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 935: x<-O+R+V+W #define ACTION_935 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 936: x<-O+S+T+U #define ACTION_936 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]));continue; // Action 937: x<-O+S+T+V #define ACTION_937 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]));continue; // Action 938: x<-O+S+T+W #define ACTION_938 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]));continue; // Action 939: x<-O+S+U+V #define ACTION_939 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]));continue; // Action 940: x<-O+S+U+W #define ACTION_940 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]));continue; // Action 941: x<-O+S+V+W #define ACTION_941 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]));continue; // Action 942: x<-O+T+U+W #define ACTION_942 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]));continue; // Action 943: x<-O+T+V+W #define ACTION_943 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]));continue; // Action 944: x<-O+U+V+W #define ACTION_944 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]));continue; // Action 945: x<-P+Q+R+T #define ACTION_945 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 946: x<-P+Q+R+U #define ACTION_946 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 947: x<-P+Q+R+V #define ACTION_947 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 948: x<-P+Q+R+W #define ACTION_948 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 949: x<-P+Q+S+T #define ACTION_949 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 950: x<-P+Q+S+U #define ACTION_950 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 951: x<-P+Q+S+V #define ACTION_951 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 952: x<-P+Q+S+W #define ACTION_952 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 953: x<-P+Q+T+U #define ACTION_953 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 954: x<-P+Q+T+V #define ACTION_954 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 955: x<-P+Q+T+W #define ACTION_955 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 956: x<-P+Q+U+V #define ACTION_956 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 957: x<-P+Q+U+W #define ACTION_957 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 958: x<-P+Q+V+W #define ACTION_958 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 959: x<-P+R+S+T #define ACTION_959 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 960: x<-P+R+S+U #define ACTION_960 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 961: x<-P+R+S+V #define ACTION_961 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 962: x<-P+R+S+W #define ACTION_962 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 963: x<-P+R+T+U #define ACTION_963 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 964: x<-P+R+T+V #define ACTION_964 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 965: x<-P+R+T+W #define ACTION_965 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 966: x<-P+R+U+V #define ACTION_966 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 967: x<-P+R+U+W #define ACTION_967 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 968: x<-P+R+V+W #define ACTION_968 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 969: x<-P+S+T+U #define ACTION_969 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 970: x<-P+S+T+V #define ACTION_970 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 971: x<-P+S+T+W #define ACTION_971 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 972: x<-P+S+U+V #define ACTION_972 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 973: x<-P+S+U+W #define ACTION_973 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 974: x<-P+S+V+W #define ACTION_974 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 975: x<-P+T+U+W #define ACTION_975 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 976: x<-P+T+V+W #define ACTION_976 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 977: x<-P+U+V+W #define ACTION_977 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]));continue; // Action 978: x<-Q+R+T+U #define ACTION_978 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]));continue; // Action 979: x<-Q+R+T+V #define ACTION_979 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]));continue; // Action 980: x<-Q+R+T+W #define ACTION_980 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]));continue; // Action 981: x<-Q+R+U+V #define ACTION_981 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]));continue; // Action 982: x<-Q+R+U+W #define ACTION_982 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]));continue; // Action 983: x<-Q+R+V+W #define ACTION_983 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]));continue; // Action 984: x<-Q+S+T+U #define ACTION_984 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]));continue; // Action 985: x<-Q+S+T+V #define ACTION_985 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]));continue; // Action 986: x<-Q+S+T+W #define ACTION_986 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]));continue; // Action 987: x<-Q+S+U+V #define ACTION_987 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]));continue; // Action 988: x<-Q+S+U+W #define ACTION_988 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]));continue; // Action 989: x<-Q+S+V+W #define ACTION_989 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]));continue; // Action 990: x<-Q+T+U+W #define ACTION_990 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]));continue; // Action 991: x<-Q+T+V+W #define ACTION_991 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]));continue; // Action 992: x<-Q+U+V+W #define ACTION_992 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]));continue; // Action 993: x<-R+S+T+U #define ACTION_993 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]));continue; // Action 994: x<-R+S+T+V #define ACTION_994 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]));continue; // Action 995: x<-R+S+T+W #define ACTION_995 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]));continue; // Action 996: x<-R+S+U+V #define ACTION_996 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]));continue; // Action 997: x<-R+S+U+W #define ACTION_997 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]));continue; // Action 998: x<-R+S+V+W #define ACTION_998 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]));continue; // Action 999: x<-R+T+U+W #define ACTION_999 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]));continue; // Action 1000: x<-R+T+V+W #define ACTION_1000 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]));continue; // Action 1001: x<-R+U+V+W #define ACTION_1001 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]));continue; // Action 1002: x<-S+T+U+W #define ACTION_1002 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]));continue; // Action 1003: x<-S+T+V+W #define ACTION_1003 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]));continue; // Action 1004: x<-S+U+V+W #define ACTION_1004 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]));continue; // Action 1005: x<-K+L+N+O+T #define ACTION_1005 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1006: x<-K+L+N+O+U #define ACTION_1006 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1007: x<-K+L+N+O+V #define ACTION_1007 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1008: x<-K+L+N+O+W #define ACTION_1008 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1009: x<-K+L+N+P+T #define ACTION_1009 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1010: x<-K+L+N+P+U #define ACTION_1010 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1011: x<-K+L+N+P+V #define ACTION_1011 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1012: x<-K+L+N+P+W #define ACTION_1012 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1013: x<-K+L+N+R+T #define ACTION_1013 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1014: x<-K+L+N+R+U #define ACTION_1014 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1015: x<-K+L+N+R+V #define ACTION_1015 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1016: x<-K+L+N+R+W #define ACTION_1016 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1017: x<-K+L+N+S+T #define ACTION_1017 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1018: x<-K+L+N+S+U #define ACTION_1018 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1019: x<-K+L+N+S+V #define ACTION_1019 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1020: x<-K+L+N+S+W #define ACTION_1020 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1021: x<-K+L+N+T+U #define ACTION_1021 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1022: x<-K+L+N+T+V #define ACTION_1022 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1023: x<-K+L+N+T+W #define ACTION_1023 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1024: x<-K+L+N+U+V #define ACTION_1024 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1025: x<-K+L+N+U+W #define ACTION_1025 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1026: x<-K+L+N+V+W #define ACTION_1026 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1027: x<-K+L+O+P+T #define ACTION_1027 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1028: x<-K+L+O+P+U #define ACTION_1028 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1029: x<-K+L+O+P+V #define ACTION_1029 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1030: x<-K+L+O+P+W #define ACTION_1030 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1031: x<-K+L+O+Q+T #define ACTION_1031 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1032: x<-K+L+O+Q+U #define ACTION_1032 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1033: x<-K+L+O+Q+V #define ACTION_1033 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1034: x<-K+L+O+Q+W #define ACTION_1034 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1035: x<-K+L+O+S+T #define ACTION_1035 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1036: x<-K+L+O+S+U #define ACTION_1036 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1037: x<-K+L+O+S+V #define ACTION_1037 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1038: x<-K+L+O+S+W #define ACTION_1038 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1039: x<-K+L+O+T+U #define ACTION_1039 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1040: x<-K+L+O+T+V #define ACTION_1040 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1041: x<-K+L+O+T+W #define ACTION_1041 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1042: x<-K+L+O+U+V #define ACTION_1042 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1043: x<-K+L+O+U+W #define ACTION_1043 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1044: x<-K+L+O+V+W #define ACTION_1044 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1045: x<-K+L+P+Q+T #define ACTION_1045 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1046: x<-K+L+P+Q+U #define ACTION_1046 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1047: x<-K+L+P+Q+V #define ACTION_1047 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1048: x<-K+L+P+Q+W #define ACTION_1048 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1049: x<-K+L+P+R+T #define ACTION_1049 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1050: x<-K+L+P+R+U #define ACTION_1050 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1051: x<-K+L+P+R+V #define ACTION_1051 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1052: x<-K+L+P+R+W #define ACTION_1052 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1053: x<-K+L+P+T+U #define ACTION_1053 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1054: x<-K+L+P+T+V #define ACTION_1054 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1055: x<-K+L+P+T+W #define ACTION_1055 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1056: x<-K+L+P+U+V #define ACTION_1056 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1057: x<-K+L+P+U+W #define ACTION_1057 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1058: x<-K+L+P+V+W #define ACTION_1058 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1059: x<-K+L+Q+R+T #define ACTION_1059 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1060: x<-K+L+Q+R+U #define ACTION_1060 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1061: x<-K+L+Q+R+V #define ACTION_1061 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1062: x<-K+L+Q+R+W #define ACTION_1062 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1063: x<-K+L+Q+S+T #define ACTION_1063 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1064: x<-K+L+Q+S+U #define ACTION_1064 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1065: x<-K+L+Q+S+V #define ACTION_1065 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1066: x<-K+L+Q+S+W #define ACTION_1066 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1067: x<-K+L+Q+T+U #define ACTION_1067 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1068: x<-K+L+Q+T+V #define ACTION_1068 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1069: x<-K+L+Q+T+W #define ACTION_1069 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1070: x<-K+L+Q+U+V #define ACTION_1070 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1071: x<-K+L+Q+U+W #define ACTION_1071 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1072: x<-K+L+Q+V+W #define ACTION_1072 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1073: x<-K+L+R+S+T #define ACTION_1073 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1074: x<-K+L+R+S+U #define ACTION_1074 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1075: x<-K+L+R+S+V #define ACTION_1075 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1076: x<-K+L+R+S+W #define ACTION_1076 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1077: x<-K+L+R+T+U #define ACTION_1077 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1078: x<-K+L+R+T+V #define ACTION_1078 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1079: x<-K+L+R+T+W #define ACTION_1079 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1080: x<-K+L+R+U+V #define ACTION_1080 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1081: x<-K+L+R+U+W #define ACTION_1081 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1082: x<-K+L+R+V+W #define ACTION_1082 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1083: x<-K+L+S+T+U #define ACTION_1083 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1084: x<-K+L+S+T+V #define ACTION_1084 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1085: x<-K+L+S+T+W #define ACTION_1085 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1086: x<-K+L+S+U+V #define ACTION_1086 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1087: x<-K+L+S+U+W #define ACTION_1087 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1088: x<-K+L+S+V+W #define ACTION_1088 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1089: x<-K+L+T+U+W #define ACTION_1089 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1090: x<-K+L+T+V+W #define ACTION_1090 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1091: x<-K+L+U+V+W #define ACTION_1091 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row12[c], img_labels_slice11_row12[c - 2]));continue; // Action 1092: x<-K+M+N+O+T #define ACTION_1092 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1093: x<-K+M+N+O+U #define ACTION_1093 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1094: x<-K+M+N+O+V #define ACTION_1094 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1095: x<-K+M+N+O+W #define ACTION_1095 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1096: x<-K+M+N+P+T #define ACTION_1096 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1097: x<-K+M+N+P+U #define ACTION_1097 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1098: x<-K+M+N+P+V #define ACTION_1098 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1099: x<-K+M+N+P+W #define ACTION_1099 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1100: x<-K+M+N+R+T #define ACTION_1100 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1101: x<-K+M+N+R+U #define ACTION_1101 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1102: x<-K+M+N+R+V #define ACTION_1102 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1103: x<-K+M+N+R+W #define ACTION_1103 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1104: x<-K+M+N+S+T #define ACTION_1104 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1105: x<-K+M+N+S+U #define ACTION_1105 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1106: x<-K+M+N+S+V #define ACTION_1106 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1107: x<-K+M+N+S+W #define ACTION_1107 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1108: x<-K+M+N+T+U #define ACTION_1108 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1109: x<-K+M+N+T+V #define ACTION_1109 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1110: x<-K+M+N+T+W #define ACTION_1110 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1111: x<-K+M+N+U+V #define ACTION_1111 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1112: x<-K+M+N+U+W #define ACTION_1112 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1113: x<-K+M+N+V+W #define ACTION_1113 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1114: x<-K+M+O+P+T #define ACTION_1114 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1115: x<-K+M+O+P+U #define ACTION_1115 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1116: x<-K+M+O+P+V #define ACTION_1116 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1117: x<-K+M+O+P+W #define ACTION_1117 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1118: x<-K+M+O+Q+T #define ACTION_1118 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1119: x<-K+M+O+Q+U #define ACTION_1119 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1120: x<-K+M+O+Q+V #define ACTION_1120 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1121: x<-K+M+O+Q+W #define ACTION_1121 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1122: x<-K+M+O+S+T #define ACTION_1122 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1123: x<-K+M+O+S+U #define ACTION_1123 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1124: x<-K+M+O+S+V #define ACTION_1124 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1125: x<-K+M+O+S+W #define ACTION_1125 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1126: x<-K+M+O+T+U #define ACTION_1126 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1127: x<-K+M+O+T+V #define ACTION_1127 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1128: x<-K+M+O+T+W #define ACTION_1128 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1129: x<-K+M+O+U+V #define ACTION_1129 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1130: x<-K+M+O+U+W #define ACTION_1130 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1131: x<-K+M+O+V+W #define ACTION_1131 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1132: x<-K+M+P+Q+T #define ACTION_1132 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1133: x<-K+M+P+Q+U #define ACTION_1133 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1134: x<-K+M+P+Q+V #define ACTION_1134 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1135: x<-K+M+P+Q+W #define ACTION_1135 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1136: x<-K+M+P+R+T #define ACTION_1136 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1137: x<-K+M+P+R+U #define ACTION_1137 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1138: x<-K+M+P+R+V #define ACTION_1138 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1139: x<-K+M+P+R+W #define ACTION_1139 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1140: x<-K+M+P+T+U #define ACTION_1140 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1141: x<-K+M+P+T+V #define ACTION_1141 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1142: x<-K+M+P+T+W #define ACTION_1142 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1143: x<-K+M+P+U+V #define ACTION_1143 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1144: x<-K+M+P+U+W #define ACTION_1144 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1145: x<-K+M+P+V+W #define ACTION_1145 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1146: x<-K+M+Q+R+T #define ACTION_1146 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1147: x<-K+M+Q+R+U #define ACTION_1147 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1148: x<-K+M+Q+R+V #define ACTION_1148 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1149: x<-K+M+Q+R+W #define ACTION_1149 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1150: x<-K+M+Q+S+T #define ACTION_1150 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1151: x<-K+M+Q+S+U #define ACTION_1151 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1152: x<-K+M+Q+S+V #define ACTION_1152 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1153: x<-K+M+Q+S+W #define ACTION_1153 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1154: x<-K+M+Q+T+U #define ACTION_1154 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1155: x<-K+M+Q+T+V #define ACTION_1155 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1156: x<-K+M+Q+T+W #define ACTION_1156 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1157: x<-K+M+Q+U+V #define ACTION_1157 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1158: x<-K+M+Q+U+W #define ACTION_1158 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1159: x<-K+M+Q+V+W #define ACTION_1159 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1160: x<-K+M+R+S+T #define ACTION_1160 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1161: x<-K+M+R+S+U #define ACTION_1161 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1162: x<-K+M+R+S+V #define ACTION_1162 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1163: x<-K+M+R+S+W #define ACTION_1163 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1164: x<-K+M+R+T+U #define ACTION_1164 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1165: x<-K+M+R+T+V #define ACTION_1165 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1166: x<-K+M+R+T+W #define ACTION_1166 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1167: x<-K+M+R+U+V #define ACTION_1167 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1168: x<-K+M+R+U+W #define ACTION_1168 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1169: x<-K+M+R+V+W #define ACTION_1169 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1170: x<-K+M+S+T+U #define ACTION_1170 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1171: x<-K+M+S+T+V #define ACTION_1171 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1172: x<-K+M+S+T+W #define ACTION_1172 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1173: x<-K+M+S+U+V #define ACTION_1173 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1174: x<-K+M+S+U+W #define ACTION_1174 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1175: x<-K+M+S+V+W #define ACTION_1175 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1176: x<-K+M+T+U+W #define ACTION_1176 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1177: x<-K+M+T+V+W #define ACTION_1177 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1178: x<-K+M+U+V+W #define ACTION_1178 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1179: x<-K+N+O+R+T #define ACTION_1179 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1180: x<-K+N+O+R+U #define ACTION_1180 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1181: x<-K+N+O+R+V #define ACTION_1181 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1182: x<-K+N+O+R+W #define ACTION_1182 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1183: x<-K+N+O+S+T #define ACTION_1183 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1184: x<-K+N+O+S+U #define ACTION_1184 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1185: x<-K+N+O+S+V #define ACTION_1185 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1186: x<-K+N+O+S+W #define ACTION_1186 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1187: x<-K+N+O+T+U #define ACTION_1187 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1188: x<-K+N+O+T+V #define ACTION_1188 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1189: x<-K+N+O+T+W #define ACTION_1189 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1190: x<-K+N+O+U+V #define ACTION_1190 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1191: x<-K+N+O+U+W #define ACTION_1191 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1192: x<-K+N+O+V+W #define ACTION_1192 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1193: x<-K+N+P+R+T #define ACTION_1193 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1194: x<-K+N+P+R+U #define ACTION_1194 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1195: x<-K+N+P+R+V #define ACTION_1195 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1196: x<-K+N+P+R+W #define ACTION_1196 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1197: x<-K+N+P+S+T #define ACTION_1197 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1198: x<-K+N+P+S+U #define ACTION_1198 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1199: x<-K+N+P+S+V #define ACTION_1199 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1200: x<-K+N+P+S+W #define ACTION_1200 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1201: x<-K+N+P+T+U #define ACTION_1201 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1202: x<-K+N+P+T+V #define ACTION_1202 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1203: x<-K+N+P+T+W #define ACTION_1203 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1204: x<-K+N+P+U+V #define ACTION_1204 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1205: x<-K+N+P+U+W #define ACTION_1205 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1206: x<-K+N+P+V+W #define ACTION_1206 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1207: x<-K+N+R+T+U #define ACTION_1207 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1208: x<-K+N+R+T+V #define ACTION_1208 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1209: x<-K+N+R+T+W #define ACTION_1209 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1210: x<-K+N+R+U+V #define ACTION_1210 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1211: x<-K+N+R+U+W #define ACTION_1211 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1212: x<-K+N+R+V+W #define ACTION_1212 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1213: x<-K+N+S+T+U #define ACTION_1213 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1214: x<-K+N+S+T+V #define ACTION_1214 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1215: x<-K+N+S+T+W #define ACTION_1215 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1216: x<-K+N+S+U+V #define ACTION_1216 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1217: x<-K+N+S+U+W #define ACTION_1217 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1218: x<-K+N+S+V+W #define ACTION_1218 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1219: x<-K+N+T+U+W #define ACTION_1219 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1220: x<-K+N+T+V+W #define ACTION_1220 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1221: x<-K+N+U+V+W #define ACTION_1221 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1222: x<-K+O+P+S+T #define ACTION_1222 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1223: x<-K+O+P+S+U #define ACTION_1223 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1224: x<-K+O+P+S+V #define ACTION_1224 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1225: x<-K+O+P+S+W #define ACTION_1225 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1226: x<-K+O+P+T+U #define ACTION_1226 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1227: x<-K+O+P+T+V #define ACTION_1227 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1228: x<-K+O+P+T+W #define ACTION_1228 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1229: x<-K+O+P+U+V #define ACTION_1229 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1230: x<-K+O+P+U+W #define ACTION_1230 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1231: x<-K+O+P+V+W #define ACTION_1231 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1232: x<-K+O+Q+R+T #define ACTION_1232 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1233: x<-K+O+Q+R+U #define ACTION_1233 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1234: x<-K+O+Q+R+V #define ACTION_1234 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1235: x<-K+O+Q+R+W #define ACTION_1235 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1236: x<-K+O+Q+S+T #define ACTION_1236 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1237: x<-K+O+Q+S+U #define ACTION_1237 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1238: x<-K+O+Q+S+V #define ACTION_1238 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1239: x<-K+O+Q+S+W #define ACTION_1239 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1240: x<-K+O+Q+T+U #define ACTION_1240 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1241: x<-K+O+Q+T+V #define ACTION_1241 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1242: x<-K+O+Q+T+W #define ACTION_1242 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1243: x<-K+O+Q+U+V #define ACTION_1243 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1244: x<-K+O+Q+U+W #define ACTION_1244 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1245: x<-K+O+Q+V+W #define ACTION_1245 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1246: x<-K+O+R+S+T #define ACTION_1246 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1247: x<-K+O+R+S+U #define ACTION_1247 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1248: x<-K+O+R+S+V #define ACTION_1248 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1249: x<-K+O+R+S+W #define ACTION_1249 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1250: x<-K+O+R+T+U #define ACTION_1250 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1251: x<-K+O+R+T+V #define ACTION_1251 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1252: x<-K+O+R+T+W #define ACTION_1252 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1253: x<-K+O+R+U+V #define ACTION_1253 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1254: x<-K+O+R+U+W #define ACTION_1254 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1255: x<-K+O+R+V+W #define ACTION_1255 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1256: x<-K+O+S+T+U #define ACTION_1256 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1257: x<-K+O+S+T+V #define ACTION_1257 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1258: x<-K+O+S+T+W #define ACTION_1258 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1259: x<-K+O+S+U+V #define ACTION_1259 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1260: x<-K+O+S+U+W #define ACTION_1260 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1261: x<-K+O+S+V+W #define ACTION_1261 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1262: x<-K+O+T+U+W #define ACTION_1262 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1263: x<-K+O+T+V+W #define ACTION_1263 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1264: x<-K+O+U+V+W #define ACTION_1264 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c - 2]));continue; // Action 1265: x<-K+P+Q+R+T #define ACTION_1265 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1266: x<-K+P+Q+R+U #define ACTION_1266 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1267: x<-K+P+Q+R+V #define ACTION_1267 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1268: x<-K+P+Q+R+W #define ACTION_1268 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1269: x<-K+P+Q+S+T #define ACTION_1269 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1270: x<-K+P+Q+S+U #define ACTION_1270 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1271: x<-K+P+Q+S+V #define ACTION_1271 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1272: x<-K+P+Q+S+W #define ACTION_1272 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1273: x<-K+P+Q+T+U #define ACTION_1273 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1274: x<-K+P+Q+T+V #define ACTION_1274 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1275: x<-K+P+Q+T+W #define ACTION_1275 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1276: x<-K+P+Q+U+V #define ACTION_1276 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1277: x<-K+P+Q+U+W #define ACTION_1277 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1278: x<-K+P+Q+V+W #define ACTION_1278 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1279: x<-K+P+R+S+T #define ACTION_1279 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1280: x<-K+P+R+S+U #define ACTION_1280 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1281: x<-K+P+R+S+V #define ACTION_1281 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1282: x<-K+P+R+S+W #define ACTION_1282 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1283: x<-K+P+R+T+U #define ACTION_1283 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1284: x<-K+P+R+T+V #define ACTION_1284 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1285: x<-K+P+R+T+W #define ACTION_1285 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1286: x<-K+P+R+U+V #define ACTION_1286 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1287: x<-K+P+R+U+W #define ACTION_1287 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1288: x<-K+P+R+V+W #define ACTION_1288 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1289: x<-K+P+S+T+U #define ACTION_1289 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1290: x<-K+P+S+T+V #define ACTION_1290 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1291: x<-K+P+S+T+W #define ACTION_1291 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1292: x<-K+P+S+U+V #define ACTION_1292 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1293: x<-K+P+S+U+W #define ACTION_1293 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1294: x<-K+P+S+V+W #define ACTION_1294 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1295: x<-K+P+T+U+W #define ACTION_1295 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1296: x<-K+P+T+V+W #define ACTION_1296 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1297: x<-K+P+U+V+W #define ACTION_1297 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1298: x<-K+Q+R+T+U #define ACTION_1298 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1299: x<-K+Q+R+T+V #define ACTION_1299 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1300: x<-K+Q+R+T+W #define ACTION_1300 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1301: x<-K+Q+R+U+V #define ACTION_1301 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1302: x<-K+Q+R+U+W #define ACTION_1302 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1303: x<-K+Q+R+V+W #define ACTION_1303 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1304: x<-K+Q+S+T+U #define ACTION_1304 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1305: x<-K+Q+S+T+V #define ACTION_1305 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1306: x<-K+Q+S+T+W #define ACTION_1306 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1307: x<-K+Q+S+U+V #define ACTION_1307 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1308: x<-K+Q+S+U+W #define ACTION_1308 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1309: x<-K+Q+S+V+W #define ACTION_1309 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1310: x<-K+Q+T+U+W #define ACTION_1310 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1311: x<-K+Q+T+V+W #define ACTION_1311 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1312: x<-K+Q+U+V+W #define ACTION_1312 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c - 2]));continue; // Action 1313: x<-K+R+S+T+U #define ACTION_1313 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 1314: x<-K+R+S+T+V #define ACTION_1314 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 1315: x<-K+R+S+T+W #define ACTION_1315 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 1316: x<-K+R+S+U+V #define ACTION_1316 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 1317: x<-K+R+S+U+W #define ACTION_1317 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 1318: x<-K+R+S+V+W #define ACTION_1318 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 1319: x<-K+R+T+U+W #define ACTION_1319 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 1320: x<-K+R+T+V+W #define ACTION_1320 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 1321: x<-K+R+U+V+W #define ACTION_1321 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c - 2]));continue; // Action 1322: x<-K+S+T+U+W #define ACTION_1322 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1323: x<-K+S+T+V+W #define ACTION_1323 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1324: x<-K+S+U+V+W #define ACTION_1324 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c - 2]));continue; // Action 1325: x<-L+M+N+O+T #define ACTION_1325 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1326: x<-L+M+N+O+U #define ACTION_1326 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1327: x<-L+M+N+O+V #define ACTION_1327 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1328: x<-L+M+N+O+W #define ACTION_1328 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1329: x<-L+M+N+P+T #define ACTION_1329 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1330: x<-L+M+N+P+U #define ACTION_1330 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1331: x<-L+M+N+P+V #define ACTION_1331 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1332: x<-L+M+N+P+W #define ACTION_1332 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1333: x<-L+M+N+R+T #define ACTION_1333 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1334: x<-L+M+N+R+U #define ACTION_1334 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1335: x<-L+M+N+R+V #define ACTION_1335 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1336: x<-L+M+N+R+W #define ACTION_1336 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1337: x<-L+M+N+S+T #define ACTION_1337 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1338: x<-L+M+N+S+U #define ACTION_1338 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1339: x<-L+M+N+S+V #define ACTION_1339 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1340: x<-L+M+N+S+W #define ACTION_1340 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1341: x<-L+M+N+T+U #define ACTION_1341 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1342: x<-L+M+N+T+V #define ACTION_1342 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1343: x<-L+M+N+T+W #define ACTION_1343 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1344: x<-L+M+N+U+V #define ACTION_1344 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1345: x<-L+M+N+U+W #define ACTION_1345 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1346: x<-L+M+N+V+W #define ACTION_1346 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1347: x<-L+M+O+P+T #define ACTION_1347 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1348: x<-L+M+O+P+U #define ACTION_1348 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1349: x<-L+M+O+P+V #define ACTION_1349 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1350: x<-L+M+O+P+W #define ACTION_1350 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1351: x<-L+M+O+Q+T #define ACTION_1351 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1352: x<-L+M+O+Q+U #define ACTION_1352 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1353: x<-L+M+O+Q+V #define ACTION_1353 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1354: x<-L+M+O+Q+W #define ACTION_1354 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1355: x<-L+M+O+S+T #define ACTION_1355 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1356: x<-L+M+O+S+U #define ACTION_1356 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1357: x<-L+M+O+S+V #define ACTION_1357 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1358: x<-L+M+O+S+W #define ACTION_1358 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1359: x<-L+M+O+T+U #define ACTION_1359 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1360: x<-L+M+O+T+V #define ACTION_1360 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1361: x<-L+M+O+T+W #define ACTION_1361 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1362: x<-L+M+O+U+V #define ACTION_1362 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1363: x<-L+M+O+U+W #define ACTION_1363 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1364: x<-L+M+O+V+W #define ACTION_1364 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1365: x<-L+M+P+Q+T #define ACTION_1365 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1366: x<-L+M+P+Q+U #define ACTION_1366 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1367: x<-L+M+P+Q+V #define ACTION_1367 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1368: x<-L+M+P+Q+W #define ACTION_1368 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1369: x<-L+M+P+R+T #define ACTION_1369 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1370: x<-L+M+P+R+U #define ACTION_1370 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1371: x<-L+M+P+R+V #define ACTION_1371 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1372: x<-L+M+P+R+W #define ACTION_1372 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1373: x<-L+M+P+T+U #define ACTION_1373 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1374: x<-L+M+P+T+V #define ACTION_1374 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1375: x<-L+M+P+T+W #define ACTION_1375 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1376: x<-L+M+P+U+V #define ACTION_1376 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1377: x<-L+M+P+U+W #define ACTION_1377 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1378: x<-L+M+P+V+W #define ACTION_1378 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1379: x<-L+M+Q+R+T #define ACTION_1379 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1380: x<-L+M+Q+R+U #define ACTION_1380 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1381: x<-L+M+Q+R+V #define ACTION_1381 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1382: x<-L+M+Q+R+W #define ACTION_1382 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1383: x<-L+M+Q+S+T #define ACTION_1383 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1384: x<-L+M+Q+S+U #define ACTION_1384 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1385: x<-L+M+Q+S+V #define ACTION_1385 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1386: x<-L+M+Q+S+W #define ACTION_1386 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1387: x<-L+M+Q+T+U #define ACTION_1387 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1388: x<-L+M+Q+T+V #define ACTION_1388 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1389: x<-L+M+Q+T+W #define ACTION_1389 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1390: x<-L+M+Q+U+V #define ACTION_1390 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1391: x<-L+M+Q+U+W #define ACTION_1391 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1392: x<-L+M+Q+V+W #define ACTION_1392 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1393: x<-L+M+R+S+T #define ACTION_1393 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1394: x<-L+M+R+S+U #define ACTION_1394 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1395: x<-L+M+R+S+V #define ACTION_1395 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1396: x<-L+M+R+S+W #define ACTION_1396 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1397: x<-L+M+R+T+U #define ACTION_1397 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1398: x<-L+M+R+T+V #define ACTION_1398 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1399: x<-L+M+R+T+W #define ACTION_1399 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1400: x<-L+M+R+U+V #define ACTION_1400 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1401: x<-L+M+R+U+W #define ACTION_1401 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1402: x<-L+M+R+V+W #define ACTION_1402 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1403: x<-L+M+S+T+U #define ACTION_1403 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1404: x<-L+M+S+T+V #define ACTION_1404 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1405: x<-L+M+S+T+W #define ACTION_1405 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1406: x<-L+M+S+U+V #define ACTION_1406 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1407: x<-L+M+S+U+W #define ACTION_1407 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1408: x<-L+M+S+V+W #define ACTION_1408 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1409: x<-L+M+T+U+W #define ACTION_1409 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1410: x<-L+M+T+V+W #define ACTION_1410 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1411: x<-L+M+U+V+W #define ACTION_1411 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row12[c + 2], img_labels_slice11_row12[c]));continue; // Action 1412: x<-L+N+O+Q+T #define ACTION_1412 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1413: x<-L+N+O+Q+U #define ACTION_1413 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1414: x<-L+N+O+Q+V #define ACTION_1414 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1415: x<-L+N+O+Q+W #define ACTION_1415 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1416: x<-L+N+O+T+U #define ACTION_1416 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1417: x<-L+N+O+T+V #define ACTION_1417 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1418: x<-L+N+O+T+W #define ACTION_1418 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1419: x<-L+N+O+U+V #define ACTION_1419 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1420: x<-L+N+O+U+W #define ACTION_1420 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1421: x<-L+N+O+V+W #define ACTION_1421 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1422: x<-L+N+P+Q+T #define ACTION_1422 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1423: x<-L+N+P+Q+U #define ACTION_1423 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1424: x<-L+N+P+Q+V #define ACTION_1424 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1425: x<-L+N+P+Q+W #define ACTION_1425 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1426: x<-L+N+P+R+T #define ACTION_1426 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1427: x<-L+N+P+R+U #define ACTION_1427 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1428: x<-L+N+P+R+V #define ACTION_1428 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1429: x<-L+N+P+R+W #define ACTION_1429 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1430: x<-L+N+P+S+T #define ACTION_1430 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1431: x<-L+N+P+S+U #define ACTION_1431 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1432: x<-L+N+P+S+V #define ACTION_1432 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1433: x<-L+N+P+S+W #define ACTION_1433 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1434: x<-L+N+P+T+U #define ACTION_1434 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1435: x<-L+N+P+T+V #define ACTION_1435 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1436: x<-L+N+P+T+W #define ACTION_1436 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1437: x<-L+N+P+U+V #define ACTION_1437 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1438: x<-L+N+P+U+W #define ACTION_1438 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1439: x<-L+N+P+V+W #define ACTION_1439 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1440: x<-L+N+Q+R+T #define ACTION_1440 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1441: x<-L+N+Q+R+U #define ACTION_1441 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1442: x<-L+N+Q+R+V #define ACTION_1442 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1443: x<-L+N+Q+R+W #define ACTION_1443 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1444: x<-L+N+Q+S+T #define ACTION_1444 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1445: x<-L+N+Q+S+U #define ACTION_1445 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1446: x<-L+N+Q+S+V #define ACTION_1446 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1447: x<-L+N+Q+S+W #define ACTION_1447 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1448: x<-L+N+Q+T+U #define ACTION_1448 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1449: x<-L+N+Q+T+V #define ACTION_1449 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1450: x<-L+N+Q+T+W #define ACTION_1450 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1451: x<-L+N+Q+U+V #define ACTION_1451 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1452: x<-L+N+Q+U+W #define ACTION_1452 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1453: x<-L+N+Q+V+W #define ACTION_1453 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1454: x<-L+N+R+S+T #define ACTION_1454 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1455: x<-L+N+R+S+U #define ACTION_1455 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1456: x<-L+N+R+S+V #define ACTION_1456 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1457: x<-L+N+R+S+W #define ACTION_1457 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1458: x<-L+N+R+T+U #define ACTION_1458 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1459: x<-L+N+R+T+V #define ACTION_1459 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1460: x<-L+N+R+T+W #define ACTION_1460 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1461: x<-L+N+R+U+V #define ACTION_1461 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1462: x<-L+N+R+U+W #define ACTION_1462 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1463: x<-L+N+R+V+W #define ACTION_1463 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1464: x<-L+N+S+T+U #define ACTION_1464 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1465: x<-L+N+S+T+V #define ACTION_1465 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1466: x<-L+N+S+T+W #define ACTION_1466 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1467: x<-L+N+S+U+V #define ACTION_1467 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1468: x<-L+N+S+U+W #define ACTION_1468 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1469: x<-L+N+S+V+W #define ACTION_1469 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1470: x<-L+N+T+U+W #define ACTION_1470 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1471: x<-L+N+T+V+W #define ACTION_1471 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1472: x<-L+N+U+V+W #define ACTION_1472 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]));continue; // Action 1473: x<-L+O+P+S+T #define ACTION_1473 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1474: x<-L+O+P+S+U #define ACTION_1474 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1475: x<-L+O+P+S+V #define ACTION_1475 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1476: x<-L+O+P+S+W #define ACTION_1476 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1477: x<-L+O+P+T+U #define ACTION_1477 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1478: x<-L+O+P+T+V #define ACTION_1478 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1479: x<-L+O+P+T+W #define ACTION_1479 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1480: x<-L+O+P+U+V #define ACTION_1480 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1481: x<-L+O+P+U+W #define ACTION_1481 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1482: x<-L+O+P+V+W #define ACTION_1482 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1483: x<-L+O+Q+T+U #define ACTION_1483 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1484: x<-L+O+Q+T+V #define ACTION_1484 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1485: x<-L+O+Q+T+W #define ACTION_1485 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1486: x<-L+O+Q+U+V #define ACTION_1486 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1487: x<-L+O+Q+U+W #define ACTION_1487 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1488: x<-L+O+Q+V+W #define ACTION_1488 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1489: x<-L+O+S+T+U #define ACTION_1489 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1490: x<-L+O+S+T+V #define ACTION_1490 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1491: x<-L+O+S+T+W #define ACTION_1491 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1492: x<-L+O+S+U+V #define ACTION_1492 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1493: x<-L+O+S+U+W #define ACTION_1493 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1494: x<-L+O+S+V+W #define ACTION_1494 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1495: x<-L+O+T+U+W #define ACTION_1495 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1496: x<-L+O+T+V+W #define ACTION_1496 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1497: x<-L+O+U+V+W #define ACTION_1497 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]));continue; // Action 1498: x<-L+P+Q+R+T #define ACTION_1498 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1499: x<-L+P+Q+R+U #define ACTION_1499 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1500: x<-L+P+Q+R+V #define ACTION_1500 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1501: x<-L+P+Q+R+W #define ACTION_1501 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1502: x<-L+P+Q+S+T #define ACTION_1502 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1503: x<-L+P+Q+S+U #define ACTION_1503 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1504: x<-L+P+Q+S+V #define ACTION_1504 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1505: x<-L+P+Q+S+W #define ACTION_1505 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1506: x<-L+P+Q+T+U #define ACTION_1506 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1507: x<-L+P+Q+T+V #define ACTION_1507 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1508: x<-L+P+Q+T+W #define ACTION_1508 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1509: x<-L+P+Q+U+V #define ACTION_1509 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1510: x<-L+P+Q+U+W #define ACTION_1510 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1511: x<-L+P+Q+V+W #define ACTION_1511 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1512: x<-L+P+R+S+T #define ACTION_1512 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1513: x<-L+P+R+S+U #define ACTION_1513 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1514: x<-L+P+R+S+V #define ACTION_1514 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1515: x<-L+P+R+S+W #define ACTION_1515 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1516: x<-L+P+R+T+U #define ACTION_1516 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1517: x<-L+P+R+T+V #define ACTION_1517 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1518: x<-L+P+R+T+W #define ACTION_1518 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1519: x<-L+P+R+U+V #define ACTION_1519 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1520: x<-L+P+R+U+W #define ACTION_1520 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1521: x<-L+P+R+V+W #define ACTION_1521 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1522: x<-L+P+S+T+U #define ACTION_1522 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1523: x<-L+P+S+T+V #define ACTION_1523 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1524: x<-L+P+S+T+W #define ACTION_1524 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1525: x<-L+P+S+U+V #define ACTION_1525 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1526: x<-L+P+S+U+W #define ACTION_1526 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1527: x<-L+P+S+V+W #define ACTION_1527 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1528: x<-L+P+T+U+W #define ACTION_1528 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1529: x<-L+P+T+V+W #define ACTION_1529 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1530: x<-L+P+U+V+W #define ACTION_1530 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]));continue; // Action 1531: x<-L+Q+R+T+U #define ACTION_1531 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1532: x<-L+Q+R+T+V #define ACTION_1532 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1533: x<-L+Q+R+T+W #define ACTION_1533 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1534: x<-L+Q+R+U+V #define ACTION_1534 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1535: x<-L+Q+R+U+W #define ACTION_1535 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1536: x<-L+Q+R+V+W #define ACTION_1536 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1537: x<-L+Q+S+T+U #define ACTION_1537 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1538: x<-L+Q+S+T+V #define ACTION_1538 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1539: x<-L+Q+S+T+W #define ACTION_1539 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1540: x<-L+Q+S+U+V #define ACTION_1540 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1541: x<-L+Q+S+U+W #define ACTION_1541 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1542: x<-L+Q+S+V+W #define ACTION_1542 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1543: x<-L+Q+T+U+W #define ACTION_1543 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1544: x<-L+Q+T+V+W #define ACTION_1544 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1545: x<-L+Q+U+V+W #define ACTION_1545 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]));continue; // Action 1546: x<-L+R+S+T+U #define ACTION_1546 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 1547: x<-L+R+S+T+V #define ACTION_1547 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 1548: x<-L+R+S+T+W #define ACTION_1548 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 1549: x<-L+R+S+U+V #define ACTION_1549 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 1550: x<-L+R+S+U+W #define ACTION_1550 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 1551: x<-L+R+S+V+W #define ACTION_1551 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 1552: x<-L+R+T+U+W #define ACTION_1552 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 1553: x<-L+R+T+V+W #define ACTION_1553 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 1554: x<-L+R+U+V+W #define ACTION_1554 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]));continue; // Action 1555: x<-L+S+T+U+W #define ACTION_1555 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]));continue; // Action 1556: x<-L+S+T+V+W #define ACTION_1556 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]));continue; // Action 1557: x<-L+S+U+V+W #define ACTION_1557 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]));continue; // Action 1558: x<-M+N+O+Q+T #define ACTION_1558 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1559: x<-M+N+O+Q+U #define ACTION_1559 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1560: x<-M+N+O+Q+V #define ACTION_1560 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1561: x<-M+N+O+Q+W #define ACTION_1561 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1562: x<-M+N+O+T+U #define ACTION_1562 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1563: x<-M+N+O+T+V #define ACTION_1563 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1564: x<-M+N+O+T+W #define ACTION_1564 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1565: x<-M+N+O+U+V #define ACTION_1565 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1566: x<-M+N+O+U+W #define ACTION_1566 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1567: x<-M+N+O+V+W #define ACTION_1567 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1568: x<-M+N+P+Q+T #define ACTION_1568 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1569: x<-M+N+P+Q+U #define ACTION_1569 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1570: x<-M+N+P+Q+V #define ACTION_1570 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1571: x<-M+N+P+Q+W #define ACTION_1571 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1572: x<-M+N+P+R+T #define ACTION_1572 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1573: x<-M+N+P+R+U #define ACTION_1573 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1574: x<-M+N+P+R+V #define ACTION_1574 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1575: x<-M+N+P+R+W #define ACTION_1575 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1576: x<-M+N+P+T+U #define ACTION_1576 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1577: x<-M+N+P+T+V #define ACTION_1577 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1578: x<-M+N+P+T+W #define ACTION_1578 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1579: x<-M+N+P+U+V #define ACTION_1579 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1580: x<-M+N+P+U+W #define ACTION_1580 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1581: x<-M+N+P+V+W #define ACTION_1581 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1582: x<-M+N+Q+R+T #define ACTION_1582 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1583: x<-M+N+Q+R+U #define ACTION_1583 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1584: x<-M+N+Q+R+V #define ACTION_1584 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1585: x<-M+N+Q+R+W #define ACTION_1585 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1586: x<-M+N+Q+S+T #define ACTION_1586 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1587: x<-M+N+Q+S+U #define ACTION_1587 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1588: x<-M+N+Q+S+V #define ACTION_1588 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1589: x<-M+N+Q+S+W #define ACTION_1589 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1590: x<-M+N+Q+T+U #define ACTION_1590 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1591: x<-M+N+Q+T+V #define ACTION_1591 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1592: x<-M+N+Q+T+W #define ACTION_1592 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1593: x<-M+N+Q+U+V #define ACTION_1593 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1594: x<-M+N+Q+U+W #define ACTION_1594 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1595: x<-M+N+Q+V+W #define ACTION_1595 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1596: x<-M+N+R+S+T #define ACTION_1596 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1597: x<-M+N+R+S+U #define ACTION_1597 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1598: x<-M+N+R+S+V #define ACTION_1598 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1599: x<-M+N+R+S+W #define ACTION_1599 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1600: x<-M+N+R+T+U #define ACTION_1600 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1601: x<-M+N+R+T+V #define ACTION_1601 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1602: x<-M+N+R+T+W #define ACTION_1602 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1603: x<-M+N+R+U+V #define ACTION_1603 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1604: x<-M+N+R+U+W #define ACTION_1604 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1605: x<-M+N+R+V+W #define ACTION_1605 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1606: x<-M+N+S+T+U #define ACTION_1606 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1607: x<-M+N+S+T+V #define ACTION_1607 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1608: x<-M+N+S+T+W #define ACTION_1608 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1609: x<-M+N+S+U+V #define ACTION_1609 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1610: x<-M+N+S+U+W #define ACTION_1610 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1611: x<-M+N+S+V+W #define ACTION_1611 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1612: x<-M+N+T+U+W #define ACTION_1612 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1613: x<-M+N+T+V+W #define ACTION_1613 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1614: x<-M+N+U+V+W #define ACTION_1614 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1615: x<-M+O+P+Q+T #define ACTION_1615 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1616: x<-M+O+P+Q+U #define ACTION_1616 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1617: x<-M+O+P+Q+V #define ACTION_1617 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1618: x<-M+O+P+Q+W #define ACTION_1618 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1619: x<-M+O+P+R+T #define ACTION_1619 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1620: x<-M+O+P+R+U #define ACTION_1620 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1621: x<-M+O+P+R+V #define ACTION_1621 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1622: x<-M+O+P+R+W #define ACTION_1622 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1623: x<-M+O+P+T+U #define ACTION_1623 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1624: x<-M+O+P+T+V #define ACTION_1624 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1625: x<-M+O+P+T+W #define ACTION_1625 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1626: x<-M+O+P+U+V #define ACTION_1626 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1627: x<-M+O+P+U+W #define ACTION_1627 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1628: x<-M+O+P+V+W #define ACTION_1628 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1629: x<-M+O+Q+R+T #define ACTION_1629 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1630: x<-M+O+Q+R+U #define ACTION_1630 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1631: x<-M+O+Q+R+V #define ACTION_1631 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1632: x<-M+O+Q+R+W #define ACTION_1632 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1633: x<-M+O+Q+S+T #define ACTION_1633 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1634: x<-M+O+Q+S+U #define ACTION_1634 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1635: x<-M+O+Q+S+V #define ACTION_1635 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1636: x<-M+O+Q+S+W #define ACTION_1636 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1637: x<-M+O+Q+T+U #define ACTION_1637 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1638: x<-M+O+Q+T+V #define ACTION_1638 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1639: x<-M+O+Q+T+W #define ACTION_1639 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1640: x<-M+O+Q+U+V #define ACTION_1640 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1641: x<-M+O+Q+U+W #define ACTION_1641 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1642: x<-M+O+Q+V+W #define ACTION_1642 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1643: x<-M+O+R+S+T #define ACTION_1643 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1644: x<-M+O+R+S+U #define ACTION_1644 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1645: x<-M+O+R+S+V #define ACTION_1645 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1646: x<-M+O+R+S+W #define ACTION_1646 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1647: x<-M+O+R+T+U #define ACTION_1647 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1648: x<-M+O+R+T+V #define ACTION_1648 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1649: x<-M+O+R+T+W #define ACTION_1649 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1650: x<-M+O+R+U+V #define ACTION_1650 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1651: x<-M+O+R+U+W #define ACTION_1651 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1652: x<-M+O+R+V+W #define ACTION_1652 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1653: x<-M+O+S+T+U #define ACTION_1653 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1654: x<-M+O+S+T+V #define ACTION_1654 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1655: x<-M+O+S+T+W #define ACTION_1655 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1656: x<-M+O+S+U+V #define ACTION_1656 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1657: x<-M+O+S+U+W #define ACTION_1657 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1658: x<-M+O+S+V+W #define ACTION_1658 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1659: x<-M+O+T+U+W #define ACTION_1659 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1660: x<-M+O+T+V+W #define ACTION_1660 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1661: x<-M+O+U+V+W #define ACTION_1661 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]));continue; // Action 1662: x<-M+P+Q+T+U #define ACTION_1662 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1663: x<-M+P+Q+T+V #define ACTION_1663 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1664: x<-M+P+Q+T+W #define ACTION_1664 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1665: x<-M+P+Q+U+V #define ACTION_1665 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1666: x<-M+P+Q+U+W #define ACTION_1666 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1667: x<-M+P+Q+V+W #define ACTION_1667 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1668: x<-M+P+R+T+U #define ACTION_1668 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1669: x<-M+P+R+T+V #define ACTION_1669 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1670: x<-M+P+R+T+W #define ACTION_1670 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1671: x<-M+P+R+U+V #define ACTION_1671 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1672: x<-M+P+R+U+W #define ACTION_1672 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1673: x<-M+P+R+V+W #define ACTION_1673 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1674: x<-M+P+T+U+W #define ACTION_1674 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1675: x<-M+P+T+V+W #define ACTION_1675 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1676: x<-M+P+U+V+W #define ACTION_1676 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1677: x<-M+Q+R+T+U #define ACTION_1677 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1678: x<-M+Q+R+T+V #define ACTION_1678 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1679: x<-M+Q+R+T+W #define ACTION_1679 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1680: x<-M+Q+R+U+V #define ACTION_1680 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1681: x<-M+Q+R+U+W #define ACTION_1681 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1682: x<-M+Q+R+V+W #define ACTION_1682 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1683: x<-M+Q+S+T+U #define ACTION_1683 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1684: x<-M+Q+S+T+V #define ACTION_1684 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1685: x<-M+Q+S+T+W #define ACTION_1685 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1686: x<-M+Q+S+U+V #define ACTION_1686 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1687: x<-M+Q+S+U+W #define ACTION_1687 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1688: x<-M+Q+S+V+W #define ACTION_1688 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1689: x<-M+Q+T+U+W #define ACTION_1689 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1690: x<-M+Q+T+V+W #define ACTION_1690 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1691: x<-M+Q+U+V+W #define ACTION_1691 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]));continue; // Action 1692: x<-M+R+S+T+U #define ACTION_1692 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 1693: x<-M+R+S+T+V #define ACTION_1693 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 1694: x<-M+R+S+T+W #define ACTION_1694 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 1695: x<-M+R+S+U+V #define ACTION_1695 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 1696: x<-M+R+S+U+W #define ACTION_1696 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 1697: x<-M+R+S+V+W #define ACTION_1697 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 1698: x<-M+R+T+U+W #define ACTION_1698 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 1699: x<-M+R+T+V+W #define ACTION_1699 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 1700: x<-M+R+U+V+W #define ACTION_1700 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]));continue; // Action 1701: x<-M+S+T+U+W #define ACTION_1701 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1702: x<-M+S+T+V+W #define ACTION_1702 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1703: x<-M+S+U+V+W #define ACTION_1703 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]));continue; // Action 1704: x<-N+O+Q+R+T #define ACTION_1704 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1705: x<-N+O+Q+R+U #define ACTION_1705 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1706: x<-N+O+Q+R+V #define ACTION_1706 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1707: x<-N+O+Q+R+W #define ACTION_1707 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1708: x<-N+O+Q+S+T #define ACTION_1708 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1709: x<-N+O+Q+S+U #define ACTION_1709 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1710: x<-N+O+Q+S+V #define ACTION_1710 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1711: x<-N+O+Q+S+W #define ACTION_1711 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1712: x<-N+O+Q+T+U #define ACTION_1712 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1713: x<-N+O+Q+T+V #define ACTION_1713 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1714: x<-N+O+Q+T+W #define ACTION_1714 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1715: x<-N+O+Q+U+V #define ACTION_1715 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1716: x<-N+O+Q+U+W #define ACTION_1716 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1717: x<-N+O+Q+V+W #define ACTION_1717 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1718: x<-N+O+R+S+T #define ACTION_1718 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1719: x<-N+O+R+S+U #define ACTION_1719 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1720: x<-N+O+R+S+V #define ACTION_1720 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1721: x<-N+O+R+S+W #define ACTION_1721 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1722: x<-N+O+R+T+U #define ACTION_1722 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1723: x<-N+O+R+T+V #define ACTION_1723 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1724: x<-N+O+R+T+W #define ACTION_1724 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1725: x<-N+O+R+U+V #define ACTION_1725 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1726: x<-N+O+R+U+W #define ACTION_1726 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1727: x<-N+O+R+V+W #define ACTION_1727 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1728: x<-N+O+S+T+U #define ACTION_1728 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1729: x<-N+O+S+T+V #define ACTION_1729 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1730: x<-N+O+S+T+W #define ACTION_1730 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1731: x<-N+O+S+U+V #define ACTION_1731 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1732: x<-N+O+S+U+W #define ACTION_1732 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1733: x<-N+O+S+V+W #define ACTION_1733 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1734: x<-N+O+T+U+W #define ACTION_1734 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1735: x<-N+O+T+V+W #define ACTION_1735 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1736: x<-N+O+U+V+W #define ACTION_1736 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]));continue; // Action 1737: x<-N+P+Q+R+T #define ACTION_1737 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1738: x<-N+P+Q+R+U #define ACTION_1738 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1739: x<-N+P+Q+R+V #define ACTION_1739 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1740: x<-N+P+Q+R+W #define ACTION_1740 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1741: x<-N+P+Q+S+T #define ACTION_1741 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1742: x<-N+P+Q+S+U #define ACTION_1742 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1743: x<-N+P+Q+S+V #define ACTION_1743 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1744: x<-N+P+Q+S+W #define ACTION_1744 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1745: x<-N+P+Q+T+U #define ACTION_1745 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1746: x<-N+P+Q+T+V #define ACTION_1746 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1747: x<-N+P+Q+T+W #define ACTION_1747 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1748: x<-N+P+Q+U+V #define ACTION_1748 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1749: x<-N+P+Q+U+W #define ACTION_1749 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1750: x<-N+P+Q+V+W #define ACTION_1750 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1751: x<-N+P+R+S+T #define ACTION_1751 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1752: x<-N+P+R+S+U #define ACTION_1752 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1753: x<-N+P+R+S+V #define ACTION_1753 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1754: x<-N+P+R+S+W #define ACTION_1754 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1755: x<-N+P+R+T+U #define ACTION_1755 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1756: x<-N+P+R+T+V #define ACTION_1756 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1757: x<-N+P+R+T+W #define ACTION_1757 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1758: x<-N+P+R+U+V #define ACTION_1758 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1759: x<-N+P+R+U+W #define ACTION_1759 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1760: x<-N+P+R+V+W #define ACTION_1760 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1761: x<-N+P+S+T+U #define ACTION_1761 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1762: x<-N+P+S+T+V #define ACTION_1762 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1763: x<-N+P+S+T+W #define ACTION_1763 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1764: x<-N+P+S+U+V #define ACTION_1764 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1765: x<-N+P+S+U+W #define ACTION_1765 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1766: x<-N+P+S+V+W #define ACTION_1766 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1767: x<-N+P+T+U+W #define ACTION_1767 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1768: x<-N+P+T+V+W #define ACTION_1768 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1769: x<-N+P+U+V+W #define ACTION_1769 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1770: x<-N+Q+R+T+U #define ACTION_1770 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1771: x<-N+Q+R+T+V #define ACTION_1771 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1772: x<-N+Q+R+T+W #define ACTION_1772 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1773: x<-N+Q+R+U+V #define ACTION_1773 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1774: x<-N+Q+R+U+W #define ACTION_1774 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1775: x<-N+Q+R+V+W #define ACTION_1775 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1776: x<-N+Q+S+T+U #define ACTION_1776 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1777: x<-N+Q+S+T+V #define ACTION_1777 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1778: x<-N+Q+S+T+W #define ACTION_1778 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1779: x<-N+Q+S+U+V #define ACTION_1779 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1780: x<-N+Q+S+U+W #define ACTION_1780 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1781: x<-N+Q+S+V+W #define ACTION_1781 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1782: x<-N+Q+T+U+W #define ACTION_1782 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1783: x<-N+Q+T+V+W #define ACTION_1783 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1784: x<-N+Q+U+V+W #define ACTION_1784 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]));continue; // Action 1785: x<-N+R+S+T+U #define ACTION_1785 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 1786: x<-N+R+S+T+V #define ACTION_1786 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 1787: x<-N+R+S+T+W #define ACTION_1787 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 1788: x<-N+R+S+U+V #define ACTION_1788 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 1789: x<-N+R+S+U+W #define ACTION_1789 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 1790: x<-N+R+S+V+W #define ACTION_1790 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 1791: x<-N+R+T+U+W #define ACTION_1791 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 1792: x<-N+R+T+V+W #define ACTION_1792 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 1793: x<-N+R+U+V+W #define ACTION_1793 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]));continue; // Action 1794: x<-N+S+T+U+W #define ACTION_1794 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1795: x<-N+S+T+V+W #define ACTION_1795 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1796: x<-N+S+U+V+W #define ACTION_1796 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]));continue; // Action 1797: x<-O+P+Q+R+T #define ACTION_1797 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1798: x<-O+P+Q+R+U #define ACTION_1798 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1799: x<-O+P+Q+R+V #define ACTION_1799 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1800: x<-O+P+Q+R+W #define ACTION_1800 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1801: x<-O+P+Q+S+T #define ACTION_1801 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1802: x<-O+P+Q+S+U #define ACTION_1802 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1803: x<-O+P+Q+S+V #define ACTION_1803 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1804: x<-O+P+Q+S+W #define ACTION_1804 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1805: x<-O+P+Q+T+U #define ACTION_1805 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1806: x<-O+P+Q+T+V #define ACTION_1806 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1807: x<-O+P+Q+T+W #define ACTION_1807 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1808: x<-O+P+Q+U+V #define ACTION_1808 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1809: x<-O+P+Q+U+W #define ACTION_1809 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1810: x<-O+P+Q+V+W #define ACTION_1810 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1811: x<-O+P+R+S+T #define ACTION_1811 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1812: x<-O+P+R+S+U #define ACTION_1812 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1813: x<-O+P+R+S+V #define ACTION_1813 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1814: x<-O+P+R+S+W #define ACTION_1814 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice11_row02[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1815: x<-O+P+R+T+U #define ACTION_1815 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1816: x<-O+P+R+T+V #define ACTION_1816 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1817: x<-O+P+R+T+W #define ACTION_1817 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1818: x<-O+P+R+U+V #define ACTION_1818 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1819: x<-O+P+R+U+W #define ACTION_1819 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1820: x<-O+P+R+V+W #define ACTION_1820 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1821: x<-O+P+S+T+U #define ACTION_1821 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1822: x<-O+P+S+T+V #define ACTION_1822 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1823: x<-O+P+S+T+W #define ACTION_1823 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1824: x<-O+P+S+U+V #define ACTION_1824 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1825: x<-O+P+S+U+W #define ACTION_1825 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1826: x<-O+P+S+V+W #define ACTION_1826 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1827: x<-O+P+T+U+W #define ACTION_1827 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1828: x<-O+P+T+V+W #define ACTION_1828 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1829: x<-O+P+U+V+W #define ACTION_1829 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]));continue; // Action 1830: x<-O+Q+R+T+U #define ACTION_1830 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1831: x<-O+Q+R+T+V #define ACTION_1831 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1832: x<-O+Q+R+T+W #define ACTION_1832 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1833: x<-O+Q+R+U+V #define ACTION_1833 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1834: x<-O+Q+R+U+W #define ACTION_1834 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1835: x<-O+Q+R+V+W #define ACTION_1835 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1836: x<-O+Q+S+T+U #define ACTION_1836 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1837: x<-O+Q+S+T+V #define ACTION_1837 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1838: x<-O+Q+S+T+W #define ACTION_1838 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1839: x<-O+Q+S+U+V #define ACTION_1839 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1840: x<-O+Q+S+U+W #define ACTION_1840 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1841: x<-O+Q+S+V+W #define ACTION_1841 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1842: x<-O+Q+T+U+W #define ACTION_1842 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1843: x<-O+Q+T+V+W #define ACTION_1843 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1844: x<-O+Q+U+V+W #define ACTION_1844 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]));continue; // Action 1845: x<-O+R+S+T+U #define ACTION_1845 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 1846: x<-O+R+S+T+V #define ACTION_1846 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 1847: x<-O+R+S+T+W #define ACTION_1847 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 1848: x<-O+R+S+U+V #define ACTION_1848 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 1849: x<-O+R+S+U+W #define ACTION_1849 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 1850: x<-O+R+S+V+W #define ACTION_1850 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 1851: x<-O+R+T+U+W #define ACTION_1851 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 1852: x<-O+R+T+V+W #define ACTION_1852 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 1853: x<-O+R+U+V+W #define ACTION_1853 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]));continue; // Action 1854: x<-O+S+T+U+W #define ACTION_1854 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]));continue; // Action 1855: x<-O+S+T+V+W #define ACTION_1855 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]));continue; // Action 1856: x<-O+S+U+V+W #define ACTION_1856 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]));continue; // Action 1857: x<-P+Q+R+T+U #define ACTION_1857 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1858: x<-P+Q+R+T+V #define ACTION_1858 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1859: x<-P+Q+R+T+W #define ACTION_1859 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1860: x<-P+Q+R+U+V #define ACTION_1860 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1861: x<-P+Q+R+U+W #define ACTION_1861 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1862: x<-P+Q+R+V+W #define ACTION_1862 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1863: x<-P+Q+S+T+U #define ACTION_1863 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1864: x<-P+Q+S+T+V #define ACTION_1864 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1865: x<-P+Q+S+T+W #define ACTION_1865 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1866: x<-P+Q+S+U+V #define ACTION_1866 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1867: x<-P+Q+S+U+W #define ACTION_1867 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1868: x<-P+Q+S+V+W #define ACTION_1868 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1869: x<-P+Q+T+U+W #define ACTION_1869 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1870: x<-P+Q+T+V+W #define ACTION_1870 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1871: x<-P+Q+U+V+W #define ACTION_1871 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]));continue; // Action 1872: x<-P+R+S+T+U #define ACTION_1872 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 1873: x<-P+R+S+T+V #define ACTION_1873 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 1874: x<-P+R+S+T+W #define ACTION_1874 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 1875: x<-P+R+S+U+V #define ACTION_1875 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 1876: x<-P+R+S+U+W #define ACTION_1876 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 1877: x<-P+R+S+V+W #define ACTION_1877 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 1878: x<-P+R+T+U+W #define ACTION_1878 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 1879: x<-P+R+T+V+W #define ACTION_1879 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 1880: x<-P+R+U+V+W #define ACTION_1880 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]));continue; // Action 1881: x<-P+S+T+U+W #define ACTION_1881 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 1882: x<-P+S+T+V+W #define ACTION_1882 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 1883: x<-P+S+U+V+W #define ACTION_1883 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]));continue; // Action 1884: x<-Q+R+T+U+W #define ACTION_1884 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]));continue; // Action 1885: x<-Q+R+T+V+W #define ACTION_1885 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]));continue; // Action 1886: x<-Q+R+U+V+W #define ACTION_1886 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]));continue; // Action 1887: x<-Q+S+T+U+W #define ACTION_1887 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]));continue; // Action 1888: x<-Q+S+T+V+W #define ACTION_1888 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]));continue; // Action 1889: x<-Q+S+U+V+W #define ACTION_1889 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]));continue; // Action 1890: x<-R+S+T+U+W #define ACTION_1890 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]));continue; // Action 1891: x<-R+S+T+V+W #define ACTION_1891 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]));continue; // Action 1892: x<-R+S+U+V+W #define ACTION_1892 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]));continue; // Action 1893: x<-K+L+N+O+T+U #define ACTION_1893 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1894: x<-K+L+N+O+T+V #define ACTION_1894 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1895: x<-K+L+N+O+T+W #define ACTION_1895 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1896: x<-K+L+N+O+U+V #define ACTION_1896 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1897: x<-K+L+N+O+U+W #define ACTION_1897 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1898: x<-K+L+N+O+V+W #define ACTION_1898 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1899: x<-K+L+N+P+T+U #define ACTION_1899 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1900: x<-K+L+N+P+T+V #define ACTION_1900 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1901: x<-K+L+N+P+T+W #define ACTION_1901 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1902: x<-K+L+N+P+U+V #define ACTION_1902 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1903: x<-K+L+N+P+U+W #define ACTION_1903 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1904: x<-K+L+N+P+V+W #define ACTION_1904 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1905: x<-K+L+N+R+T+U #define ACTION_1905 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1906: x<-K+L+N+R+T+V #define ACTION_1906 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1907: x<-K+L+N+R+T+W #define ACTION_1907 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1908: x<-K+L+N+R+U+V #define ACTION_1908 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1909: x<-K+L+N+R+U+W #define ACTION_1909 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1910: x<-K+L+N+R+V+W #define ACTION_1910 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1911: x<-K+L+N+S+T+U #define ACTION_1911 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1912: x<-K+L+N+S+T+V #define ACTION_1912 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1913: x<-K+L+N+S+T+W #define ACTION_1913 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1914: x<-K+L+N+S+U+V #define ACTION_1914 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1915: x<-K+L+N+S+U+W #define ACTION_1915 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1916: x<-K+L+N+S+V+W #define ACTION_1916 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1917: x<-K+L+N+T+U+W #define ACTION_1917 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1918: x<-K+L+N+T+V+W #define ACTION_1918 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1919: x<-K+L+N+U+V+W #define ACTION_1919 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1920: x<-K+L+O+P+T+U #define ACTION_1920 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1921: x<-K+L+O+P+T+V #define ACTION_1921 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1922: x<-K+L+O+P+T+W #define ACTION_1922 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1923: x<-K+L+O+P+U+V #define ACTION_1923 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1924: x<-K+L+O+P+U+W #define ACTION_1924 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1925: x<-K+L+O+P+V+W #define ACTION_1925 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1926: x<-K+L+O+Q+T+U #define ACTION_1926 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1927: x<-K+L+O+Q+T+V #define ACTION_1927 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1928: x<-K+L+O+Q+T+W #define ACTION_1928 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1929: x<-K+L+O+Q+U+V #define ACTION_1929 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1930: x<-K+L+O+Q+U+W #define ACTION_1930 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1931: x<-K+L+O+Q+V+W #define ACTION_1931 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1932: x<-K+L+O+S+T+U #define ACTION_1932 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1933: x<-K+L+O+S+T+V #define ACTION_1933 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1934: x<-K+L+O+S+T+W #define ACTION_1934 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1935: x<-K+L+O+S+U+V #define ACTION_1935 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1936: x<-K+L+O+S+U+W #define ACTION_1936 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1937: x<-K+L+O+S+V+W #define ACTION_1937 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1938: x<-K+L+O+T+U+W #define ACTION_1938 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1939: x<-K+L+O+T+V+W #define ACTION_1939 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1940: x<-K+L+O+U+V+W #define ACTION_1940 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1941: x<-K+L+P+Q+T+U #define ACTION_1941 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1942: x<-K+L+P+Q+T+V #define ACTION_1942 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1943: x<-K+L+P+Q+T+W #define ACTION_1943 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1944: x<-K+L+P+Q+U+V #define ACTION_1944 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1945: x<-K+L+P+Q+U+W #define ACTION_1945 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1946: x<-K+L+P+Q+V+W #define ACTION_1946 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1947: x<-K+L+P+R+T+U #define ACTION_1947 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1948: x<-K+L+P+R+T+V #define ACTION_1948 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1949: x<-K+L+P+R+T+W #define ACTION_1949 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1950: x<-K+L+P+R+U+V #define ACTION_1950 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1951: x<-K+L+P+R+U+W #define ACTION_1951 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1952: x<-K+L+P+R+V+W #define ACTION_1952 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1953: x<-K+L+P+T+U+W #define ACTION_1953 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1954: x<-K+L+P+T+V+W #define ACTION_1954 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1955: x<-K+L+P+U+V+W #define ACTION_1955 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1956: x<-K+L+Q+R+T+U #define ACTION_1956 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1957: x<-K+L+Q+R+T+V #define ACTION_1957 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1958: x<-K+L+Q+R+T+W #define ACTION_1958 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1959: x<-K+L+Q+R+U+V #define ACTION_1959 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1960: x<-K+L+Q+R+U+W #define ACTION_1960 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1961: x<-K+L+Q+R+V+W #define ACTION_1961 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1962: x<-K+L+Q+S+T+U #define ACTION_1962 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1963: x<-K+L+Q+S+T+V #define ACTION_1963 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1964: x<-K+L+Q+S+T+W #define ACTION_1964 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1965: x<-K+L+Q+S+U+V #define ACTION_1965 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1966: x<-K+L+Q+S+U+W #define ACTION_1966 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1967: x<-K+L+Q+S+V+W #define ACTION_1967 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1968: x<-K+L+Q+T+U+W #define ACTION_1968 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1969: x<-K+L+Q+T+V+W #define ACTION_1969 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1970: x<-K+L+Q+U+V+W #define ACTION_1970 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1971: x<-K+L+R+S+T+U #define ACTION_1971 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1972: x<-K+L+R+S+T+V #define ACTION_1972 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1973: x<-K+L+R+S+T+W #define ACTION_1973 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1974: x<-K+L+R+S+U+V #define ACTION_1974 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1975: x<-K+L+R+S+U+W #define ACTION_1975 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1976: x<-K+L+R+S+V+W #define ACTION_1976 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1977: x<-K+L+R+T+U+W #define ACTION_1977 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1978: x<-K+L+R+T+V+W #define ACTION_1978 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1979: x<-K+L+R+U+V+W #define ACTION_1979 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1980: x<-K+L+S+T+U+W #define ACTION_1980 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1981: x<-K+L+S+T+V+W #define ACTION_1981 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1982: x<-K+L+S+U+V+W #define ACTION_1982 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 1983: x<-K+M+N+O+T+U #define ACTION_1983 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1984: x<-K+M+N+O+T+V #define ACTION_1984 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1985: x<-K+M+N+O+T+W #define ACTION_1985 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1986: x<-K+M+N+O+U+V #define ACTION_1986 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1987: x<-K+M+N+O+U+W #define ACTION_1987 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1988: x<-K+M+N+O+V+W #define ACTION_1988 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1989: x<-K+M+N+P+T+U #define ACTION_1989 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1990: x<-K+M+N+P+T+V #define ACTION_1990 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1991: x<-K+M+N+P+T+W #define ACTION_1991 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1992: x<-K+M+N+P+U+V #define ACTION_1992 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1993: x<-K+M+N+P+U+W #define ACTION_1993 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1994: x<-K+M+N+P+V+W #define ACTION_1994 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1995: x<-K+M+N+R+T+U #define ACTION_1995 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1996: x<-K+M+N+R+T+V #define ACTION_1996 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1997: x<-K+M+N+R+T+W #define ACTION_1997 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1998: x<-K+M+N+R+U+V #define ACTION_1998 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 1999: x<-K+M+N+R+U+W #define ACTION_1999 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2000: x<-K+M+N+R+V+W #define ACTION_2000 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2001: x<-K+M+N+S+T+U #define ACTION_2001 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2002: x<-K+M+N+S+T+V #define ACTION_2002 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2003: x<-K+M+N+S+T+W #define ACTION_2003 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2004: x<-K+M+N+S+U+V #define ACTION_2004 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2005: x<-K+M+N+S+U+W #define ACTION_2005 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2006: x<-K+M+N+S+V+W #define ACTION_2006 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2007: x<-K+M+N+T+U+W #define ACTION_2007 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2008: x<-K+M+N+T+V+W #define ACTION_2008 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2009: x<-K+M+N+U+V+W #define ACTION_2009 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2010: x<-K+M+O+P+T+U #define ACTION_2010 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2011: x<-K+M+O+P+T+V #define ACTION_2011 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2012: x<-K+M+O+P+T+W #define ACTION_2012 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2013: x<-K+M+O+P+U+V #define ACTION_2013 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2014: x<-K+M+O+P+U+W #define ACTION_2014 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2015: x<-K+M+O+P+V+W #define ACTION_2015 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2016: x<-K+M+O+Q+T+U #define ACTION_2016 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2017: x<-K+M+O+Q+T+V #define ACTION_2017 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2018: x<-K+M+O+Q+T+W #define ACTION_2018 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2019: x<-K+M+O+Q+U+V #define ACTION_2019 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2020: x<-K+M+O+Q+U+W #define ACTION_2020 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2021: x<-K+M+O+Q+V+W #define ACTION_2021 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2022: x<-K+M+O+S+T+U #define ACTION_2022 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2023: x<-K+M+O+S+T+V #define ACTION_2023 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2024: x<-K+M+O+S+T+W #define ACTION_2024 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2025: x<-K+M+O+S+U+V #define ACTION_2025 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2026: x<-K+M+O+S+U+W #define ACTION_2026 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2027: x<-K+M+O+S+V+W #define ACTION_2027 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2028: x<-K+M+O+T+U+W #define ACTION_2028 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2029: x<-K+M+O+T+V+W #define ACTION_2029 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2030: x<-K+M+O+U+V+W #define ACTION_2030 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2031: x<-K+M+P+Q+T+U #define ACTION_2031 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2032: x<-K+M+P+Q+T+V #define ACTION_2032 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2033: x<-K+M+P+Q+T+W #define ACTION_2033 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2034: x<-K+M+P+Q+U+V #define ACTION_2034 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2035: x<-K+M+P+Q+U+W #define ACTION_2035 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2036: x<-K+M+P+Q+V+W #define ACTION_2036 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2037: x<-K+M+P+R+T+U #define ACTION_2037 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2038: x<-K+M+P+R+T+V #define ACTION_2038 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2039: x<-K+M+P+R+T+W #define ACTION_2039 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2040: x<-K+M+P+R+U+V #define ACTION_2040 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2041: x<-K+M+P+R+U+W #define ACTION_2041 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2042: x<-K+M+P+R+V+W #define ACTION_2042 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2043: x<-K+M+P+T+U+W #define ACTION_2043 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2044: x<-K+M+P+T+V+W #define ACTION_2044 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2045: x<-K+M+P+U+V+W #define ACTION_2045 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2046: x<-K+M+Q+R+T+U #define ACTION_2046 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2047: x<-K+M+Q+R+T+V #define ACTION_2047 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2048: x<-K+M+Q+R+T+W #define ACTION_2048 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2049: x<-K+M+Q+R+U+V #define ACTION_2049 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2050: x<-K+M+Q+R+U+W #define ACTION_2050 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2051: x<-K+M+Q+R+V+W #define ACTION_2051 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2052: x<-K+M+Q+S+T+U #define ACTION_2052 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2053: x<-K+M+Q+S+T+V #define ACTION_2053 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2054: x<-K+M+Q+S+T+W #define ACTION_2054 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2055: x<-K+M+Q+S+U+V #define ACTION_2055 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2056: x<-K+M+Q+S+U+W #define ACTION_2056 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2057: x<-K+M+Q+S+V+W #define ACTION_2057 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2058: x<-K+M+Q+T+U+W #define ACTION_2058 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2059: x<-K+M+Q+T+V+W #define ACTION_2059 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2060: x<-K+M+Q+U+V+W #define ACTION_2060 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2061: x<-K+M+R+S+T+U #define ACTION_2061 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2062: x<-K+M+R+S+T+V #define ACTION_2062 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2063: x<-K+M+R+S+T+W #define ACTION_2063 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2064: x<-K+M+R+S+U+V #define ACTION_2064 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2065: x<-K+M+R+S+U+W #define ACTION_2065 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2066: x<-K+M+R+S+V+W #define ACTION_2066 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2067: x<-K+M+R+T+U+W #define ACTION_2067 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2068: x<-K+M+R+T+V+W #define ACTION_2068 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2069: x<-K+M+R+U+V+W #define ACTION_2069 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2070: x<-K+M+S+T+U+W #define ACTION_2070 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2071: x<-K+M+S+T+V+W #define ACTION_2071 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2072: x<-K+M+S+U+V+W #define ACTION_2072 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2073: x<-K+N+O+R+T+U #define ACTION_2073 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2074: x<-K+N+O+R+T+V #define ACTION_2074 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2075: x<-K+N+O+R+T+W #define ACTION_2075 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2076: x<-K+N+O+R+U+V #define ACTION_2076 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2077: x<-K+N+O+R+U+W #define ACTION_2077 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2078: x<-K+N+O+R+V+W #define ACTION_2078 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2079: x<-K+N+O+S+T+U #define ACTION_2079 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2080: x<-K+N+O+S+T+V #define ACTION_2080 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2081: x<-K+N+O+S+T+W #define ACTION_2081 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2082: x<-K+N+O+S+U+V #define ACTION_2082 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2083: x<-K+N+O+S+U+W #define ACTION_2083 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2084: x<-K+N+O+S+V+W #define ACTION_2084 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2085: x<-K+N+O+T+U+W #define ACTION_2085 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2086: x<-K+N+O+T+V+W #define ACTION_2086 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2087: x<-K+N+O+U+V+W #define ACTION_2087 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2088: x<-K+N+P+R+T+U #define ACTION_2088 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2089: x<-K+N+P+R+T+V #define ACTION_2089 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2090: x<-K+N+P+R+T+W #define ACTION_2090 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2091: x<-K+N+P+R+U+V #define ACTION_2091 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2092: x<-K+N+P+R+U+W #define ACTION_2092 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2093: x<-K+N+P+R+V+W #define ACTION_2093 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2094: x<-K+N+P+S+T+U #define ACTION_2094 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2095: x<-K+N+P+S+T+V #define ACTION_2095 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2096: x<-K+N+P+S+T+W #define ACTION_2096 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2097: x<-K+N+P+S+U+V #define ACTION_2097 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2098: x<-K+N+P+S+U+W #define ACTION_2098 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2099: x<-K+N+P+S+V+W #define ACTION_2099 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2100: x<-K+N+P+T+U+W #define ACTION_2100 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2101: x<-K+N+P+T+V+W #define ACTION_2101 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2102: x<-K+N+P+U+V+W #define ACTION_2102 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2103: x<-K+N+R+T+U+W #define ACTION_2103 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2104: x<-K+N+R+T+V+W #define ACTION_2104 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2105: x<-K+N+R+U+V+W #define ACTION_2105 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2106: x<-K+N+S+T+U+W #define ACTION_2106 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2107: x<-K+N+S+T+V+W #define ACTION_2107 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2108: x<-K+N+S+U+V+W #define ACTION_2108 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2109: x<-K+O+P+S+T+U #define ACTION_2109 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2110: x<-K+O+P+S+T+V #define ACTION_2110 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2111: x<-K+O+P+S+T+W #define ACTION_2111 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2112: x<-K+O+P+S+U+V #define ACTION_2112 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2113: x<-K+O+P+S+U+W #define ACTION_2113 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2114: x<-K+O+P+S+V+W #define ACTION_2114 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2115: x<-K+O+P+T+U+W #define ACTION_2115 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2116: x<-K+O+P+T+V+W #define ACTION_2116 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2117: x<-K+O+P+U+V+W #define ACTION_2117 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2118: x<-K+O+Q+R+T+U #define ACTION_2118 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2119: x<-K+O+Q+R+T+V #define ACTION_2119 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2120: x<-K+O+Q+R+T+W #define ACTION_2120 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2121: x<-K+O+Q+R+U+V #define ACTION_2121 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2122: x<-K+O+Q+R+U+W #define ACTION_2122 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2123: x<-K+O+Q+R+V+W #define ACTION_2123 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2124: x<-K+O+Q+S+T+U #define ACTION_2124 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2125: x<-K+O+Q+S+T+V #define ACTION_2125 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2126: x<-K+O+Q+S+T+W #define ACTION_2126 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2127: x<-K+O+Q+S+U+V #define ACTION_2127 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2128: x<-K+O+Q+S+U+W #define ACTION_2128 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2129: x<-K+O+Q+S+V+W #define ACTION_2129 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2130: x<-K+O+Q+T+U+W #define ACTION_2130 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2131: x<-K+O+Q+T+V+W #define ACTION_2131 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2132: x<-K+O+Q+U+V+W #define ACTION_2132 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2133: x<-K+O+R+S+T+U #define ACTION_2133 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2134: x<-K+O+R+S+T+V #define ACTION_2134 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2135: x<-K+O+R+S+T+W #define ACTION_2135 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2136: x<-K+O+R+S+U+V #define ACTION_2136 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2137: x<-K+O+R+S+U+W #define ACTION_2137 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2138: x<-K+O+R+S+V+W #define ACTION_2138 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2139: x<-K+O+R+T+U+W #define ACTION_2139 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2140: x<-K+O+R+T+V+W #define ACTION_2140 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2141: x<-K+O+R+U+V+W #define ACTION_2141 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2142: x<-K+O+S+T+U+W #define ACTION_2142 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2143: x<-K+O+S+T+V+W #define ACTION_2143 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2144: x<-K+O+S+U+V+W #define ACTION_2144 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2145: x<-K+P+Q+R+T+U #define ACTION_2145 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2146: x<-K+P+Q+R+T+V #define ACTION_2146 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2147: x<-K+P+Q+R+T+W #define ACTION_2147 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2148: x<-K+P+Q+R+U+V #define ACTION_2148 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2149: x<-K+P+Q+R+U+W #define ACTION_2149 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2150: x<-K+P+Q+R+V+W #define ACTION_2150 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2151: x<-K+P+Q+S+T+U #define ACTION_2151 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2152: x<-K+P+Q+S+T+V #define ACTION_2152 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2153: x<-K+P+Q+S+T+W #define ACTION_2153 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2154: x<-K+P+Q+S+U+V #define ACTION_2154 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2155: x<-K+P+Q+S+U+W #define ACTION_2155 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2156: x<-K+P+Q+S+V+W #define ACTION_2156 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2157: x<-K+P+Q+T+U+W #define ACTION_2157 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2158: x<-K+P+Q+T+V+W #define ACTION_2158 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2159: x<-K+P+Q+U+V+W #define ACTION_2159 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2160: x<-K+P+R+S+T+U #define ACTION_2160 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2161: x<-K+P+R+S+T+V #define ACTION_2161 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2162: x<-K+P+R+S+T+W #define ACTION_2162 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2163: x<-K+P+R+S+U+V #define ACTION_2163 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2164: x<-K+P+R+S+U+W #define ACTION_2164 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2165: x<-K+P+R+S+V+W #define ACTION_2165 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2166: x<-K+P+R+T+U+W #define ACTION_2166 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2167: x<-K+P+R+T+V+W #define ACTION_2167 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2168: x<-K+P+R+U+V+W #define ACTION_2168 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2169: x<-K+P+S+T+U+W #define ACTION_2169 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2170: x<-K+P+S+T+V+W #define ACTION_2170 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2171: x<-K+P+S+U+V+W #define ACTION_2171 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2172: x<-K+Q+R+T+U+W #define ACTION_2172 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2173: x<-K+Q+R+T+V+W #define ACTION_2173 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2174: x<-K+Q+R+U+V+W #define ACTION_2174 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2175: x<-K+Q+S+T+U+W #define ACTION_2175 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2176: x<-K+Q+S+T+V+W #define ACTION_2176 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2177: x<-K+Q+S+U+V+W #define ACTION_2177 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2178: x<-K+R+S+T+U+W #define ACTION_2178 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2179: x<-K+R+S+T+V+W #define ACTION_2179 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2180: x<-K+R+S+U+V+W #define ACTION_2180 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2181: x<-L+M+N+O+T+U #define ACTION_2181 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2182: x<-L+M+N+O+T+V #define ACTION_2182 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2183: x<-L+M+N+O+T+W #define ACTION_2183 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2184: x<-L+M+N+O+U+V #define ACTION_2184 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2185: x<-L+M+N+O+U+W #define ACTION_2185 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2186: x<-L+M+N+O+V+W #define ACTION_2186 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2187: x<-L+M+N+P+T+U #define ACTION_2187 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2188: x<-L+M+N+P+T+V #define ACTION_2188 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2189: x<-L+M+N+P+T+W #define ACTION_2189 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2190: x<-L+M+N+P+U+V #define ACTION_2190 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2191: x<-L+M+N+P+U+W #define ACTION_2191 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2192: x<-L+M+N+P+V+W #define ACTION_2192 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2193: x<-L+M+N+R+T+U #define ACTION_2193 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2194: x<-L+M+N+R+T+V #define ACTION_2194 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2195: x<-L+M+N+R+T+W #define ACTION_2195 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2196: x<-L+M+N+R+U+V #define ACTION_2196 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2197: x<-L+M+N+R+U+W #define ACTION_2197 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2198: x<-L+M+N+R+V+W #define ACTION_2198 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2199: x<-L+M+N+S+T+U #define ACTION_2199 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2200: x<-L+M+N+S+T+V #define ACTION_2200 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2201: x<-L+M+N+S+T+W #define ACTION_2201 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2202: x<-L+M+N+S+U+V #define ACTION_2202 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2203: x<-L+M+N+S+U+W #define ACTION_2203 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2204: x<-L+M+N+S+V+W #define ACTION_2204 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2205: x<-L+M+N+T+U+W #define ACTION_2205 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2206: x<-L+M+N+T+V+W #define ACTION_2206 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2207: x<-L+M+N+U+V+W #define ACTION_2207 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2208: x<-L+M+O+P+T+U #define ACTION_2208 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2209: x<-L+M+O+P+T+V #define ACTION_2209 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2210: x<-L+M+O+P+T+W #define ACTION_2210 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2211: x<-L+M+O+P+U+V #define ACTION_2211 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2212: x<-L+M+O+P+U+W #define ACTION_2212 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2213: x<-L+M+O+P+V+W #define ACTION_2213 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row00[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2214: x<-L+M+O+Q+T+U #define ACTION_2214 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2215: x<-L+M+O+Q+T+V #define ACTION_2215 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2216: x<-L+M+O+Q+T+W #define ACTION_2216 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2217: x<-L+M+O+Q+U+V #define ACTION_2217 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2218: x<-L+M+O+Q+U+W #define ACTION_2218 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2219: x<-L+M+O+Q+V+W #define ACTION_2219 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2220: x<-L+M+O+S+T+U #define ACTION_2220 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2221: x<-L+M+O+S+T+V #define ACTION_2221 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2222: x<-L+M+O+S+T+W #define ACTION_2222 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2223: x<-L+M+O+S+U+V #define ACTION_2223 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2224: x<-L+M+O+S+U+W #define ACTION_2224 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2225: x<-L+M+O+S+V+W #define ACTION_2225 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2226: x<-L+M+O+T+U+W #define ACTION_2226 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2227: x<-L+M+O+T+V+W #define ACTION_2227 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2228: x<-L+M+O+U+V+W #define ACTION_2228 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2229: x<-L+M+P+Q+T+U #define ACTION_2229 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2230: x<-L+M+P+Q+T+V #define ACTION_2230 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2231: x<-L+M+P+Q+T+W #define ACTION_2231 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2232: x<-L+M+P+Q+U+V #define ACTION_2232 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2233: x<-L+M+P+Q+U+W #define ACTION_2233 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2234: x<-L+M+P+Q+V+W #define ACTION_2234 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2235: x<-L+M+P+R+T+U #define ACTION_2235 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2236: x<-L+M+P+R+T+V #define ACTION_2236 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2237: x<-L+M+P+R+T+W #define ACTION_2237 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2238: x<-L+M+P+R+U+V #define ACTION_2238 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2239: x<-L+M+P+R+U+W #define ACTION_2239 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2240: x<-L+M+P+R+V+W #define ACTION_2240 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2241: x<-L+M+P+T+U+W #define ACTION_2241 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2242: x<-L+M+P+T+V+W #define ACTION_2242 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2243: x<-L+M+P+U+V+W #define ACTION_2243 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2244: x<-L+M+Q+R+T+U #define ACTION_2244 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2245: x<-L+M+Q+R+T+V #define ACTION_2245 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2246: x<-L+M+Q+R+T+W #define ACTION_2246 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2247: x<-L+M+Q+R+U+V #define ACTION_2247 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2248: x<-L+M+Q+R+U+W #define ACTION_2248 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2249: x<-L+M+Q+R+V+W #define ACTION_2249 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2250: x<-L+M+Q+S+T+U #define ACTION_2250 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2251: x<-L+M+Q+S+T+V #define ACTION_2251 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2252: x<-L+M+Q+S+T+W #define ACTION_2252 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2253: x<-L+M+Q+S+U+V #define ACTION_2253 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2254: x<-L+M+Q+S+U+W #define ACTION_2254 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2255: x<-L+M+Q+S+V+W #define ACTION_2255 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2256: x<-L+M+Q+T+U+W #define ACTION_2256 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2257: x<-L+M+Q+T+V+W #define ACTION_2257 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2258: x<-L+M+Q+U+V+W #define ACTION_2258 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2259: x<-L+M+R+S+T+U #define ACTION_2259 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2260: x<-L+M+R+S+T+V #define ACTION_2260 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2261: x<-L+M+R+S+T+W #define ACTION_2261 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2262: x<-L+M+R+S+U+V #define ACTION_2262 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2263: x<-L+M+R+S+U+W #define ACTION_2263 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2264: x<-L+M+R+S+V+W #define ACTION_2264 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2265: x<-L+M+R+T+U+W #define ACTION_2265 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2266: x<-L+M+R+T+V+W #define ACTION_2266 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2267: x<-L+M+R+U+V+W #define ACTION_2267 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2268: x<-L+M+S+T+U+W #define ACTION_2268 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2269: x<-L+M+S+T+V+W #define ACTION_2269 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2270: x<-L+M+S+U+V+W #define ACTION_2270 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2271: x<-L+N+O+Q+T+U #define ACTION_2271 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2272: x<-L+N+O+Q+T+V #define ACTION_2272 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2273: x<-L+N+O+Q+T+W #define ACTION_2273 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2274: x<-L+N+O+Q+U+V #define ACTION_2274 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2275: x<-L+N+O+Q+U+W #define ACTION_2275 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2276: x<-L+N+O+Q+V+W #define ACTION_2276 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2277: x<-L+N+O+T+U+W #define ACTION_2277 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2278: x<-L+N+O+T+V+W #define ACTION_2278 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2279: x<-L+N+O+U+V+W #define ACTION_2279 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2280: x<-L+N+P+Q+T+U #define ACTION_2280 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2281: x<-L+N+P+Q+T+V #define ACTION_2281 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2282: x<-L+N+P+Q+T+W #define ACTION_2282 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2283: x<-L+N+P+Q+U+V #define ACTION_2283 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2284: x<-L+N+P+Q+U+W #define ACTION_2284 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2285: x<-L+N+P+Q+V+W #define ACTION_2285 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2286: x<-L+N+P+R+T+U #define ACTION_2286 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2287: x<-L+N+P+R+T+V #define ACTION_2287 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2288: x<-L+N+P+R+T+W #define ACTION_2288 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2289: x<-L+N+P+R+U+V #define ACTION_2289 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2290: x<-L+N+P+R+U+W #define ACTION_2290 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2291: x<-L+N+P+R+V+W #define ACTION_2291 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2292: x<-L+N+P+S+T+U #define ACTION_2292 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2293: x<-L+N+P+S+T+V #define ACTION_2293 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2294: x<-L+N+P+S+T+W #define ACTION_2294 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2295: x<-L+N+P+S+U+V #define ACTION_2295 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2296: x<-L+N+P+S+U+W #define ACTION_2296 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2297: x<-L+N+P+S+V+W #define ACTION_2297 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2298: x<-L+N+P+T+U+W #define ACTION_2298 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2299: x<-L+N+P+T+V+W #define ACTION_2299 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2300: x<-L+N+P+U+V+W #define ACTION_2300 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2301: x<-L+N+Q+R+T+U #define ACTION_2301 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2302: x<-L+N+Q+R+T+V #define ACTION_2302 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2303: x<-L+N+Q+R+T+W #define ACTION_2303 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2304: x<-L+N+Q+R+U+V #define ACTION_2304 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2305: x<-L+N+Q+R+U+W #define ACTION_2305 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2306: x<-L+N+Q+R+V+W #define ACTION_2306 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2307: x<-L+N+Q+S+T+U #define ACTION_2307 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2308: x<-L+N+Q+S+T+V #define ACTION_2308 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2309: x<-L+N+Q+S+T+W #define ACTION_2309 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2310: x<-L+N+Q+S+U+V #define ACTION_2310 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2311: x<-L+N+Q+S+U+W #define ACTION_2311 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2312: x<-L+N+Q+S+V+W #define ACTION_2312 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2313: x<-L+N+Q+T+U+W #define ACTION_2313 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2314: x<-L+N+Q+T+V+W #define ACTION_2314 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2315: x<-L+N+Q+U+V+W #define ACTION_2315 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2316: x<-L+N+R+S+T+U #define ACTION_2316 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2317: x<-L+N+R+S+T+V #define ACTION_2317 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2318: x<-L+N+R+S+T+W #define ACTION_2318 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2319: x<-L+N+R+S+U+V #define ACTION_2319 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2320: x<-L+N+R+S+U+W #define ACTION_2320 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2321: x<-L+N+R+S+V+W #define ACTION_2321 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2322: x<-L+N+R+T+U+W #define ACTION_2322 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2323: x<-L+N+R+T+V+W #define ACTION_2323 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2324: x<-L+N+R+U+V+W #define ACTION_2324 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2325: x<-L+N+S+T+U+W #define ACTION_2325 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2326: x<-L+N+S+T+V+W #define ACTION_2326 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2327: x<-L+N+S+U+V+W #define ACTION_2327 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2328: x<-L+O+P+S+T+U #define ACTION_2328 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2329: x<-L+O+P+S+T+V #define ACTION_2329 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2330: x<-L+O+P+S+T+W #define ACTION_2330 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2331: x<-L+O+P+S+U+V #define ACTION_2331 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2332: x<-L+O+P+S+U+W #define ACTION_2332 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2333: x<-L+O+P+S+V+W #define ACTION_2333 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2334: x<-L+O+P+T+U+W #define ACTION_2334 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2335: x<-L+O+P+T+V+W #define ACTION_2335 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2336: x<-L+O+P+U+V+W #define ACTION_2336 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2337: x<-L+O+Q+T+U+W #define ACTION_2337 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2338: x<-L+O+Q+T+V+W #define ACTION_2338 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2339: x<-L+O+Q+U+V+W #define ACTION_2339 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2340: x<-L+O+S+T+U+W #define ACTION_2340 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2341: x<-L+O+S+T+V+W #define ACTION_2341 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2342: x<-L+O+S+U+V+W #define ACTION_2342 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2343: x<-L+P+Q+R+T+U #define ACTION_2343 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2344: x<-L+P+Q+R+T+V #define ACTION_2344 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2345: x<-L+P+Q+R+T+W #define ACTION_2345 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2346: x<-L+P+Q+R+U+V #define ACTION_2346 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2347: x<-L+P+Q+R+U+W #define ACTION_2347 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2348: x<-L+P+Q+R+V+W #define ACTION_2348 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2349: x<-L+P+Q+S+T+U #define ACTION_2349 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2350: x<-L+P+Q+S+T+V #define ACTION_2350 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2351: x<-L+P+Q+S+T+W #define ACTION_2351 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2352: x<-L+P+Q+S+U+V #define ACTION_2352 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2353: x<-L+P+Q+S+U+W #define ACTION_2353 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2354: x<-L+P+Q+S+V+W #define ACTION_2354 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2355: x<-L+P+Q+T+U+W #define ACTION_2355 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2356: x<-L+P+Q+T+V+W #define ACTION_2356 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2357: x<-L+P+Q+U+V+W #define ACTION_2357 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2358: x<-L+P+R+S+T+U #define ACTION_2358 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2359: x<-L+P+R+S+T+V #define ACTION_2359 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2360: x<-L+P+R+S+T+W #define ACTION_2360 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2361: x<-L+P+R+S+U+V #define ACTION_2361 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2362: x<-L+P+R+S+U+W #define ACTION_2362 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2363: x<-L+P+R+S+V+W #define ACTION_2363 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2364: x<-L+P+R+T+U+W #define ACTION_2364 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2365: x<-L+P+R+T+V+W #define ACTION_2365 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2366: x<-L+P+R+U+V+W #define ACTION_2366 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2367: x<-L+P+S+T+U+W #define ACTION_2367 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2368: x<-L+P+S+T+V+W #define ACTION_2368 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2369: x<-L+P+S+U+V+W #define ACTION_2369 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2370: x<-L+Q+R+T+U+W #define ACTION_2370 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2371: x<-L+Q+R+T+V+W #define ACTION_2371 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2372: x<-L+Q+R+U+V+W #define ACTION_2372 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2373: x<-L+Q+S+T+U+W #define ACTION_2373 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2374: x<-L+Q+S+T+V+W #define ACTION_2374 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2375: x<-L+Q+S+U+V+W #define ACTION_2375 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2376: x<-L+R+S+T+U+W #define ACTION_2376 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c]));continue; // Action 2377: x<-L+R+S+T+V+W #define ACTION_2377 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c]));continue; // Action 2378: x<-L+R+S+U+V+W #define ACTION_2378 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c]));continue; // Action 2379: x<-M+N+O+Q+T+U #define ACTION_2379 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2380: x<-M+N+O+Q+T+V #define ACTION_2380 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2381: x<-M+N+O+Q+T+W #define ACTION_2381 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2382: x<-M+N+O+Q+U+V #define ACTION_2382 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2383: x<-M+N+O+Q+U+W #define ACTION_2383 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2384: x<-M+N+O+Q+V+W #define ACTION_2384 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2385: x<-M+N+O+T+U+W #define ACTION_2385 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2386: x<-M+N+O+T+V+W #define ACTION_2386 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2387: x<-M+N+O+U+V+W #define ACTION_2387 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2388: x<-M+N+P+Q+T+U #define ACTION_2388 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2389: x<-M+N+P+Q+T+V #define ACTION_2389 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2390: x<-M+N+P+Q+T+W #define ACTION_2390 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2391: x<-M+N+P+Q+U+V #define ACTION_2391 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2392: x<-M+N+P+Q+U+W #define ACTION_2392 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2393: x<-M+N+P+Q+V+W #define ACTION_2393 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2394: x<-M+N+P+R+T+U #define ACTION_2394 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2395: x<-M+N+P+R+T+V #define ACTION_2395 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2396: x<-M+N+P+R+T+W #define ACTION_2396 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2397: x<-M+N+P+R+U+V #define ACTION_2397 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2398: x<-M+N+P+R+U+W #define ACTION_2398 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2399: x<-M+N+P+R+V+W #define ACTION_2399 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2400: x<-M+N+P+T+U+W #define ACTION_2400 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2401: x<-M+N+P+T+V+W #define ACTION_2401 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2402: x<-M+N+P+U+V+W #define ACTION_2402 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2403: x<-M+N+Q+R+T+U #define ACTION_2403 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2404: x<-M+N+Q+R+T+V #define ACTION_2404 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2405: x<-M+N+Q+R+T+W #define ACTION_2405 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2406: x<-M+N+Q+R+U+V #define ACTION_2406 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2407: x<-M+N+Q+R+U+W #define ACTION_2407 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2408: x<-M+N+Q+R+V+W #define ACTION_2408 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2409: x<-M+N+Q+S+T+U #define ACTION_2409 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2410: x<-M+N+Q+S+T+V #define ACTION_2410 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2411: x<-M+N+Q+S+T+W #define ACTION_2411 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2412: x<-M+N+Q+S+U+V #define ACTION_2412 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2413: x<-M+N+Q+S+U+W #define ACTION_2413 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2414: x<-M+N+Q+S+V+W #define ACTION_2414 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2415: x<-M+N+Q+T+U+W #define ACTION_2415 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2416: x<-M+N+Q+T+V+W #define ACTION_2416 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2417: x<-M+N+Q+U+V+W #define ACTION_2417 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2418: x<-M+N+R+S+T+U #define ACTION_2418 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2419: x<-M+N+R+S+T+V #define ACTION_2419 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2420: x<-M+N+R+S+T+W #define ACTION_2420 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2421: x<-M+N+R+S+U+V #define ACTION_2421 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2422: x<-M+N+R+S+U+W #define ACTION_2422 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2423: x<-M+N+R+S+V+W #define ACTION_2423 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2424: x<-M+N+R+T+U+W #define ACTION_2424 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2425: x<-M+N+R+T+V+W #define ACTION_2425 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2426: x<-M+N+R+U+V+W #define ACTION_2426 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2427: x<-M+N+S+T+U+W #define ACTION_2427 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2428: x<-M+N+S+T+V+W #define ACTION_2428 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2429: x<-M+N+S+U+V+W #define ACTION_2429 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2430: x<-M+O+P+Q+T+U #define ACTION_2430 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2431: x<-M+O+P+Q+T+V #define ACTION_2431 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2432: x<-M+O+P+Q+T+W #define ACTION_2432 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2433: x<-M+O+P+Q+U+V #define ACTION_2433 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2434: x<-M+O+P+Q+U+W #define ACTION_2434 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2435: x<-M+O+P+Q+V+W #define ACTION_2435 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2436: x<-M+O+P+R+T+U #define ACTION_2436 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2437: x<-M+O+P+R+T+V #define ACTION_2437 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2438: x<-M+O+P+R+T+W #define ACTION_2438 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2439: x<-M+O+P+R+U+V #define ACTION_2439 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2440: x<-M+O+P+R+U+W #define ACTION_2440 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2441: x<-M+O+P+R+V+W #define ACTION_2441 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2442: x<-M+O+P+T+U+W #define ACTION_2442 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2443: x<-M+O+P+T+V+W #define ACTION_2443 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2444: x<-M+O+P+U+V+W #define ACTION_2444 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2445: x<-M+O+Q+R+T+U #define ACTION_2445 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2446: x<-M+O+Q+R+T+V #define ACTION_2446 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2447: x<-M+O+Q+R+T+W #define ACTION_2447 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2448: x<-M+O+Q+R+U+V #define ACTION_2448 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2449: x<-M+O+Q+R+U+W #define ACTION_2449 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2450: x<-M+O+Q+R+V+W #define ACTION_2450 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2451: x<-M+O+Q+S+T+U #define ACTION_2451 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2452: x<-M+O+Q+S+T+V #define ACTION_2452 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2453: x<-M+O+Q+S+T+W #define ACTION_2453 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2454: x<-M+O+Q+S+U+V #define ACTION_2454 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2455: x<-M+O+Q+S+U+W #define ACTION_2455 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2456: x<-M+O+Q+S+V+W #define ACTION_2456 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2457: x<-M+O+Q+T+U+W #define ACTION_2457 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2458: x<-M+O+Q+T+V+W #define ACTION_2458 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2459: x<-M+O+Q+U+V+W #define ACTION_2459 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2460: x<-M+O+R+S+T+U #define ACTION_2460 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2461: x<-M+O+R+S+T+V #define ACTION_2461 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2462: x<-M+O+R+S+T+W #define ACTION_2462 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2463: x<-M+O+R+S+U+V #define ACTION_2463 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2464: x<-M+O+R+S+U+W #define ACTION_2464 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2465: x<-M+O+R+S+V+W #define ACTION_2465 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2466: x<-M+O+R+T+U+W #define ACTION_2466 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2467: x<-M+O+R+T+V+W #define ACTION_2467 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2468: x<-M+O+R+U+V+W #define ACTION_2468 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2469: x<-M+O+S+T+U+W #define ACTION_2469 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2470: x<-M+O+S+T+V+W #define ACTION_2470 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2471: x<-M+O+S+U+V+W #define ACTION_2471 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2472: x<-M+P+Q+T+U+W #define ACTION_2472 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2473: x<-M+P+Q+T+V+W #define ACTION_2473 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2474: x<-M+P+Q+U+V+W #define ACTION_2474 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2475: x<-M+P+R+T+U+W #define ACTION_2475 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2476: x<-M+P+R+T+V+W #define ACTION_2476 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2477: x<-M+P+R+U+V+W #define ACTION_2477 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2478: x<-M+Q+R+T+U+W #define ACTION_2478 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2479: x<-M+Q+R+T+V+W #define ACTION_2479 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2480: x<-M+Q+R+U+V+W #define ACTION_2480 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2481: x<-M+Q+S+T+U+W #define ACTION_2481 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2482: x<-M+Q+S+T+V+W #define ACTION_2482 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2483: x<-M+Q+S+U+V+W #define ACTION_2483 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2484: x<-M+R+S+T+U+W #define ACTION_2484 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2485: x<-M+R+S+T+V+W #define ACTION_2485 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2486: x<-M+R+S+U+V+W #define ACTION_2486 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2487: x<-N+O+Q+R+T+U #define ACTION_2487 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2488: x<-N+O+Q+R+T+V #define ACTION_2488 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2489: x<-N+O+Q+R+T+W #define ACTION_2489 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2490: x<-N+O+Q+R+U+V #define ACTION_2490 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2491: x<-N+O+Q+R+U+W #define ACTION_2491 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2492: x<-N+O+Q+R+V+W #define ACTION_2492 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2493: x<-N+O+Q+S+T+U #define ACTION_2493 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2494: x<-N+O+Q+S+T+V #define ACTION_2494 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2495: x<-N+O+Q+S+T+W #define ACTION_2495 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2496: x<-N+O+Q+S+U+V #define ACTION_2496 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2497: x<-N+O+Q+S+U+W #define ACTION_2497 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2498: x<-N+O+Q+S+V+W #define ACTION_2498 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2499: x<-N+O+Q+T+U+W #define ACTION_2499 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2500: x<-N+O+Q+T+V+W #define ACTION_2500 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2501: x<-N+O+Q+U+V+W #define ACTION_2501 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2502: x<-N+O+R+S+T+U #define ACTION_2502 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2503: x<-N+O+R+S+T+V #define ACTION_2503 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2504: x<-N+O+R+S+T+W #define ACTION_2504 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2505: x<-N+O+R+S+U+V #define ACTION_2505 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2506: x<-N+O+R+S+U+W #define ACTION_2506 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2507: x<-N+O+R+S+V+W #define ACTION_2507 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2508: x<-N+O+R+T+U+W #define ACTION_2508 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2509: x<-N+O+R+T+V+W #define ACTION_2509 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2510: x<-N+O+R+U+V+W #define ACTION_2510 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2511: x<-N+O+S+T+U+W #define ACTION_2511 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2512: x<-N+O+S+T+V+W #define ACTION_2512 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2513: x<-N+O+S+U+V+W #define ACTION_2513 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2514: x<-N+P+Q+R+T+U #define ACTION_2514 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2515: x<-N+P+Q+R+T+V #define ACTION_2515 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2516: x<-N+P+Q+R+T+W #define ACTION_2516 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2517: x<-N+P+Q+R+U+V #define ACTION_2517 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2518: x<-N+P+Q+R+U+W #define ACTION_2518 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2519: x<-N+P+Q+R+V+W #define ACTION_2519 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2520: x<-N+P+Q+S+T+U #define ACTION_2520 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2521: x<-N+P+Q+S+T+V #define ACTION_2521 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2522: x<-N+P+Q+S+T+W #define ACTION_2522 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2523: x<-N+P+Q+S+U+V #define ACTION_2523 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2524: x<-N+P+Q+S+U+W #define ACTION_2524 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2525: x<-N+P+Q+S+V+W #define ACTION_2525 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2526: x<-N+P+Q+T+U+W #define ACTION_2526 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2527: x<-N+P+Q+T+V+W #define ACTION_2527 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2528: x<-N+P+Q+U+V+W #define ACTION_2528 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2529: x<-N+P+R+S+T+U #define ACTION_2529 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2530: x<-N+P+R+S+T+V #define ACTION_2530 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2531: x<-N+P+R+S+T+W #define ACTION_2531 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2532: x<-N+P+R+S+U+V #define ACTION_2532 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2533: x<-N+P+R+S+U+W #define ACTION_2533 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2534: x<-N+P+R+S+V+W #define ACTION_2534 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2535: x<-N+P+R+T+U+W #define ACTION_2535 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2536: x<-N+P+R+T+V+W #define ACTION_2536 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2537: x<-N+P+R+U+V+W #define ACTION_2537 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2538: x<-N+P+S+T+U+W #define ACTION_2538 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2539: x<-N+P+S+T+V+W #define ACTION_2539 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2540: x<-N+P+S+U+V+W #define ACTION_2540 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2541: x<-N+Q+R+T+U+W #define ACTION_2541 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2542: x<-N+Q+R+T+V+W #define ACTION_2542 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2543: x<-N+Q+R+U+V+W #define ACTION_2543 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2544: x<-N+Q+S+T+U+W #define ACTION_2544 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2545: x<-N+Q+S+T+V+W #define ACTION_2545 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2546: x<-N+Q+S+U+V+W #define ACTION_2546 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2547: x<-N+R+S+T+U+W #define ACTION_2547 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2548: x<-N+R+S+T+V+W #define ACTION_2548 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2549: x<-N+R+S+U+V+W #define ACTION_2549 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2550: x<-O+P+Q+R+T+U #define ACTION_2550 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2551: x<-O+P+Q+R+T+V #define ACTION_2551 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2552: x<-O+P+Q+R+T+W #define ACTION_2552 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2553: x<-O+P+Q+R+U+V #define ACTION_2553 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2554: x<-O+P+Q+R+U+W #define ACTION_2554 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2555: x<-O+P+Q+R+V+W #define ACTION_2555 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2556: x<-O+P+Q+S+T+U #define ACTION_2556 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2557: x<-O+P+Q+S+T+V #define ACTION_2557 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2558: x<-O+P+Q+S+T+W #define ACTION_2558 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2559: x<-O+P+Q+S+U+V #define ACTION_2559 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2560: x<-O+P+Q+S+U+W #define ACTION_2560 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2561: x<-O+P+Q+S+V+W #define ACTION_2561 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2562: x<-O+P+Q+T+U+W #define ACTION_2562 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2563: x<-O+P+Q+T+V+W #define ACTION_2563 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2564: x<-O+P+Q+U+V+W #define ACTION_2564 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2565: x<-O+P+R+S+T+U #define ACTION_2565 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2566: x<-O+P+R+S+T+V #define ACTION_2566 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2567: x<-O+P+R+S+T+W #define ACTION_2567 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c - 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2568: x<-O+P+R+S+U+V #define ACTION_2568 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row12[c + 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2569: x<-O+P+R+S+U+W #define ACTION_2569 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2570: x<-O+P+R+S+V+W #define ACTION_2570 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice11_row02[c + 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2571: x<-O+P+R+T+U+W #define ACTION_2571 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2572: x<-O+P+R+T+V+W #define ACTION_2572 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2573: x<-O+P+R+U+V+W #define ACTION_2573 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2574: x<-O+P+S+T+U+W #define ACTION_2574 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2575: x<-O+P+S+T+V+W #define ACTION_2575 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2576: x<-O+P+S+U+V+W #define ACTION_2576 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2577: x<-O+Q+R+T+U+W #define ACTION_2577 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2578: x<-O+Q+R+T+V+W #define ACTION_2578 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2579: x<-O+Q+R+U+V+W #define ACTION_2579 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2580: x<-O+Q+S+T+U+W #define ACTION_2580 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2581: x<-O+Q+S+T+V+W #define ACTION_2581 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2582: x<-O+Q+S+U+V+W #define ACTION_2582 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c]));continue; // Action 2583: x<-O+R+S+T+U+W #define ACTION_2583 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]));continue; // Action 2584: x<-O+R+S+T+V+W #define ACTION_2584 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]));continue; // Action 2585: x<-O+R+S+U+V+W #define ACTION_2585 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c]));continue; // Action 2586: x<-P+Q+R+T+U+W #define ACTION_2586 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2587: x<-P+Q+R+T+V+W #define ACTION_2587 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2588: x<-P+Q+R+U+V+W #define ACTION_2588 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2589: x<-P+Q+S+T+U+W #define ACTION_2589 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2590: x<-P+Q+S+T+V+W #define ACTION_2590 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2591: x<-P+Q+S+U+V+W #define ACTION_2591 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c - 2]), img_labels_slice11_row00[c + 2]));continue; // Action 2592: x<-P+R+S+T+U+W #define ACTION_2592 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]));continue; // Action 2593: x<-P+R+S+T+V+W #define ACTION_2593 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c - 2]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]));continue; // Action 2594: x<-P+R+S+U+V+W #define ACTION_2594 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), img_labels_slice00_row12[c]), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c + 2], img_labels_slice11_row02[c]), img_labels_slice11_row00[c + 2]));continue; // Action 2595: x<-K+L+N+O+T+U+W #define ACTION_2595 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2596: x<-K+L+N+O+T+V+W #define ACTION_2596 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2597: x<-K+L+N+O+U+V+W #define ACTION_2597 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2598: x<-K+L+N+P+T+U+W #define ACTION_2598 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2599: x<-K+L+N+P+T+V+W #define ACTION_2599 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2600: x<-K+L+N+P+U+V+W #define ACTION_2600 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2601: x<-K+L+N+R+T+U+W #define ACTION_2601 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2602: x<-K+L+N+R+T+V+W #define ACTION_2602 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2603: x<-K+L+N+R+U+V+W #define ACTION_2603 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2604: x<-K+L+N+S+T+U+W #define ACTION_2604 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2605: x<-K+L+N+S+T+V+W #define ACTION_2605 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2606: x<-K+L+N+S+U+V+W #define ACTION_2606 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2607: x<-K+L+O+P+T+U+W #define ACTION_2607 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2608: x<-K+L+O+P+T+V+W #define ACTION_2608 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2609: x<-K+L+O+P+U+V+W #define ACTION_2609 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2610: x<-K+L+O+Q+T+U+W #define ACTION_2610 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2611: x<-K+L+O+Q+T+V+W #define ACTION_2611 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2612: x<-K+L+O+Q+U+V+W #define ACTION_2612 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2613: x<-K+L+O+S+T+U+W #define ACTION_2613 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2614: x<-K+L+O+S+T+V+W #define ACTION_2614 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2615: x<-K+L+O+S+U+V+W #define ACTION_2615 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2616: x<-K+L+P+Q+T+U+W #define ACTION_2616 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2617: x<-K+L+P+Q+T+V+W #define ACTION_2617 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2618: x<-K+L+P+Q+U+V+W #define ACTION_2618 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2619: x<-K+L+P+R+T+U+W #define ACTION_2619 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2620: x<-K+L+P+R+T+V+W #define ACTION_2620 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2621: x<-K+L+P+R+U+V+W #define ACTION_2621 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2622: x<-K+L+Q+R+T+U+W #define ACTION_2622 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2623: x<-K+L+Q+R+T+V+W #define ACTION_2623 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2624: x<-K+L+Q+R+U+V+W #define ACTION_2624 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2625: x<-K+L+Q+S+T+U+W #define ACTION_2625 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2626: x<-K+L+Q+S+T+V+W #define ACTION_2626 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2627: x<-K+L+Q+S+U+V+W #define ACTION_2627 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2628: x<-K+L+R+S+T+U+W #define ACTION_2628 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2629: x<-K+L+R+S+T+V+W #define ACTION_2629 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2630: x<-K+L+R+S+U+V+W #define ACTION_2630 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2631: x<-K+M+N+O+T+U+W #define ACTION_2631 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2632: x<-K+M+N+O+T+V+W #define ACTION_2632 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2633: x<-K+M+N+O+U+V+W #define ACTION_2633 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2634: x<-K+M+N+P+T+U+W #define ACTION_2634 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2635: x<-K+M+N+P+T+V+W #define ACTION_2635 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2636: x<-K+M+N+P+U+V+W #define ACTION_2636 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2637: x<-K+M+N+R+T+U+W #define ACTION_2637 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2638: x<-K+M+N+R+T+V+W #define ACTION_2638 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2639: x<-K+M+N+R+U+V+W #define ACTION_2639 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2640: x<-K+M+N+S+T+U+W #define ACTION_2640 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2641: x<-K+M+N+S+T+V+W #define ACTION_2641 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2642: x<-K+M+N+S+U+V+W #define ACTION_2642 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2643: x<-K+M+O+P+T+U+W #define ACTION_2643 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2644: x<-K+M+O+P+T+V+W #define ACTION_2644 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2645: x<-K+M+O+P+U+V+W #define ACTION_2645 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2646: x<-K+M+O+Q+T+U+W #define ACTION_2646 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2647: x<-K+M+O+Q+T+V+W #define ACTION_2647 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2648: x<-K+M+O+Q+U+V+W #define ACTION_2648 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2649: x<-K+M+O+S+T+U+W #define ACTION_2649 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2650: x<-K+M+O+S+T+V+W #define ACTION_2650 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2651: x<-K+M+O+S+U+V+W #define ACTION_2651 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2652: x<-K+M+P+Q+T+U+W #define ACTION_2652 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2653: x<-K+M+P+Q+T+V+W #define ACTION_2653 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2654: x<-K+M+P+Q+U+V+W #define ACTION_2654 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2655: x<-K+M+P+R+T+U+W #define ACTION_2655 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2656: x<-K+M+P+R+T+V+W #define ACTION_2656 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2657: x<-K+M+P+R+U+V+W #define ACTION_2657 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2658: x<-K+M+Q+R+T+U+W #define ACTION_2658 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2659: x<-K+M+Q+R+T+V+W #define ACTION_2659 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2660: x<-K+M+Q+R+U+V+W #define ACTION_2660 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2661: x<-K+M+Q+S+T+U+W #define ACTION_2661 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2662: x<-K+M+Q+S+T+V+W #define ACTION_2662 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2663: x<-K+M+Q+S+U+V+W #define ACTION_2663 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2664: x<-K+M+R+S+T+U+W #define ACTION_2664 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2665: x<-K+M+R+S+T+V+W #define ACTION_2665 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2666: x<-K+M+R+S+U+V+W #define ACTION_2666 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2667: x<-K+N+O+R+T+U+W #define ACTION_2667 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2668: x<-K+N+O+R+T+V+W #define ACTION_2668 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2669: x<-K+N+O+R+U+V+W #define ACTION_2669 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2670: x<-K+N+O+S+T+U+W #define ACTION_2670 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2671: x<-K+N+O+S+T+V+W #define ACTION_2671 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2672: x<-K+N+O+S+U+V+W #define ACTION_2672 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2673: x<-K+N+P+R+T+U+W #define ACTION_2673 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2674: x<-K+N+P+R+T+V+W #define ACTION_2674 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2675: x<-K+N+P+R+U+V+W #define ACTION_2675 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2676: x<-K+N+P+S+T+U+W #define ACTION_2676 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2677: x<-K+N+P+S+T+V+W #define ACTION_2677 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2678: x<-K+N+P+S+U+V+W #define ACTION_2678 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2679: x<-K+O+P+S+T+U+W #define ACTION_2679 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2680: x<-K+O+P+S+T+V+W #define ACTION_2680 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2681: x<-K+O+P+S+U+V+W #define ACTION_2681 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2682: x<-K+O+Q+R+T+U+W #define ACTION_2682 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2683: x<-K+O+Q+R+T+V+W #define ACTION_2683 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2684: x<-K+O+Q+R+U+V+W #define ACTION_2684 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2685: x<-K+O+Q+S+T+U+W #define ACTION_2685 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2686: x<-K+O+Q+S+T+V+W #define ACTION_2686 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2687: x<-K+O+Q+S+U+V+W #define ACTION_2687 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2688: x<-K+O+R+S+T+U+W #define ACTION_2688 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2689: x<-K+O+R+S+T+V+W #define ACTION_2689 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2690: x<-K+O+R+S+U+V+W #define ACTION_2690 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c - 2]));continue; // Action 2691: x<-K+P+Q+R+T+U+W #define ACTION_2691 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2692: x<-K+P+Q+R+T+V+W #define ACTION_2692 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2693: x<-K+P+Q+R+U+V+W #define ACTION_2693 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2694: x<-K+P+Q+S+T+U+W #define ACTION_2694 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2695: x<-K+P+Q+S+T+V+W #define ACTION_2695 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2696: x<-K+P+Q+S+U+V+W #define ACTION_2696 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2697: x<-K+P+R+S+T+U+W #define ACTION_2697 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2698: x<-K+P+R+S+T+V+W #define ACTION_2698 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2699: x<-K+P+R+S+U+V+W #define ACTION_2699 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c - 2]));continue; // Action 2700: x<-L+M+N+O+T+U+W #define ACTION_2700 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2701: x<-L+M+N+O+T+V+W #define ACTION_2701 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2702: x<-L+M+N+O+U+V+W #define ACTION_2702 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2703: x<-L+M+N+P+T+U+W #define ACTION_2703 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2704: x<-L+M+N+P+T+V+W #define ACTION_2704 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2705: x<-L+M+N+P+U+V+W #define ACTION_2705 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2706: x<-L+M+N+R+T+U+W #define ACTION_2706 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2707: x<-L+M+N+R+T+V+W #define ACTION_2707 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2708: x<-L+M+N+R+U+V+W #define ACTION_2708 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2709: x<-L+M+N+S+T+U+W #define ACTION_2709 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2710: x<-L+M+N+S+T+V+W #define ACTION_2710 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2711: x<-L+M+N+S+U+V+W #define ACTION_2711 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2712: x<-L+M+O+P+T+U+W #define ACTION_2712 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2713: x<-L+M+O+P+T+V+W #define ACTION_2713 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2714: x<-L+M+O+P+U+V+W #define ACTION_2714 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row00[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2715: x<-L+M+O+Q+T+U+W #define ACTION_2715 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2716: x<-L+M+O+Q+T+V+W #define ACTION_2716 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2717: x<-L+M+O+Q+U+V+W #define ACTION_2717 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2718: x<-L+M+O+S+T+U+W #define ACTION_2718 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2719: x<-L+M+O+S+T+V+W #define ACTION_2719 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2720: x<-L+M+O+S+U+V+W #define ACTION_2720 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2721: x<-L+M+P+Q+T+U+W #define ACTION_2721 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2722: x<-L+M+P+Q+T+V+W #define ACTION_2722 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2723: x<-L+M+P+Q+U+V+W #define ACTION_2723 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2724: x<-L+M+P+R+T+U+W #define ACTION_2724 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2725: x<-L+M+P+R+T+V+W #define ACTION_2725 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2726: x<-L+M+P+R+U+V+W #define ACTION_2726 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2727: x<-L+M+Q+R+T+U+W #define ACTION_2727 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2728: x<-L+M+Q+R+T+V+W #define ACTION_2728 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2729: x<-L+M+Q+R+U+V+W #define ACTION_2729 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2730: x<-L+M+Q+S+T+U+W #define ACTION_2730 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2731: x<-L+M+Q+S+T+V+W #define ACTION_2731 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2732: x<-L+M+Q+S+U+V+W #define ACTION_2732 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2733: x<-L+M+R+S+T+U+W #define ACTION_2733 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2734: x<-L+M+R+S+T+V+W #define ACTION_2734 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2735: x<-L+M+R+S+U+V+W #define ACTION_2735 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row12[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2736: x<-L+N+O+Q+T+U+W #define ACTION_2736 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2737: x<-L+N+O+Q+T+V+W #define ACTION_2737 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2738: x<-L+N+O+Q+U+V+W #define ACTION_2738 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2739: x<-L+N+P+Q+T+U+W #define ACTION_2739 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2740: x<-L+N+P+Q+T+V+W #define ACTION_2740 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2741: x<-L+N+P+Q+U+V+W #define ACTION_2741 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2742: x<-L+N+P+R+T+U+W #define ACTION_2742 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2743: x<-L+N+P+R+T+V+W #define ACTION_2743 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2744: x<-L+N+P+R+U+V+W #define ACTION_2744 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2745: x<-L+N+P+S+T+U+W #define ACTION_2745 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2746: x<-L+N+P+S+T+V+W #define ACTION_2746 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2747: x<-L+N+P+S+U+V+W #define ACTION_2747 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2748: x<-L+N+Q+R+T+U+W #define ACTION_2748 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2749: x<-L+N+Q+R+T+V+W #define ACTION_2749 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2750: x<-L+N+Q+R+U+V+W #define ACTION_2750 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2751: x<-L+N+Q+S+T+U+W #define ACTION_2751 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2752: x<-L+N+Q+S+T+V+W #define ACTION_2752 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2753: x<-L+N+Q+S+U+V+W #define ACTION_2753 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2754: x<-L+N+R+S+T+U+W #define ACTION_2754 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2755: x<-L+N+R+S+T+V+W #define ACTION_2755 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2756: x<-L+N+R+S+U+V+W #define ACTION_2756 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c]));continue; // Action 2757: x<-L+O+P+S+T+U+W #define ACTION_2757 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2758: x<-L+O+P+S+T+V+W #define ACTION_2758 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2759: x<-L+O+P+S+U+V+W #define ACTION_2759 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c]));continue; // Action 2760: x<-L+P+Q+R+T+U+W #define ACTION_2760 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2761: x<-L+P+Q+R+T+V+W #define ACTION_2761 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2762: x<-L+P+Q+R+U+V+W #define ACTION_2762 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2763: x<-L+P+Q+S+T+U+W #define ACTION_2763 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2764: x<-L+P+Q+S+T+V+W #define ACTION_2764 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2765: x<-L+P+Q+S+U+V+W #define ACTION_2765 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2766: x<-L+P+R+S+T+U+W #define ACTION_2766 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2767: x<-L+P+R+S+T+V+W #define ACTION_2767 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2768: x<-L+P+R+S+U+V+W #define ACTION_2768 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row12[c]));continue; // Action 2769: x<-M+N+O+Q+T+U+W #define ACTION_2769 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2770: x<-M+N+O+Q+T+V+W #define ACTION_2770 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2771: x<-M+N+O+Q+U+V+W #define ACTION_2771 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2772: x<-M+N+P+Q+T+U+W #define ACTION_2772 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2773: x<-M+N+P+Q+T+V+W #define ACTION_2773 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2774: x<-M+N+P+Q+U+V+W #define ACTION_2774 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2775: x<-M+N+P+R+T+U+W #define ACTION_2775 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2776: x<-M+N+P+R+T+V+W #define ACTION_2776 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2777: x<-M+N+P+R+U+V+W #define ACTION_2777 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2778: x<-M+N+Q+R+T+U+W #define ACTION_2778 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2779: x<-M+N+Q+R+T+V+W #define ACTION_2779 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2780: x<-M+N+Q+R+U+V+W #define ACTION_2780 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2781: x<-M+N+Q+S+T+U+W #define ACTION_2781 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2782: x<-M+N+Q+S+T+V+W #define ACTION_2782 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2783: x<-M+N+Q+S+U+V+W #define ACTION_2783 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2784: x<-M+N+R+S+T+U+W #define ACTION_2784 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2785: x<-M+N+R+S+T+V+W #define ACTION_2785 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2786: x<-M+N+R+S+U+V+W #define ACTION_2786 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c - 2]), img_labels_slice11_row12[c + 2]));continue; // Action 2787: x<-M+O+P+Q+T+U+W #define ACTION_2787 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2788: x<-M+O+P+Q+T+V+W #define ACTION_2788 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2789: x<-M+O+P+Q+U+V+W #define ACTION_2789 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c - 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2790: x<-M+O+P+R+T+U+W #define ACTION_2790 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2791: x<-M+O+P+R+T+V+W #define ACTION_2791 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2792: x<-M+O+P+R+U+V+W #define ACTION_2792 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row00[c + 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2793: x<-M+O+Q+R+T+U+W #define ACTION_2793 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2794: x<-M+O+Q+R+T+V+W #define ACTION_2794 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2795: x<-M+O+Q+R+U+V+W #define ACTION_2795 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2796: x<-M+O+Q+S+T+U+W #define ACTION_2796 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2797: x<-M+O+Q+S+T+V+W #define ACTION_2797 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2798: x<-M+O+Q+S+U+V+W #define ACTION_2798 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2799: x<-M+O+R+S+T+U+W #define ACTION_2799 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2800: x<-M+O+R+S+T+V+W #define ACTION_2800 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2801: x<-M+O+R+S+U+V+W #define ACTION_2801 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row12[c + 2]));continue; // Action 2802: x<-N+O+Q+R+T+U+W #define ACTION_2802 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2803: x<-N+O+Q+R+T+V+W #define ACTION_2803 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2804: x<-N+O+Q+R+U+V+W #define ACTION_2804 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2805: x<-N+O+Q+S+T+U+W #define ACTION_2805 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2806: x<-N+O+Q+S+T+V+W #define ACTION_2806 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2807: x<-N+O+Q+S+U+V+W #define ACTION_2807 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2808: x<-N+O+R+S+T+U+W #define ACTION_2808 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2809: x<-N+O+R+S+T+V+W #define ACTION_2809 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2810: x<-N+O+R+S+U+V+W #define ACTION_2810 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c]), img_labels_slice11_row00[c - 2]));continue; // Action 2811: x<-N+P+Q+R+T+U+W #define ACTION_2811 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2812: x<-N+P+Q+R+T+V+W #define ACTION_2812 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2813: x<-N+P+Q+R+U+V+W #define ACTION_2813 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2814: x<-N+P+Q+S+T+U+W #define ACTION_2814 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2815: x<-N+P+Q+S+T+V+W #define ACTION_2815 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2816: x<-N+P+Q+S+U+V+W #define ACTION_2816 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2817: x<-N+P+R+S+T+U+W #define ACTION_2817 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2818: x<-N+P+R+S+T+V+W #define ACTION_2818 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2819: x<-N+P+R+S+U+V+W #define ACTION_2819 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c - 2]));continue; // Action 2820: x<-O+P+Q+R+T+U+W #define ACTION_2820 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2821: x<-O+P+Q+R+T+V+W #define ACTION_2821 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2822: x<-O+P+Q+R+U+V+W #define ACTION_2822 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2823: x<-O+P+Q+S+T+U+W #define ACTION_2823 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2824: x<-O+P+Q+S+T+V+W #define ACTION_2824 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2825: x<-O+P+Q+S+U+V+W #define ACTION_2825 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c - 2], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2826: x<-O+P+R+S+T+U+W #define ACTION_2826 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2827: x<-O+P+R+S+T+V+W #define ACTION_2827 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c - 2], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; // Action 2828: x<-O+P+R+S+U+V+W #define ACTION_2828 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 2], img_labels_slice00_row12[c + 2]), LabelsSolver::Merge(img_labels_slice00_row12[c], img_labels_slice11_row02[c + 2])), LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row02[c], img_labels_slice11_row00[c + 2]), img_labels_slice11_row00[c]));continue; ================================================ FILE: include/labeling3D_EPDT_26c_action_def_mem.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany //Actions: // Action 0: nothing #define ACTION_0 img_labels(s, r, c) = 0;continue; // Action 1: x<-newlabel #define ACTION_1 img_labels(s, r, c) = LabelsSolver::MemNewLabel();continue; // Action 2: x<-K #define ACTION_2 img_labels(s, r, c) = img_labels(s - 1, r - 2, c - 2);continue; // Action 3: x<-L #define ACTION_3 img_labels(s, r, c) = img_labels(s - 1, r - 2, c);continue; // Action 4: x<-M #define ACTION_4 img_labels(s, r, c) = img_labels(s - 1, r - 2, c + 2);continue; // Action 5: x<-N #define ACTION_5 img_labels(s, r, c) = img_labels(s - 1, r, c - 2);continue; // Action 6: x<-O #define ACTION_6 img_labels(s, r, c) = img_labels(s - 1, r, c);continue; // Action 7: x<-P #define ACTION_7 img_labels(s, r, c) = img_labels(s - 1, r, c + 2);continue; // Action 8: x<-Q #define ACTION_8 img_labels(s, r, c) = img_labels(s - 1, r + 2, c - 2);continue; // Action 9: x<-R #define ACTION_9 img_labels(s, r, c) = img_labels(s - 1, r + 2, c);continue; // Action 10: x<-S #define ACTION_10 img_labels(s, r, c) = img_labels(s - 1, r + 2, c + 2);continue; // Action 11: x<-T #define ACTION_11 img_labels(s, r, c) = img_labels(s, r - 2, c - 2);continue; // Action 12: x<-U #define ACTION_12 img_labels(s, r, c) = img_labels(s, r - 2, c);continue; // Action 13: x<-V #define ACTION_13 img_labels(s, r, c) = img_labels(s, r - 2, c + 2);continue; // Action 14: x<-W #define ACTION_14 img_labels(s, r, c) = img_labels(s, r, c - 2);continue; // Action 15: x<-K+L #define ACTION_15 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2));continue; // Action 16: x<-K+M #define ACTION_16 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 17: x<-K+N #define ACTION_17 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 18: x<-K+O #define ACTION_18 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2));continue; // Action 19: x<-K+P #define ACTION_19 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 20: x<-K+Q #define ACTION_20 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 21: x<-K+R #define ACTION_21 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2));continue; // Action 22: x<-K+S #define ACTION_22 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 23: x<-K+T #define ACTION_23 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 24: x<-K+U #define ACTION_24 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c - 2));continue; // Action 25: x<-K+V #define ACTION_25 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 26: x<-K+W #define ACTION_26 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 27: x<-L+M #define ACTION_27 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c));continue; // Action 28: x<-L+N #define ACTION_28 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c));continue; // Action 29: x<-L+O #define ACTION_29 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c));continue; // Action 30: x<-L+P #define ACTION_30 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c));continue; // Action 31: x<-L+Q #define ACTION_31 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c));continue; // Action 32: x<-L+R #define ACTION_32 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c));continue; // Action 33: x<-L+S #define ACTION_33 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c));continue; // Action 34: x<-L+T #define ACTION_34 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c));continue; // Action 35: x<-L+U #define ACTION_35 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c));continue; // Action 36: x<-L+V #define ACTION_36 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c));continue; // Action 37: x<-L+W #define ACTION_37 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c));continue; // Action 38: x<-M+N #define ACTION_38 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 39: x<-M+O #define ACTION_39 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2));continue; // Action 40: x<-M+P #define ACTION_40 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 41: x<-M+Q #define ACTION_41 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 42: x<-M+R #define ACTION_42 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2));continue; // Action 43: x<-M+S #define ACTION_43 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 44: x<-M+T #define ACTION_44 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 45: x<-M+U #define ACTION_45 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c + 2));continue; // Action 46: x<-M+V #define ACTION_46 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 47: x<-M+W #define ACTION_47 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 48: x<-N+O #define ACTION_48 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2));continue; // Action 49: x<-N+P #define ACTION_49 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2));continue; // Action 50: x<-N+Q #define ACTION_50 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2));continue; // Action 51: x<-N+R #define ACTION_51 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2));continue; // Action 52: x<-N+S #define ACTION_52 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2));continue; // Action 53: x<-N+T #define ACTION_53 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2));continue; // Action 54: x<-N+U #define ACTION_54 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2));continue; // Action 55: x<-N+V #define ACTION_55 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2));continue; // Action 56: x<-N+W #define ACTION_56 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2));continue; // Action 57: x<-O+P #define ACTION_57 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c));continue; // Action 58: x<-O+Q #define ACTION_58 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c));continue; // Action 59: x<-O+R #define ACTION_59 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c));continue; // Action 60: x<-O+S #define ACTION_60 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c));continue; // Action 61: x<-O+T #define ACTION_61 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c));continue; // Action 62: x<-O+U #define ACTION_62 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c));continue; // Action 63: x<-O+V #define ACTION_63 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c));continue; // Action 64: x<-O+W #define ACTION_64 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c));continue; // Action 65: x<-P+Q #define ACTION_65 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2));continue; // Action 66: x<-P+R #define ACTION_66 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2));continue; // Action 67: x<-P+S #define ACTION_67 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2));continue; // Action 68: x<-P+T #define ACTION_68 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2));continue; // Action 69: x<-P+U #define ACTION_69 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2));continue; // Action 70: x<-P+V #define ACTION_70 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2));continue; // Action 71: x<-P+W #define ACTION_71 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2));continue; // Action 72: x<-Q+R #define ACTION_72 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2));continue; // Action 73: x<-Q+S #define ACTION_73 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2));continue; // Action 74: x<-Q+T #define ACTION_74 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2));continue; // Action 75: x<-Q+U #define ACTION_75 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2));continue; // Action 76: x<-Q+V #define ACTION_76 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2));continue; // Action 77: x<-Q+W #define ACTION_77 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2));continue; // Action 78: x<-R+S #define ACTION_78 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c));continue; // Action 79: x<-R+T #define ACTION_79 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c));continue; // Action 80: x<-R+U #define ACTION_80 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c));continue; // Action 81: x<-R+V #define ACTION_81 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c));continue; // Action 82: x<-R+W #define ACTION_82 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c));continue; // Action 83: x<-S+T #define ACTION_83 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2));continue; // Action 84: x<-S+U #define ACTION_84 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2));continue; // Action 85: x<-S+V #define ACTION_85 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2));continue; // Action 86: x<-S+W #define ACTION_86 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2));continue; // Action 87: x<-T+U #define ACTION_87 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2));continue; // Action 88: x<-T+V #define ACTION_88 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2));continue; // Action 89: x<-T+W #define ACTION_89 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2));continue; // Action 90: x<-U+V #define ACTION_90 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c));continue; // Action 91: x<-U+W #define ACTION_91 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c));continue; // Action 92: x<-V+W #define ACTION_92 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2));continue; // Action 93: x<-K+L+N #define ACTION_93 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 94: x<-K+L+O #define ACTION_94 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 95: x<-K+L+P #define ACTION_95 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 96: x<-K+L+Q #define ACTION_96 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 97: x<-K+L+R #define ACTION_97 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 98: x<-K+L+S #define ACTION_98 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 99: x<-K+L+T #define ACTION_99 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 100: x<-K+L+U #define ACTION_100 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 101: x<-K+L+V #define ACTION_101 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 102: x<-K+L+W #define ACTION_102 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 103: x<-K+M+N #define ACTION_103 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 104: x<-K+M+O #define ACTION_104 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 105: x<-K+M+P #define ACTION_105 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 106: x<-K+M+Q #define ACTION_106 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 107: x<-K+M+R #define ACTION_107 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 108: x<-K+M+S #define ACTION_108 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 109: x<-K+M+T #define ACTION_109 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 110: x<-K+M+U #define ACTION_110 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 111: x<-K+M+V #define ACTION_111 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 112: x<-K+M+W #define ACTION_112 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 113: x<-K+N+O #define ACTION_113 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 114: x<-K+N+P #define ACTION_114 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 115: x<-K+N+R #define ACTION_115 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 116: x<-K+N+S #define ACTION_116 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 117: x<-K+N+T #define ACTION_117 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 118: x<-K+N+U #define ACTION_118 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 119: x<-K+N+V #define ACTION_119 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 120: x<-K+N+W #define ACTION_120 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 121: x<-K+O+P #define ACTION_121 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 122: x<-K+O+Q #define ACTION_122 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 123: x<-K+O+R #define ACTION_123 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 124: x<-K+O+S #define ACTION_124 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 125: x<-K+O+T #define ACTION_125 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 126: x<-K+O+U #define ACTION_126 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 127: x<-K+O+V #define ACTION_127 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 128: x<-K+O+W #define ACTION_128 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 129: x<-K+P+Q #define ACTION_129 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 130: x<-K+P+R #define ACTION_130 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 131: x<-K+P+S #define ACTION_131 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 132: x<-K+P+T #define ACTION_132 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 133: x<-K+P+U #define ACTION_133 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 134: x<-K+P+V #define ACTION_134 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 135: x<-K+P+W #define ACTION_135 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 136: x<-K+Q+R #define ACTION_136 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 137: x<-K+Q+S #define ACTION_137 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 138: x<-K+Q+T #define ACTION_138 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 139: x<-K+Q+U #define ACTION_139 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 140: x<-K+Q+V #define ACTION_140 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 141: x<-K+Q+W #define ACTION_141 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 142: x<-K+R+S #define ACTION_142 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 143: x<-K+R+T #define ACTION_143 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 144: x<-K+R+U #define ACTION_144 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 145: x<-K+R+V #define ACTION_145 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 146: x<-K+R+W #define ACTION_146 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 147: x<-K+S+T #define ACTION_147 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 148: x<-K+S+U #define ACTION_148 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 149: x<-K+S+V #define ACTION_149 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 150: x<-K+S+W #define ACTION_150 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 151: x<-K+T+U #define ACTION_151 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 152: x<-K+T+V #define ACTION_152 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 153: x<-K+T+W #define ACTION_153 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 154: x<-K+U+V #define ACTION_154 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 155: x<-K+U+W #define ACTION_155 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 156: x<-K+V+W #define ACTION_156 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 157: x<-L+M+N #define ACTION_157 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 158: x<-L+M+O #define ACTION_158 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 159: x<-L+M+P #define ACTION_159 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 160: x<-L+M+Q #define ACTION_160 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 161: x<-L+M+R #define ACTION_161 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 162: x<-L+M+S #define ACTION_162 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 163: x<-L+M+T #define ACTION_163 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 164: x<-L+M+U #define ACTION_164 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 165: x<-L+M+V #define ACTION_165 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 166: x<-L+M+W #define ACTION_166 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 167: x<-L+N+O #define ACTION_167 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 168: x<-L+N+P #define ACTION_168 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 169: x<-L+N+Q #define ACTION_169 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 170: x<-L+N+R #define ACTION_170 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 171: x<-L+N+S #define ACTION_171 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 172: x<-L+N+T #define ACTION_172 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 173: x<-L+N+U #define ACTION_173 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 174: x<-L+N+V #define ACTION_174 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 175: x<-L+N+W #define ACTION_175 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 176: x<-L+O+P #define ACTION_176 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 177: x<-L+O+Q #define ACTION_177 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 178: x<-L+O+S #define ACTION_178 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 179: x<-L+O+T #define ACTION_179 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 180: x<-L+O+U #define ACTION_180 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 181: x<-L+O+V #define ACTION_181 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 182: x<-L+O+W #define ACTION_182 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 183: x<-L+P+Q #define ACTION_183 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 184: x<-L+P+R #define ACTION_184 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 185: x<-L+P+S #define ACTION_185 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 186: x<-L+P+T #define ACTION_186 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 187: x<-L+P+U #define ACTION_187 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 188: x<-L+P+V #define ACTION_188 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 189: x<-L+P+W #define ACTION_189 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 190: x<-L+Q+R #define ACTION_190 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 191: x<-L+Q+S #define ACTION_191 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 192: x<-L+Q+T #define ACTION_192 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 193: x<-L+Q+U #define ACTION_193 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 194: x<-L+Q+V #define ACTION_194 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 195: x<-L+Q+W #define ACTION_195 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 196: x<-L+R+S #define ACTION_196 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 197: x<-L+R+T #define ACTION_197 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 198: x<-L+R+U #define ACTION_198 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 199: x<-L+R+V #define ACTION_199 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 200: x<-L+R+W #define ACTION_200 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 201: x<-L+S+T #define ACTION_201 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 202: x<-L+S+U #define ACTION_202 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 203: x<-L+S+V #define ACTION_203 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 204: x<-L+S+W #define ACTION_204 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 205: x<-L+T+U #define ACTION_205 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 206: x<-L+T+V #define ACTION_206 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 207: x<-L+T+W #define ACTION_207 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 208: x<-L+U+V #define ACTION_208 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 209: x<-L+U+W #define ACTION_209 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 210: x<-L+V+W #define ACTION_210 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 211: x<-M+N+O #define ACTION_211 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 212: x<-M+N+P #define ACTION_212 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 213: x<-M+N+Q #define ACTION_213 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 214: x<-M+N+R #define ACTION_214 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 215: x<-M+N+S #define ACTION_215 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 216: x<-M+N+T #define ACTION_216 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 217: x<-M+N+U #define ACTION_217 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 218: x<-M+N+V #define ACTION_218 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 219: x<-M+N+W #define ACTION_219 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 220: x<-M+O+P #define ACTION_220 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 221: x<-M+O+Q #define ACTION_221 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 222: x<-M+O+R #define ACTION_222 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 223: x<-M+O+S #define ACTION_223 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 224: x<-M+O+T #define ACTION_224 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 225: x<-M+O+U #define ACTION_225 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 226: x<-M+O+V #define ACTION_226 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 227: x<-M+O+W #define ACTION_227 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 228: x<-M+P+Q #define ACTION_228 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 229: x<-M+P+R #define ACTION_229 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 230: x<-M+P+T #define ACTION_230 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 231: x<-M+P+U #define ACTION_231 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 232: x<-M+P+V #define ACTION_232 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 233: x<-M+P+W #define ACTION_233 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 234: x<-M+Q+R #define ACTION_234 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 235: x<-M+Q+S #define ACTION_235 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 236: x<-M+Q+T #define ACTION_236 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 237: x<-M+Q+U #define ACTION_237 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 238: x<-M+Q+V #define ACTION_238 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 239: x<-M+Q+W #define ACTION_239 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 240: x<-M+R+S #define ACTION_240 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 241: x<-M+R+T #define ACTION_241 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 242: x<-M+R+U #define ACTION_242 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 243: x<-M+R+V #define ACTION_243 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 244: x<-M+R+W #define ACTION_244 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 245: x<-M+S+T #define ACTION_245 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 246: x<-M+S+U #define ACTION_246 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 247: x<-M+S+V #define ACTION_247 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 248: x<-M+S+W #define ACTION_248 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 249: x<-M+T+U #define ACTION_249 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 250: x<-M+T+V #define ACTION_250 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 251: x<-M+T+W #define ACTION_251 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 252: x<-M+U+V #define ACTION_252 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 253: x<-M+U+W #define ACTION_253 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 254: x<-M+V+W #define ACTION_254 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 255: x<-N+O+Q #define ACTION_255 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 256: x<-N+O+R #define ACTION_256 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 257: x<-N+O+S #define ACTION_257 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 258: x<-N+O+T #define ACTION_258 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 259: x<-N+O+U #define ACTION_259 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 260: x<-N+O+V #define ACTION_260 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 261: x<-N+O+W #define ACTION_261 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 262: x<-N+P+Q #define ACTION_262 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 263: x<-N+P+R #define ACTION_263 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 264: x<-N+P+S #define ACTION_264 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 265: x<-N+P+T #define ACTION_265 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 266: x<-N+P+U #define ACTION_266 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 267: x<-N+P+V #define ACTION_267 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 268: x<-N+P+W #define ACTION_268 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 269: x<-N+Q+R #define ACTION_269 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 270: x<-N+Q+S #define ACTION_270 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 271: x<-N+Q+T #define ACTION_271 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 272: x<-N+Q+U #define ACTION_272 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 273: x<-N+Q+V #define ACTION_273 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 274: x<-N+Q+W #define ACTION_274 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 275: x<-N+R+S #define ACTION_275 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 276: x<-N+R+T #define ACTION_276 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 277: x<-N+R+U #define ACTION_277 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 278: x<-N+R+V #define ACTION_278 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 279: x<-N+R+W #define ACTION_279 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 280: x<-N+S+T #define ACTION_280 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 281: x<-N+S+U #define ACTION_281 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 282: x<-N+S+V #define ACTION_282 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 283: x<-N+S+W #define ACTION_283 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 284: x<-N+T+U #define ACTION_284 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 285: x<-N+T+V #define ACTION_285 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 286: x<-N+T+W #define ACTION_286 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 287: x<-N+U+V #define ACTION_287 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 288: x<-N+U+W #define ACTION_288 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 289: x<-N+V+W #define ACTION_289 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 290: x<-O+P+Q #define ACTION_290 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 291: x<-O+P+R #define ACTION_291 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 292: x<-O+P+S #define ACTION_292 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 293: x<-O+P+T #define ACTION_293 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 294: x<-O+P+U #define ACTION_294 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 295: x<-O+P+V #define ACTION_295 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 296: x<-O+P+W #define ACTION_296 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 297: x<-O+Q+R #define ACTION_297 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 298: x<-O+Q+S #define ACTION_298 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 299: x<-O+Q+T #define ACTION_299 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 300: x<-O+Q+U #define ACTION_300 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 301: x<-O+Q+V #define ACTION_301 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 302: x<-O+Q+W #define ACTION_302 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 303: x<-O+R+S #define ACTION_303 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c));continue; // Action 304: x<-O+R+T #define ACTION_304 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c));continue; // Action 305: x<-O+R+U #define ACTION_305 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c));continue; // Action 306: x<-O+R+V #define ACTION_306 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c));continue; // Action 307: x<-O+R+W #define ACTION_307 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c));continue; // Action 308: x<-O+S+T #define ACTION_308 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c));continue; // Action 309: x<-O+S+U #define ACTION_309 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c));continue; // Action 310: x<-O+S+V #define ACTION_310 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c));continue; // Action 311: x<-O+S+W #define ACTION_311 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c));continue; // Action 312: x<-O+T+U #define ACTION_312 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 313: x<-O+T+V #define ACTION_313 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 314: x<-O+T+W #define ACTION_314 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 315: x<-O+U+V #define ACTION_315 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c));continue; // Action 316: x<-O+U+W #define ACTION_316 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c));continue; // Action 317: x<-O+V+W #define ACTION_317 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c));continue; // Action 318: x<-P+Q+R #define ACTION_318 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 319: x<-P+Q+S #define ACTION_319 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 320: x<-P+Q+T #define ACTION_320 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 321: x<-P+Q+U #define ACTION_321 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 322: x<-P+Q+V #define ACTION_322 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 323: x<-P+Q+W #define ACTION_323 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 324: x<-P+R+S #define ACTION_324 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 325: x<-P+R+T #define ACTION_325 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 326: x<-P+R+U #define ACTION_326 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 327: x<-P+R+V #define ACTION_327 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 328: x<-P+R+W #define ACTION_328 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 329: x<-P+S+T #define ACTION_329 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2));continue; // Action 330: x<-P+S+U #define ACTION_330 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2));continue; // Action 331: x<-P+S+V #define ACTION_331 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2));continue; // Action 332: x<-P+S+W #define ACTION_332 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2));continue; // Action 333: x<-P+T+U #define ACTION_333 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 334: x<-P+T+V #define ACTION_334 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 335: x<-P+T+W #define ACTION_335 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 336: x<-P+U+V #define ACTION_336 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 337: x<-P+U+W #define ACTION_337 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 338: x<-P+V+W #define ACTION_338 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2));continue; // Action 339: x<-Q+R+T #define ACTION_339 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 340: x<-Q+R+U #define ACTION_340 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 341: x<-Q+R+V #define ACTION_341 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 342: x<-Q+R+W #define ACTION_342 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 343: x<-Q+S+T #define ACTION_343 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 344: x<-Q+S+U #define ACTION_344 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 345: x<-Q+S+V #define ACTION_345 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 346: x<-Q+S+W #define ACTION_346 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 347: x<-Q+T+U #define ACTION_347 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 348: x<-Q+T+V #define ACTION_348 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 349: x<-Q+T+W #define ACTION_349 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 350: x<-Q+U+V #define ACTION_350 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 351: x<-Q+U+W #define ACTION_351 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 352: x<-Q+V+W #define ACTION_352 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 353: x<-R+S+T #define ACTION_353 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c));continue; // Action 354: x<-R+S+U #define ACTION_354 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c));continue; // Action 355: x<-R+S+V #define ACTION_355 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c));continue; // Action 356: x<-R+S+W #define ACTION_356 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c));continue; // Action 357: x<-R+T+U #define ACTION_357 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c));continue; // Action 358: x<-R+T+V #define ACTION_358 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c));continue; // Action 359: x<-R+T+W #define ACTION_359 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c));continue; // Action 360: x<-R+U+V #define ACTION_360 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c));continue; // Action 361: x<-R+U+W #define ACTION_361 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c));continue; // Action 362: x<-R+V+W #define ACTION_362 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c));continue; // Action 363: x<-S+T+U #define ACTION_363 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2));continue; // Action 364: x<-S+T+V #define ACTION_364 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2));continue; // Action 365: x<-S+T+W #define ACTION_365 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2));continue; // Action 366: x<-S+U+V #define ACTION_366 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2));continue; // Action 367: x<-S+U+W #define ACTION_367 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2));continue; // Action 368: x<-S+V+W #define ACTION_368 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2));continue; // Action 369: x<-T+U+W #define ACTION_369 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2));continue; // Action 370: x<-T+V+W #define ACTION_370 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2));continue; // Action 371: x<-U+V+W #define ACTION_371 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c));continue; // Action 372: x<-K+L+N+O #define ACTION_372 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 373: x<-K+L+N+P #define ACTION_373 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 374: x<-K+L+N+R #define ACTION_374 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 375: x<-K+L+N+S #define ACTION_375 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 376: x<-K+L+N+T #define ACTION_376 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 377: x<-K+L+N+U #define ACTION_377 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 378: x<-K+L+N+V #define ACTION_378 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 379: x<-K+L+N+W #define ACTION_379 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 380: x<-K+L+O+P #define ACTION_380 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 381: x<-K+L+O+Q #define ACTION_381 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 382: x<-K+L+O+S #define ACTION_382 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 383: x<-K+L+O+T #define ACTION_383 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 384: x<-K+L+O+U #define ACTION_384 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 385: x<-K+L+O+V #define ACTION_385 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 386: x<-K+L+O+W #define ACTION_386 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 387: x<-K+L+P+Q #define ACTION_387 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 388: x<-K+L+P+R #define ACTION_388 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 389: x<-K+L+P+T #define ACTION_389 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 390: x<-K+L+P+U #define ACTION_390 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 391: x<-K+L+P+V #define ACTION_391 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 392: x<-K+L+P+W #define ACTION_392 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 393: x<-K+L+Q+R #define ACTION_393 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 394: x<-K+L+Q+S #define ACTION_394 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 395: x<-K+L+Q+T #define ACTION_395 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 396: x<-K+L+Q+U #define ACTION_396 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 397: x<-K+L+Q+V #define ACTION_397 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 398: x<-K+L+Q+W #define ACTION_398 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 399: x<-K+L+R+S #define ACTION_399 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 400: x<-K+L+R+T #define ACTION_400 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 401: x<-K+L+R+U #define ACTION_401 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 402: x<-K+L+R+V #define ACTION_402 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 403: x<-K+L+R+W #define ACTION_403 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 404: x<-K+L+S+T #define ACTION_404 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 405: x<-K+L+S+U #define ACTION_405 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 406: x<-K+L+S+V #define ACTION_406 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 407: x<-K+L+S+W #define ACTION_407 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 408: x<-K+L+T+U #define ACTION_408 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 409: x<-K+L+T+V #define ACTION_409 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 410: x<-K+L+T+W #define ACTION_410 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 411: x<-K+L+U+V #define ACTION_411 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 412: x<-K+L+U+W #define ACTION_412 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 413: x<-K+L+V+W #define ACTION_413 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 414: x<-K+M+N+O #define ACTION_414 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 415: x<-K+M+N+P #define ACTION_415 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 416: x<-K+M+N+R #define ACTION_416 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 417: x<-K+M+N+S #define ACTION_417 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 418: x<-K+M+N+T #define ACTION_418 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 419: x<-K+M+N+U #define ACTION_419 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 420: x<-K+M+N+V #define ACTION_420 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 421: x<-K+M+N+W #define ACTION_421 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 422: x<-K+M+O+P #define ACTION_422 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 423: x<-K+M+O+Q #define ACTION_423 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 424: x<-K+M+O+S #define ACTION_424 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 425: x<-K+M+O+T #define ACTION_425 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 426: x<-K+M+O+U #define ACTION_426 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 427: x<-K+M+O+V #define ACTION_427 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 428: x<-K+M+O+W #define ACTION_428 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 429: x<-K+M+P+Q #define ACTION_429 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 430: x<-K+M+P+R #define ACTION_430 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 431: x<-K+M+P+T #define ACTION_431 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 432: x<-K+M+P+U #define ACTION_432 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 433: x<-K+M+P+V #define ACTION_433 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 434: x<-K+M+P+W #define ACTION_434 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 435: x<-K+M+Q+R #define ACTION_435 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 436: x<-K+M+Q+S #define ACTION_436 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 437: x<-K+M+Q+T #define ACTION_437 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 438: x<-K+M+Q+U #define ACTION_438 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 439: x<-K+M+Q+V #define ACTION_439 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 440: x<-K+M+Q+W #define ACTION_440 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 441: x<-K+M+R+S #define ACTION_441 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 442: x<-K+M+R+T #define ACTION_442 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 443: x<-K+M+R+U #define ACTION_443 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 444: x<-K+M+R+V #define ACTION_444 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 445: x<-K+M+R+W #define ACTION_445 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 446: x<-K+M+S+T #define ACTION_446 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 447: x<-K+M+S+U #define ACTION_447 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 448: x<-K+M+S+V #define ACTION_448 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 449: x<-K+M+S+W #define ACTION_449 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 450: x<-K+M+T+U #define ACTION_450 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 451: x<-K+M+T+V #define ACTION_451 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 452: x<-K+M+T+W #define ACTION_452 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 453: x<-K+M+U+V #define ACTION_453 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 454: x<-K+M+U+W #define ACTION_454 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 455: x<-K+M+V+W #define ACTION_455 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 456: x<-K+N+O+R #define ACTION_456 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 457: x<-K+N+O+S #define ACTION_457 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 458: x<-K+N+O+T #define ACTION_458 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 459: x<-K+N+O+U #define ACTION_459 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 460: x<-K+N+O+V #define ACTION_460 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 461: x<-K+N+O+W #define ACTION_461 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 462: x<-K+N+P+R #define ACTION_462 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 463: x<-K+N+P+S #define ACTION_463 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 464: x<-K+N+P+T #define ACTION_464 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 465: x<-K+N+P+U #define ACTION_465 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 466: x<-K+N+P+V #define ACTION_466 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 467: x<-K+N+P+W #define ACTION_467 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 468: x<-K+N+R+T #define ACTION_468 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 469: x<-K+N+R+U #define ACTION_469 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 470: x<-K+N+R+V #define ACTION_470 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 471: x<-K+N+R+W #define ACTION_471 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 472: x<-K+N+S+T #define ACTION_472 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 473: x<-K+N+S+U #define ACTION_473 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 474: x<-K+N+S+V #define ACTION_474 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 475: x<-K+N+S+W #define ACTION_475 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 476: x<-K+N+T+U #define ACTION_476 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 477: x<-K+N+T+V #define ACTION_477 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 478: x<-K+N+T+W #define ACTION_478 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 479: x<-K+N+U+V #define ACTION_479 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 480: x<-K+N+U+W #define ACTION_480 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 481: x<-K+N+V+W #define ACTION_481 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 482: x<-K+O+P+S #define ACTION_482 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 483: x<-K+O+P+T #define ACTION_483 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 484: x<-K+O+P+U #define ACTION_484 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 485: x<-K+O+P+V #define ACTION_485 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 486: x<-K+O+P+W #define ACTION_486 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 487: x<-K+O+Q+R #define ACTION_487 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 488: x<-K+O+Q+S #define ACTION_488 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 489: x<-K+O+Q+T #define ACTION_489 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 490: x<-K+O+Q+U #define ACTION_490 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 491: x<-K+O+Q+V #define ACTION_491 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 492: x<-K+O+Q+W #define ACTION_492 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 493: x<-K+O+R+S #define ACTION_493 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 494: x<-K+O+R+T #define ACTION_494 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 495: x<-K+O+R+U #define ACTION_495 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 496: x<-K+O+R+V #define ACTION_496 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 497: x<-K+O+R+W #define ACTION_497 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 498: x<-K+O+S+T #define ACTION_498 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 499: x<-K+O+S+U #define ACTION_499 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 500: x<-K+O+S+V #define ACTION_500 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 501: x<-K+O+S+W #define ACTION_501 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 502: x<-K+O+T+U #define ACTION_502 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 503: x<-K+O+T+V #define ACTION_503 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 504: x<-K+O+T+W #define ACTION_504 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 505: x<-K+O+U+V #define ACTION_505 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 506: x<-K+O+U+W #define ACTION_506 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 507: x<-K+O+V+W #define ACTION_507 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 508: x<-K+P+Q+R #define ACTION_508 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 509: x<-K+P+Q+S #define ACTION_509 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 510: x<-K+P+Q+T #define ACTION_510 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 511: x<-K+P+Q+U #define ACTION_511 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 512: x<-K+P+Q+V #define ACTION_512 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 513: x<-K+P+Q+W #define ACTION_513 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 514: x<-K+P+R+S #define ACTION_514 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 515: x<-K+P+R+T #define ACTION_515 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 516: x<-K+P+R+U #define ACTION_516 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 517: x<-K+P+R+V #define ACTION_517 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 518: x<-K+P+R+W #define ACTION_518 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 519: x<-K+P+S+T #define ACTION_519 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 520: x<-K+P+S+U #define ACTION_520 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 521: x<-K+P+S+V #define ACTION_521 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 522: x<-K+P+S+W #define ACTION_522 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 523: x<-K+P+T+U #define ACTION_523 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 524: x<-K+P+T+V #define ACTION_524 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 525: x<-K+P+T+W #define ACTION_525 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 526: x<-K+P+U+V #define ACTION_526 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 527: x<-K+P+U+W #define ACTION_527 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 528: x<-K+P+V+W #define ACTION_528 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 529: x<-K+Q+R+T #define ACTION_529 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 530: x<-K+Q+R+U #define ACTION_530 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 531: x<-K+Q+R+V #define ACTION_531 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 532: x<-K+Q+R+W #define ACTION_532 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 533: x<-K+Q+S+T #define ACTION_533 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 534: x<-K+Q+S+U #define ACTION_534 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 535: x<-K+Q+S+V #define ACTION_535 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 536: x<-K+Q+S+W #define ACTION_536 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 537: x<-K+Q+T+U #define ACTION_537 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 538: x<-K+Q+T+V #define ACTION_538 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 539: x<-K+Q+T+W #define ACTION_539 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 540: x<-K+Q+U+V #define ACTION_540 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 541: x<-K+Q+U+W #define ACTION_541 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 542: x<-K+Q+V+W #define ACTION_542 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 543: x<-K+R+S+T #define ACTION_543 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 544: x<-K+R+S+U #define ACTION_544 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 545: x<-K+R+S+V #define ACTION_545 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 546: x<-K+R+S+W #define ACTION_546 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 547: x<-K+R+T+U #define ACTION_547 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 548: x<-K+R+T+V #define ACTION_548 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 549: x<-K+R+T+W #define ACTION_549 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 550: x<-K+R+U+V #define ACTION_550 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 551: x<-K+R+U+W #define ACTION_551 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 552: x<-K+R+V+W #define ACTION_552 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 553: x<-K+S+T+U #define ACTION_553 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 554: x<-K+S+T+V #define ACTION_554 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 555: x<-K+S+T+W #define ACTION_555 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 556: x<-K+S+U+V #define ACTION_556 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 557: x<-K+S+U+W #define ACTION_557 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 558: x<-K+S+V+W #define ACTION_558 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 559: x<-K+T+U+W #define ACTION_559 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 560: x<-K+T+V+W #define ACTION_560 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 561: x<-K+U+V+W #define ACTION_561 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 562: x<-L+M+N+O #define ACTION_562 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 563: x<-L+M+N+P #define ACTION_563 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 564: x<-L+M+N+R #define ACTION_564 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 565: x<-L+M+N+S #define ACTION_565 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 566: x<-L+M+N+T #define ACTION_566 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 567: x<-L+M+N+U #define ACTION_567 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 568: x<-L+M+N+V #define ACTION_568 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 569: x<-L+M+N+W #define ACTION_569 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 570: x<-L+M+O+P #define ACTION_570 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 571: x<-L+M+O+Q #define ACTION_571 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 572: x<-L+M+O+S #define ACTION_572 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 573: x<-L+M+O+T #define ACTION_573 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 574: x<-L+M+O+U #define ACTION_574 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 575: x<-L+M+O+V #define ACTION_575 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 576: x<-L+M+O+W #define ACTION_576 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 577: x<-L+M+P+Q #define ACTION_577 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 578: x<-L+M+P+R #define ACTION_578 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 579: x<-L+M+P+T #define ACTION_579 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 580: x<-L+M+P+U #define ACTION_580 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 581: x<-L+M+P+V #define ACTION_581 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 582: x<-L+M+P+W #define ACTION_582 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 583: x<-L+M+Q+R #define ACTION_583 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 584: x<-L+M+Q+S #define ACTION_584 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 585: x<-L+M+Q+T #define ACTION_585 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 586: x<-L+M+Q+U #define ACTION_586 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 587: x<-L+M+Q+V #define ACTION_587 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 588: x<-L+M+Q+W #define ACTION_588 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 589: x<-L+M+R+S #define ACTION_589 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 590: x<-L+M+R+T #define ACTION_590 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 591: x<-L+M+R+U #define ACTION_591 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 592: x<-L+M+R+V #define ACTION_592 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 593: x<-L+M+R+W #define ACTION_593 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 594: x<-L+M+S+T #define ACTION_594 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 595: x<-L+M+S+U #define ACTION_595 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 596: x<-L+M+S+V #define ACTION_596 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 597: x<-L+M+S+W #define ACTION_597 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 598: x<-L+M+T+U #define ACTION_598 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 599: x<-L+M+T+V #define ACTION_599 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 600: x<-L+M+T+W #define ACTION_600 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 601: x<-L+M+U+V #define ACTION_601 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 602: x<-L+M+U+W #define ACTION_602 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 603: x<-L+M+V+W #define ACTION_603 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 604: x<-L+N+O+Q #define ACTION_604 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 605: x<-L+N+O+T #define ACTION_605 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 606: x<-L+N+O+U #define ACTION_606 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 607: x<-L+N+O+V #define ACTION_607 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 608: x<-L+N+O+W #define ACTION_608 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 609: x<-L+N+P+Q #define ACTION_609 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 610: x<-L+N+P+R #define ACTION_610 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 611: x<-L+N+P+S #define ACTION_611 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 612: x<-L+N+P+T #define ACTION_612 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 613: x<-L+N+P+U #define ACTION_613 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 614: x<-L+N+P+V #define ACTION_614 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 615: x<-L+N+P+W #define ACTION_615 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 616: x<-L+N+Q+R #define ACTION_616 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 617: x<-L+N+Q+S #define ACTION_617 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 618: x<-L+N+Q+T #define ACTION_618 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 619: x<-L+N+Q+U #define ACTION_619 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 620: x<-L+N+Q+V #define ACTION_620 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 621: x<-L+N+Q+W #define ACTION_621 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 622: x<-L+N+R+S #define ACTION_622 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 623: x<-L+N+R+T #define ACTION_623 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 624: x<-L+N+R+U #define ACTION_624 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 625: x<-L+N+R+V #define ACTION_625 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 626: x<-L+N+R+W #define ACTION_626 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 627: x<-L+N+S+T #define ACTION_627 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 628: x<-L+N+S+U #define ACTION_628 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 629: x<-L+N+S+V #define ACTION_629 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 630: x<-L+N+S+W #define ACTION_630 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 631: x<-L+N+T+U #define ACTION_631 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 632: x<-L+N+T+V #define ACTION_632 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 633: x<-L+N+T+W #define ACTION_633 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 634: x<-L+N+U+V #define ACTION_634 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 635: x<-L+N+U+W #define ACTION_635 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 636: x<-L+N+V+W #define ACTION_636 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 637: x<-L+O+P+S #define ACTION_637 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 638: x<-L+O+P+T #define ACTION_638 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 639: x<-L+O+P+U #define ACTION_639 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 640: x<-L+O+P+V #define ACTION_640 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 641: x<-L+O+P+W #define ACTION_641 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 642: x<-L+O+Q+T #define ACTION_642 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 643: x<-L+O+Q+U #define ACTION_643 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 644: x<-L+O+Q+V #define ACTION_644 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 645: x<-L+O+Q+W #define ACTION_645 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 646: x<-L+O+S+T #define ACTION_646 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 647: x<-L+O+S+U #define ACTION_647 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 648: x<-L+O+S+V #define ACTION_648 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 649: x<-L+O+S+W #define ACTION_649 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 650: x<-L+O+T+U #define ACTION_650 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 651: x<-L+O+T+V #define ACTION_651 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 652: x<-L+O+T+W #define ACTION_652 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 653: x<-L+O+U+V #define ACTION_653 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 654: x<-L+O+U+W #define ACTION_654 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 655: x<-L+O+V+W #define ACTION_655 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 656: x<-L+P+Q+R #define ACTION_656 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 657: x<-L+P+Q+S #define ACTION_657 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 658: x<-L+P+Q+T #define ACTION_658 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 659: x<-L+P+Q+U #define ACTION_659 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 660: x<-L+P+Q+V #define ACTION_660 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 661: x<-L+P+Q+W #define ACTION_661 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 662: x<-L+P+R+S #define ACTION_662 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 663: x<-L+P+R+T #define ACTION_663 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 664: x<-L+P+R+U #define ACTION_664 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 665: x<-L+P+R+V #define ACTION_665 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 666: x<-L+P+R+W #define ACTION_666 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 667: x<-L+P+S+T #define ACTION_667 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 668: x<-L+P+S+U #define ACTION_668 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 669: x<-L+P+S+V #define ACTION_669 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 670: x<-L+P+S+W #define ACTION_670 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 671: x<-L+P+T+U #define ACTION_671 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 672: x<-L+P+T+V #define ACTION_672 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 673: x<-L+P+T+W #define ACTION_673 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 674: x<-L+P+U+V #define ACTION_674 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 675: x<-L+P+U+W #define ACTION_675 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 676: x<-L+P+V+W #define ACTION_676 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 677: x<-L+Q+R+T #define ACTION_677 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 678: x<-L+Q+R+U #define ACTION_678 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 679: x<-L+Q+R+V #define ACTION_679 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 680: x<-L+Q+R+W #define ACTION_680 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 681: x<-L+Q+S+T #define ACTION_681 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 682: x<-L+Q+S+U #define ACTION_682 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 683: x<-L+Q+S+V #define ACTION_683 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 684: x<-L+Q+S+W #define ACTION_684 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 685: x<-L+Q+T+U #define ACTION_685 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 686: x<-L+Q+T+V #define ACTION_686 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 687: x<-L+Q+T+W #define ACTION_687 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 688: x<-L+Q+U+V #define ACTION_688 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 689: x<-L+Q+U+W #define ACTION_689 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 690: x<-L+Q+V+W #define ACTION_690 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 691: x<-L+R+S+T #define ACTION_691 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 692: x<-L+R+S+U #define ACTION_692 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 693: x<-L+R+S+V #define ACTION_693 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 694: x<-L+R+S+W #define ACTION_694 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 695: x<-L+R+T+U #define ACTION_695 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 696: x<-L+R+T+V #define ACTION_696 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 697: x<-L+R+T+W #define ACTION_697 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 698: x<-L+R+U+V #define ACTION_698 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 699: x<-L+R+U+W #define ACTION_699 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 700: x<-L+R+V+W #define ACTION_700 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 701: x<-L+S+T+U #define ACTION_701 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 702: x<-L+S+T+V #define ACTION_702 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 703: x<-L+S+T+W #define ACTION_703 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 704: x<-L+S+U+V #define ACTION_704 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 705: x<-L+S+U+W #define ACTION_705 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 706: x<-L+S+V+W #define ACTION_706 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 707: x<-L+T+U+W #define ACTION_707 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 708: x<-L+T+V+W #define ACTION_708 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 709: x<-L+U+V+W #define ACTION_709 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 710: x<-M+N+O+Q #define ACTION_710 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 711: x<-M+N+O+T #define ACTION_711 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 712: x<-M+N+O+U #define ACTION_712 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 713: x<-M+N+O+V #define ACTION_713 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 714: x<-M+N+O+W #define ACTION_714 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 715: x<-M+N+P+Q #define ACTION_715 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 716: x<-M+N+P+R #define ACTION_716 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 717: x<-M+N+P+T #define ACTION_717 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 718: x<-M+N+P+U #define ACTION_718 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 719: x<-M+N+P+V #define ACTION_719 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 720: x<-M+N+P+W #define ACTION_720 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 721: x<-M+N+Q+R #define ACTION_721 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 722: x<-M+N+Q+S #define ACTION_722 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 723: x<-M+N+Q+T #define ACTION_723 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 724: x<-M+N+Q+U #define ACTION_724 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 725: x<-M+N+Q+V #define ACTION_725 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 726: x<-M+N+Q+W #define ACTION_726 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 727: x<-M+N+R+S #define ACTION_727 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 728: x<-M+N+R+T #define ACTION_728 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 729: x<-M+N+R+U #define ACTION_729 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 730: x<-M+N+R+V #define ACTION_730 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 731: x<-M+N+R+W #define ACTION_731 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 732: x<-M+N+S+T #define ACTION_732 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 733: x<-M+N+S+U #define ACTION_733 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 734: x<-M+N+S+V #define ACTION_734 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 735: x<-M+N+S+W #define ACTION_735 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 736: x<-M+N+T+U #define ACTION_736 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 737: x<-M+N+T+V #define ACTION_737 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 738: x<-M+N+T+W #define ACTION_738 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 739: x<-M+N+U+V #define ACTION_739 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 740: x<-M+N+U+W #define ACTION_740 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 741: x<-M+N+V+W #define ACTION_741 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 742: x<-M+O+P+Q #define ACTION_742 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 743: x<-M+O+P+R #define ACTION_743 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 744: x<-M+O+P+T #define ACTION_744 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 745: x<-M+O+P+U #define ACTION_745 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 746: x<-M+O+P+V #define ACTION_746 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 747: x<-M+O+P+W #define ACTION_747 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 748: x<-M+O+Q+R #define ACTION_748 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 749: x<-M+O+Q+S #define ACTION_749 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 750: x<-M+O+Q+T #define ACTION_750 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 751: x<-M+O+Q+U #define ACTION_751 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 752: x<-M+O+Q+V #define ACTION_752 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 753: x<-M+O+Q+W #define ACTION_753 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 754: x<-M+O+R+S #define ACTION_754 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 755: x<-M+O+R+T #define ACTION_755 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 756: x<-M+O+R+U #define ACTION_756 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 757: x<-M+O+R+V #define ACTION_757 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 758: x<-M+O+R+W #define ACTION_758 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 759: x<-M+O+S+T #define ACTION_759 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 760: x<-M+O+S+U #define ACTION_760 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 761: x<-M+O+S+V #define ACTION_761 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 762: x<-M+O+S+W #define ACTION_762 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 763: x<-M+O+T+U #define ACTION_763 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 764: x<-M+O+T+V #define ACTION_764 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 765: x<-M+O+T+W #define ACTION_765 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 766: x<-M+O+U+V #define ACTION_766 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 767: x<-M+O+U+W #define ACTION_767 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 768: x<-M+O+V+W #define ACTION_768 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 769: x<-M+P+Q+T #define ACTION_769 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 770: x<-M+P+Q+U #define ACTION_770 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 771: x<-M+P+Q+V #define ACTION_771 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 772: x<-M+P+Q+W #define ACTION_772 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 773: x<-M+P+R+T #define ACTION_773 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 774: x<-M+P+R+U #define ACTION_774 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 775: x<-M+P+R+V #define ACTION_775 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 776: x<-M+P+R+W #define ACTION_776 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 777: x<-M+P+T+U #define ACTION_777 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 778: x<-M+P+T+V #define ACTION_778 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 779: x<-M+P+T+W #define ACTION_779 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 780: x<-M+P+U+V #define ACTION_780 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 781: x<-M+P+U+W #define ACTION_781 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 782: x<-M+P+V+W #define ACTION_782 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 783: x<-M+Q+R+T #define ACTION_783 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 784: x<-M+Q+R+U #define ACTION_784 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 785: x<-M+Q+R+V #define ACTION_785 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 786: x<-M+Q+R+W #define ACTION_786 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 787: x<-M+Q+S+T #define ACTION_787 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 788: x<-M+Q+S+U #define ACTION_788 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 789: x<-M+Q+S+V #define ACTION_789 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 790: x<-M+Q+S+W #define ACTION_790 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 791: x<-M+Q+T+U #define ACTION_791 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 792: x<-M+Q+T+V #define ACTION_792 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 793: x<-M+Q+T+W #define ACTION_793 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 794: x<-M+Q+U+V #define ACTION_794 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 795: x<-M+Q+U+W #define ACTION_795 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 796: x<-M+Q+V+W #define ACTION_796 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 797: x<-M+R+S+T #define ACTION_797 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 798: x<-M+R+S+U #define ACTION_798 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 799: x<-M+R+S+V #define ACTION_799 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 800: x<-M+R+S+W #define ACTION_800 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 801: x<-M+R+T+U #define ACTION_801 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 802: x<-M+R+T+V #define ACTION_802 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 803: x<-M+R+T+W #define ACTION_803 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 804: x<-M+R+U+V #define ACTION_804 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 805: x<-M+R+U+W #define ACTION_805 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 806: x<-M+R+V+W #define ACTION_806 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 807: x<-M+S+T+U #define ACTION_807 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 808: x<-M+S+T+V #define ACTION_808 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 809: x<-M+S+T+W #define ACTION_809 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 810: x<-M+S+U+V #define ACTION_810 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 811: x<-M+S+U+W #define ACTION_811 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 812: x<-M+S+V+W #define ACTION_812 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 813: x<-M+T+U+W #define ACTION_813 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 814: x<-M+T+V+W #define ACTION_814 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 815: x<-M+U+V+W #define ACTION_815 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 816: x<-N+O+Q+R #define ACTION_816 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 817: x<-N+O+Q+S #define ACTION_817 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 818: x<-N+O+Q+T #define ACTION_818 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 819: x<-N+O+Q+U #define ACTION_819 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 820: x<-N+O+Q+V #define ACTION_820 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 821: x<-N+O+Q+W #define ACTION_821 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 822: x<-N+O+R+S #define ACTION_822 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 823: x<-N+O+R+T #define ACTION_823 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 824: x<-N+O+R+U #define ACTION_824 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 825: x<-N+O+R+V #define ACTION_825 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 826: x<-N+O+R+W #define ACTION_826 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 827: x<-N+O+S+T #define ACTION_827 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 828: x<-N+O+S+U #define ACTION_828 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 829: x<-N+O+S+V #define ACTION_829 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 830: x<-N+O+S+W #define ACTION_830 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 831: x<-N+O+T+U #define ACTION_831 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 832: x<-N+O+T+V #define ACTION_832 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 833: x<-N+O+T+W #define ACTION_833 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 834: x<-N+O+U+V #define ACTION_834 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 835: x<-N+O+U+W #define ACTION_835 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 836: x<-N+O+V+W #define ACTION_836 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 837: x<-N+P+Q+R #define ACTION_837 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 838: x<-N+P+Q+S #define ACTION_838 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 839: x<-N+P+Q+T #define ACTION_839 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 840: x<-N+P+Q+U #define ACTION_840 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 841: x<-N+P+Q+V #define ACTION_841 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 842: x<-N+P+Q+W #define ACTION_842 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 843: x<-N+P+R+S #define ACTION_843 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 844: x<-N+P+R+T #define ACTION_844 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 845: x<-N+P+R+U #define ACTION_845 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 846: x<-N+P+R+V #define ACTION_846 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 847: x<-N+P+R+W #define ACTION_847 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 848: x<-N+P+S+T #define ACTION_848 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 849: x<-N+P+S+U #define ACTION_849 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 850: x<-N+P+S+V #define ACTION_850 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 851: x<-N+P+S+W #define ACTION_851 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 852: x<-N+P+T+U #define ACTION_852 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 853: x<-N+P+T+V #define ACTION_853 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 854: x<-N+P+T+W #define ACTION_854 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 855: x<-N+P+U+V #define ACTION_855 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 856: x<-N+P+U+W #define ACTION_856 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 857: x<-N+P+V+W #define ACTION_857 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 858: x<-N+Q+R+T #define ACTION_858 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 859: x<-N+Q+R+U #define ACTION_859 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 860: x<-N+Q+R+V #define ACTION_860 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 861: x<-N+Q+R+W #define ACTION_861 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 862: x<-N+Q+S+T #define ACTION_862 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 863: x<-N+Q+S+U #define ACTION_863 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 864: x<-N+Q+S+V #define ACTION_864 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 865: x<-N+Q+S+W #define ACTION_865 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 866: x<-N+Q+T+U #define ACTION_866 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 867: x<-N+Q+T+V #define ACTION_867 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 868: x<-N+Q+T+W #define ACTION_868 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 869: x<-N+Q+U+V #define ACTION_869 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 870: x<-N+Q+U+W #define ACTION_870 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 871: x<-N+Q+V+W #define ACTION_871 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 872: x<-N+R+S+T #define ACTION_872 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 873: x<-N+R+S+U #define ACTION_873 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 874: x<-N+R+S+V #define ACTION_874 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 875: x<-N+R+S+W #define ACTION_875 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 876: x<-N+R+T+U #define ACTION_876 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 877: x<-N+R+T+V #define ACTION_877 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 878: x<-N+R+T+W #define ACTION_878 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 879: x<-N+R+U+V #define ACTION_879 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 880: x<-N+R+U+W #define ACTION_880 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 881: x<-N+R+V+W #define ACTION_881 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 882: x<-N+S+T+U #define ACTION_882 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 883: x<-N+S+T+V #define ACTION_883 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 884: x<-N+S+T+W #define ACTION_884 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 885: x<-N+S+U+V #define ACTION_885 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 886: x<-N+S+U+W #define ACTION_886 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 887: x<-N+S+V+W #define ACTION_887 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 888: x<-N+T+U+W #define ACTION_888 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 889: x<-N+T+V+W #define ACTION_889 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 890: x<-N+U+V+W #define ACTION_890 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 891: x<-O+P+Q+R #define ACTION_891 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 892: x<-O+P+Q+S #define ACTION_892 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 893: x<-O+P+Q+T #define ACTION_893 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 894: x<-O+P+Q+U #define ACTION_894 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 895: x<-O+P+Q+V #define ACTION_895 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 896: x<-O+P+Q+W #define ACTION_896 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 897: x<-O+P+R+S #define ACTION_897 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 898: x<-O+P+R+T #define ACTION_898 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 899: x<-O+P+R+U #define ACTION_899 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 900: x<-O+P+R+V #define ACTION_900 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 901: x<-O+P+R+W #define ACTION_901 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 902: x<-O+P+S+T #define ACTION_902 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 903: x<-O+P+S+U #define ACTION_903 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 904: x<-O+P+S+V #define ACTION_904 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 905: x<-O+P+S+W #define ACTION_905 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 906: x<-O+P+T+U #define ACTION_906 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 907: x<-O+P+T+V #define ACTION_907 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 908: x<-O+P+T+W #define ACTION_908 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 909: x<-O+P+U+V #define ACTION_909 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 910: x<-O+P+U+W #define ACTION_910 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 911: x<-O+P+V+W #define ACTION_911 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 912: x<-O+Q+R+T #define ACTION_912 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 913: x<-O+Q+R+U #define ACTION_913 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 914: x<-O+Q+R+V #define ACTION_914 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 915: x<-O+Q+R+W #define ACTION_915 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 916: x<-O+Q+S+T #define ACTION_916 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 917: x<-O+Q+S+U #define ACTION_917 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 918: x<-O+Q+S+V #define ACTION_918 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 919: x<-O+Q+S+W #define ACTION_919 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 920: x<-O+Q+T+U #define ACTION_920 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 921: x<-O+Q+T+V #define ACTION_921 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 922: x<-O+Q+T+W #define ACTION_922 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 923: x<-O+Q+U+V #define ACTION_923 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 924: x<-O+Q+U+W #define ACTION_924 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 925: x<-O+Q+V+W #define ACTION_925 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 926: x<-O+R+S+T #define ACTION_926 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 927: x<-O+R+S+U #define ACTION_927 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 928: x<-O+R+S+V #define ACTION_928 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 929: x<-O+R+S+W #define ACTION_929 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 930: x<-O+R+T+U #define ACTION_930 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 931: x<-O+R+T+V #define ACTION_931 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 932: x<-O+R+T+W #define ACTION_932 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 933: x<-O+R+U+V #define ACTION_933 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 934: x<-O+R+U+W #define ACTION_934 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 935: x<-O+R+V+W #define ACTION_935 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 936: x<-O+S+T+U #define ACTION_936 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 937: x<-O+S+T+V #define ACTION_937 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 938: x<-O+S+T+W #define ACTION_938 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 939: x<-O+S+U+V #define ACTION_939 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 940: x<-O+S+U+W #define ACTION_940 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 941: x<-O+S+V+W #define ACTION_941 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 942: x<-O+T+U+W #define ACTION_942 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 943: x<-O+T+V+W #define ACTION_943 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 944: x<-O+U+V+W #define ACTION_944 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)));continue; // Action 945: x<-P+Q+R+T #define ACTION_945 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 946: x<-P+Q+R+U #define ACTION_946 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 947: x<-P+Q+R+V #define ACTION_947 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 948: x<-P+Q+R+W #define ACTION_948 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 949: x<-P+Q+S+T #define ACTION_949 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 950: x<-P+Q+S+U #define ACTION_950 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 951: x<-P+Q+S+V #define ACTION_951 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 952: x<-P+Q+S+W #define ACTION_952 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 953: x<-P+Q+T+U #define ACTION_953 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 954: x<-P+Q+T+V #define ACTION_954 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 955: x<-P+Q+T+W #define ACTION_955 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 956: x<-P+Q+U+V #define ACTION_956 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 957: x<-P+Q+U+W #define ACTION_957 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 958: x<-P+Q+V+W #define ACTION_958 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 959: x<-P+R+S+T #define ACTION_959 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 960: x<-P+R+S+U #define ACTION_960 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 961: x<-P+R+S+V #define ACTION_961 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 962: x<-P+R+S+W #define ACTION_962 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 963: x<-P+R+T+U #define ACTION_963 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 964: x<-P+R+T+V #define ACTION_964 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 965: x<-P+R+T+W #define ACTION_965 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 966: x<-P+R+U+V #define ACTION_966 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 967: x<-P+R+U+W #define ACTION_967 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 968: x<-P+R+V+W #define ACTION_968 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 969: x<-P+S+T+U #define ACTION_969 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 970: x<-P+S+T+V #define ACTION_970 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 971: x<-P+S+T+W #define ACTION_971 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 972: x<-P+S+U+V #define ACTION_972 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 973: x<-P+S+U+W #define ACTION_973 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 974: x<-P+S+V+W #define ACTION_974 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 975: x<-P+T+U+W #define ACTION_975 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 976: x<-P+T+V+W #define ACTION_976 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 977: x<-P+U+V+W #define ACTION_977 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 978: x<-Q+R+T+U #define ACTION_978 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 979: x<-Q+R+T+V #define ACTION_979 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 980: x<-Q+R+T+W #define ACTION_980 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 981: x<-Q+R+U+V #define ACTION_981 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 982: x<-Q+R+U+W #define ACTION_982 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 983: x<-Q+R+V+W #define ACTION_983 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 984: x<-Q+S+T+U #define ACTION_984 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 985: x<-Q+S+T+V #define ACTION_985 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 986: x<-Q+S+T+W #define ACTION_986 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 987: x<-Q+S+U+V #define ACTION_987 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 988: x<-Q+S+U+W #define ACTION_988 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 989: x<-Q+S+V+W #define ACTION_989 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 990: x<-Q+T+U+W #define ACTION_990 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 991: x<-Q+T+V+W #define ACTION_991 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 992: x<-Q+U+V+W #define ACTION_992 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 993: x<-R+S+T+U #define ACTION_993 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 994: x<-R+S+T+V #define ACTION_994 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 995: x<-R+S+T+W #define ACTION_995 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 996: x<-R+S+U+V #define ACTION_996 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 997: x<-R+S+U+W #define ACTION_997 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 998: x<-R+S+V+W #define ACTION_998 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 999: x<-R+T+U+W #define ACTION_999 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)));continue; // Action 1000: x<-R+T+V+W #define ACTION_1000 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)));continue; // Action 1001: x<-R+U+V+W #define ACTION_1001 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)));continue; // Action 1002: x<-S+T+U+W #define ACTION_1002 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)));continue; // Action 1003: x<-S+T+V+W #define ACTION_1003 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)));continue; // Action 1004: x<-S+U+V+W #define ACTION_1004 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)));continue; // Action 1005: x<-K+L+N+O+T #define ACTION_1005 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1006: x<-K+L+N+O+U #define ACTION_1006 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1007: x<-K+L+N+O+V #define ACTION_1007 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1008: x<-K+L+N+O+W #define ACTION_1008 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1009: x<-K+L+N+P+T #define ACTION_1009 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1010: x<-K+L+N+P+U #define ACTION_1010 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1011: x<-K+L+N+P+V #define ACTION_1011 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1012: x<-K+L+N+P+W #define ACTION_1012 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1013: x<-K+L+N+R+T #define ACTION_1013 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1014: x<-K+L+N+R+U #define ACTION_1014 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1015: x<-K+L+N+R+V #define ACTION_1015 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1016: x<-K+L+N+R+W #define ACTION_1016 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1017: x<-K+L+N+S+T #define ACTION_1017 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1018: x<-K+L+N+S+U #define ACTION_1018 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1019: x<-K+L+N+S+V #define ACTION_1019 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1020: x<-K+L+N+S+W #define ACTION_1020 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1021: x<-K+L+N+T+U #define ACTION_1021 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1022: x<-K+L+N+T+V #define ACTION_1022 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1023: x<-K+L+N+T+W #define ACTION_1023 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1024: x<-K+L+N+U+V #define ACTION_1024 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1025: x<-K+L+N+U+W #define ACTION_1025 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1026: x<-K+L+N+V+W #define ACTION_1026 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1027: x<-K+L+O+P+T #define ACTION_1027 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1028: x<-K+L+O+P+U #define ACTION_1028 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1029: x<-K+L+O+P+V #define ACTION_1029 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1030: x<-K+L+O+P+W #define ACTION_1030 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1031: x<-K+L+O+Q+T #define ACTION_1031 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1032: x<-K+L+O+Q+U #define ACTION_1032 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1033: x<-K+L+O+Q+V #define ACTION_1033 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1034: x<-K+L+O+Q+W #define ACTION_1034 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1035: x<-K+L+O+S+T #define ACTION_1035 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1036: x<-K+L+O+S+U #define ACTION_1036 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1037: x<-K+L+O+S+V #define ACTION_1037 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1038: x<-K+L+O+S+W #define ACTION_1038 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1039: x<-K+L+O+T+U #define ACTION_1039 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1040: x<-K+L+O+T+V #define ACTION_1040 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1041: x<-K+L+O+T+W #define ACTION_1041 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1042: x<-K+L+O+U+V #define ACTION_1042 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1043: x<-K+L+O+U+W #define ACTION_1043 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1044: x<-K+L+O+V+W #define ACTION_1044 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1045: x<-K+L+P+Q+T #define ACTION_1045 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1046: x<-K+L+P+Q+U #define ACTION_1046 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1047: x<-K+L+P+Q+V #define ACTION_1047 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1048: x<-K+L+P+Q+W #define ACTION_1048 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1049: x<-K+L+P+R+T #define ACTION_1049 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1050: x<-K+L+P+R+U #define ACTION_1050 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1051: x<-K+L+P+R+V #define ACTION_1051 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1052: x<-K+L+P+R+W #define ACTION_1052 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1053: x<-K+L+P+T+U #define ACTION_1053 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1054: x<-K+L+P+T+V #define ACTION_1054 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1055: x<-K+L+P+T+W #define ACTION_1055 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1056: x<-K+L+P+U+V #define ACTION_1056 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1057: x<-K+L+P+U+W #define ACTION_1057 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1058: x<-K+L+P+V+W #define ACTION_1058 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1059: x<-K+L+Q+R+T #define ACTION_1059 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1060: x<-K+L+Q+R+U #define ACTION_1060 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1061: x<-K+L+Q+R+V #define ACTION_1061 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1062: x<-K+L+Q+R+W #define ACTION_1062 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1063: x<-K+L+Q+S+T #define ACTION_1063 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1064: x<-K+L+Q+S+U #define ACTION_1064 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1065: x<-K+L+Q+S+V #define ACTION_1065 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1066: x<-K+L+Q+S+W #define ACTION_1066 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1067: x<-K+L+Q+T+U #define ACTION_1067 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1068: x<-K+L+Q+T+V #define ACTION_1068 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1069: x<-K+L+Q+T+W #define ACTION_1069 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1070: x<-K+L+Q+U+V #define ACTION_1070 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1071: x<-K+L+Q+U+W #define ACTION_1071 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1072: x<-K+L+Q+V+W #define ACTION_1072 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1073: x<-K+L+R+S+T #define ACTION_1073 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1074: x<-K+L+R+S+U #define ACTION_1074 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1075: x<-K+L+R+S+V #define ACTION_1075 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1076: x<-K+L+R+S+W #define ACTION_1076 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1077: x<-K+L+R+T+U #define ACTION_1077 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1078: x<-K+L+R+T+V #define ACTION_1078 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1079: x<-K+L+R+T+W #define ACTION_1079 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1080: x<-K+L+R+U+V #define ACTION_1080 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1081: x<-K+L+R+U+W #define ACTION_1081 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1082: x<-K+L+R+V+W #define ACTION_1082 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1083: x<-K+L+S+T+U #define ACTION_1083 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1084: x<-K+L+S+T+V #define ACTION_1084 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1085: x<-K+L+S+T+W #define ACTION_1085 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1086: x<-K+L+S+U+V #define ACTION_1086 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1087: x<-K+L+S+U+W #define ACTION_1087 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1088: x<-K+L+S+V+W #define ACTION_1088 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1089: x<-K+L+T+U+W #define ACTION_1089 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1090: x<-K+L+T+V+W #define ACTION_1090 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1091: x<-K+L+U+V+W #define ACTION_1091 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1092: x<-K+M+N+O+T #define ACTION_1092 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1093: x<-K+M+N+O+U #define ACTION_1093 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1094: x<-K+M+N+O+V #define ACTION_1094 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1095: x<-K+M+N+O+W #define ACTION_1095 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1096: x<-K+M+N+P+T #define ACTION_1096 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1097: x<-K+M+N+P+U #define ACTION_1097 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1098: x<-K+M+N+P+V #define ACTION_1098 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1099: x<-K+M+N+P+W #define ACTION_1099 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1100: x<-K+M+N+R+T #define ACTION_1100 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1101: x<-K+M+N+R+U #define ACTION_1101 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1102: x<-K+M+N+R+V #define ACTION_1102 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1103: x<-K+M+N+R+W #define ACTION_1103 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1104: x<-K+M+N+S+T #define ACTION_1104 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1105: x<-K+M+N+S+U #define ACTION_1105 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1106: x<-K+M+N+S+V #define ACTION_1106 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1107: x<-K+M+N+S+W #define ACTION_1107 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1108: x<-K+M+N+T+U #define ACTION_1108 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1109: x<-K+M+N+T+V #define ACTION_1109 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1110: x<-K+M+N+T+W #define ACTION_1110 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1111: x<-K+M+N+U+V #define ACTION_1111 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1112: x<-K+M+N+U+W #define ACTION_1112 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1113: x<-K+M+N+V+W #define ACTION_1113 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1114: x<-K+M+O+P+T #define ACTION_1114 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1115: x<-K+M+O+P+U #define ACTION_1115 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1116: x<-K+M+O+P+V #define ACTION_1116 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1117: x<-K+M+O+P+W #define ACTION_1117 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1118: x<-K+M+O+Q+T #define ACTION_1118 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1119: x<-K+M+O+Q+U #define ACTION_1119 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1120: x<-K+M+O+Q+V #define ACTION_1120 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1121: x<-K+M+O+Q+W #define ACTION_1121 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1122: x<-K+M+O+S+T #define ACTION_1122 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1123: x<-K+M+O+S+U #define ACTION_1123 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1124: x<-K+M+O+S+V #define ACTION_1124 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1125: x<-K+M+O+S+W #define ACTION_1125 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1126: x<-K+M+O+T+U #define ACTION_1126 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1127: x<-K+M+O+T+V #define ACTION_1127 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1128: x<-K+M+O+T+W #define ACTION_1128 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1129: x<-K+M+O+U+V #define ACTION_1129 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1130: x<-K+M+O+U+W #define ACTION_1130 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1131: x<-K+M+O+V+W #define ACTION_1131 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1132: x<-K+M+P+Q+T #define ACTION_1132 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1133: x<-K+M+P+Q+U #define ACTION_1133 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1134: x<-K+M+P+Q+V #define ACTION_1134 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1135: x<-K+M+P+Q+W #define ACTION_1135 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1136: x<-K+M+P+R+T #define ACTION_1136 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1137: x<-K+M+P+R+U #define ACTION_1137 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1138: x<-K+M+P+R+V #define ACTION_1138 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1139: x<-K+M+P+R+W #define ACTION_1139 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1140: x<-K+M+P+T+U #define ACTION_1140 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1141: x<-K+M+P+T+V #define ACTION_1141 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1142: x<-K+M+P+T+W #define ACTION_1142 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1143: x<-K+M+P+U+V #define ACTION_1143 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1144: x<-K+M+P+U+W #define ACTION_1144 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1145: x<-K+M+P+V+W #define ACTION_1145 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1146: x<-K+M+Q+R+T #define ACTION_1146 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1147: x<-K+M+Q+R+U #define ACTION_1147 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1148: x<-K+M+Q+R+V #define ACTION_1148 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1149: x<-K+M+Q+R+W #define ACTION_1149 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1150: x<-K+M+Q+S+T #define ACTION_1150 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1151: x<-K+M+Q+S+U #define ACTION_1151 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1152: x<-K+M+Q+S+V #define ACTION_1152 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1153: x<-K+M+Q+S+W #define ACTION_1153 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1154: x<-K+M+Q+T+U #define ACTION_1154 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1155: x<-K+M+Q+T+V #define ACTION_1155 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1156: x<-K+M+Q+T+W #define ACTION_1156 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1157: x<-K+M+Q+U+V #define ACTION_1157 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1158: x<-K+M+Q+U+W #define ACTION_1158 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1159: x<-K+M+Q+V+W #define ACTION_1159 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1160: x<-K+M+R+S+T #define ACTION_1160 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1161: x<-K+M+R+S+U #define ACTION_1161 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1162: x<-K+M+R+S+V #define ACTION_1162 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1163: x<-K+M+R+S+W #define ACTION_1163 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1164: x<-K+M+R+T+U #define ACTION_1164 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1165: x<-K+M+R+T+V #define ACTION_1165 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1166: x<-K+M+R+T+W #define ACTION_1166 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1167: x<-K+M+R+U+V #define ACTION_1167 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1168: x<-K+M+R+U+W #define ACTION_1168 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1169: x<-K+M+R+V+W #define ACTION_1169 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1170: x<-K+M+S+T+U #define ACTION_1170 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1171: x<-K+M+S+T+V #define ACTION_1171 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1172: x<-K+M+S+T+W #define ACTION_1172 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1173: x<-K+M+S+U+V #define ACTION_1173 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1174: x<-K+M+S+U+W #define ACTION_1174 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1175: x<-K+M+S+V+W #define ACTION_1175 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1176: x<-K+M+T+U+W #define ACTION_1176 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1177: x<-K+M+T+V+W #define ACTION_1177 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1178: x<-K+M+U+V+W #define ACTION_1178 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1179: x<-K+N+O+R+T #define ACTION_1179 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1180: x<-K+N+O+R+U #define ACTION_1180 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1181: x<-K+N+O+R+V #define ACTION_1181 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1182: x<-K+N+O+R+W #define ACTION_1182 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1183: x<-K+N+O+S+T #define ACTION_1183 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1184: x<-K+N+O+S+U #define ACTION_1184 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1185: x<-K+N+O+S+V #define ACTION_1185 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1186: x<-K+N+O+S+W #define ACTION_1186 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1187: x<-K+N+O+T+U #define ACTION_1187 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1188: x<-K+N+O+T+V #define ACTION_1188 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1189: x<-K+N+O+T+W #define ACTION_1189 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1190: x<-K+N+O+U+V #define ACTION_1190 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1191: x<-K+N+O+U+W #define ACTION_1191 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1192: x<-K+N+O+V+W #define ACTION_1192 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1193: x<-K+N+P+R+T #define ACTION_1193 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1194: x<-K+N+P+R+U #define ACTION_1194 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1195: x<-K+N+P+R+V #define ACTION_1195 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1196: x<-K+N+P+R+W #define ACTION_1196 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1197: x<-K+N+P+S+T #define ACTION_1197 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1198: x<-K+N+P+S+U #define ACTION_1198 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1199: x<-K+N+P+S+V #define ACTION_1199 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1200: x<-K+N+P+S+W #define ACTION_1200 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1201: x<-K+N+P+T+U #define ACTION_1201 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1202: x<-K+N+P+T+V #define ACTION_1202 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1203: x<-K+N+P+T+W #define ACTION_1203 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1204: x<-K+N+P+U+V #define ACTION_1204 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1205: x<-K+N+P+U+W #define ACTION_1205 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1206: x<-K+N+P+V+W #define ACTION_1206 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1207: x<-K+N+R+T+U #define ACTION_1207 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1208: x<-K+N+R+T+V #define ACTION_1208 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1209: x<-K+N+R+T+W #define ACTION_1209 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1210: x<-K+N+R+U+V #define ACTION_1210 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1211: x<-K+N+R+U+W #define ACTION_1211 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1212: x<-K+N+R+V+W #define ACTION_1212 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1213: x<-K+N+S+T+U #define ACTION_1213 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1214: x<-K+N+S+T+V #define ACTION_1214 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1215: x<-K+N+S+T+W #define ACTION_1215 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1216: x<-K+N+S+U+V #define ACTION_1216 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1217: x<-K+N+S+U+W #define ACTION_1217 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1218: x<-K+N+S+V+W #define ACTION_1218 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1219: x<-K+N+T+U+W #define ACTION_1219 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1220: x<-K+N+T+V+W #define ACTION_1220 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1221: x<-K+N+U+V+W #define ACTION_1221 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1222: x<-K+O+P+S+T #define ACTION_1222 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1223: x<-K+O+P+S+U #define ACTION_1223 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1224: x<-K+O+P+S+V #define ACTION_1224 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1225: x<-K+O+P+S+W #define ACTION_1225 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1226: x<-K+O+P+T+U #define ACTION_1226 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1227: x<-K+O+P+T+V #define ACTION_1227 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1228: x<-K+O+P+T+W #define ACTION_1228 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1229: x<-K+O+P+U+V #define ACTION_1229 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1230: x<-K+O+P+U+W #define ACTION_1230 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1231: x<-K+O+P+V+W #define ACTION_1231 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1232: x<-K+O+Q+R+T #define ACTION_1232 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1233: x<-K+O+Q+R+U #define ACTION_1233 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1234: x<-K+O+Q+R+V #define ACTION_1234 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1235: x<-K+O+Q+R+W #define ACTION_1235 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1236: x<-K+O+Q+S+T #define ACTION_1236 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1237: x<-K+O+Q+S+U #define ACTION_1237 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1238: x<-K+O+Q+S+V #define ACTION_1238 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1239: x<-K+O+Q+S+W #define ACTION_1239 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1240: x<-K+O+Q+T+U #define ACTION_1240 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1241: x<-K+O+Q+T+V #define ACTION_1241 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1242: x<-K+O+Q+T+W #define ACTION_1242 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1243: x<-K+O+Q+U+V #define ACTION_1243 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1244: x<-K+O+Q+U+W #define ACTION_1244 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1245: x<-K+O+Q+V+W #define ACTION_1245 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1246: x<-K+O+R+S+T #define ACTION_1246 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1247: x<-K+O+R+S+U #define ACTION_1247 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1248: x<-K+O+R+S+V #define ACTION_1248 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1249: x<-K+O+R+S+W #define ACTION_1249 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1250: x<-K+O+R+T+U #define ACTION_1250 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1251: x<-K+O+R+T+V #define ACTION_1251 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1252: x<-K+O+R+T+W #define ACTION_1252 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1253: x<-K+O+R+U+V #define ACTION_1253 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1254: x<-K+O+R+U+W #define ACTION_1254 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1255: x<-K+O+R+V+W #define ACTION_1255 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1256: x<-K+O+S+T+U #define ACTION_1256 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1257: x<-K+O+S+T+V #define ACTION_1257 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1258: x<-K+O+S+T+W #define ACTION_1258 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1259: x<-K+O+S+U+V #define ACTION_1259 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1260: x<-K+O+S+U+W #define ACTION_1260 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1261: x<-K+O+S+V+W #define ACTION_1261 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1262: x<-K+O+T+U+W #define ACTION_1262 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1263: x<-K+O+T+V+W #define ACTION_1263 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1264: x<-K+O+U+V+W #define ACTION_1264 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1265: x<-K+P+Q+R+T #define ACTION_1265 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1266: x<-K+P+Q+R+U #define ACTION_1266 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1267: x<-K+P+Q+R+V #define ACTION_1267 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1268: x<-K+P+Q+R+W #define ACTION_1268 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1269: x<-K+P+Q+S+T #define ACTION_1269 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1270: x<-K+P+Q+S+U #define ACTION_1270 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1271: x<-K+P+Q+S+V #define ACTION_1271 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1272: x<-K+P+Q+S+W #define ACTION_1272 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1273: x<-K+P+Q+T+U #define ACTION_1273 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1274: x<-K+P+Q+T+V #define ACTION_1274 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1275: x<-K+P+Q+T+W #define ACTION_1275 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1276: x<-K+P+Q+U+V #define ACTION_1276 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1277: x<-K+P+Q+U+W #define ACTION_1277 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1278: x<-K+P+Q+V+W #define ACTION_1278 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1279: x<-K+P+R+S+T #define ACTION_1279 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1280: x<-K+P+R+S+U #define ACTION_1280 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1281: x<-K+P+R+S+V #define ACTION_1281 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1282: x<-K+P+R+S+W #define ACTION_1282 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1283: x<-K+P+R+T+U #define ACTION_1283 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1284: x<-K+P+R+T+V #define ACTION_1284 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1285: x<-K+P+R+T+W #define ACTION_1285 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1286: x<-K+P+R+U+V #define ACTION_1286 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1287: x<-K+P+R+U+W #define ACTION_1287 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1288: x<-K+P+R+V+W #define ACTION_1288 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1289: x<-K+P+S+T+U #define ACTION_1289 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1290: x<-K+P+S+T+V #define ACTION_1290 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1291: x<-K+P+S+T+W #define ACTION_1291 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1292: x<-K+P+S+U+V #define ACTION_1292 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1293: x<-K+P+S+U+W #define ACTION_1293 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1294: x<-K+P+S+V+W #define ACTION_1294 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1295: x<-K+P+T+U+W #define ACTION_1295 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1296: x<-K+P+T+V+W #define ACTION_1296 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1297: x<-K+P+U+V+W #define ACTION_1297 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1298: x<-K+Q+R+T+U #define ACTION_1298 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1299: x<-K+Q+R+T+V #define ACTION_1299 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1300: x<-K+Q+R+T+W #define ACTION_1300 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1301: x<-K+Q+R+U+V #define ACTION_1301 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1302: x<-K+Q+R+U+W #define ACTION_1302 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1303: x<-K+Q+R+V+W #define ACTION_1303 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1304: x<-K+Q+S+T+U #define ACTION_1304 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1305: x<-K+Q+S+T+V #define ACTION_1305 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1306: x<-K+Q+S+T+W #define ACTION_1306 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1307: x<-K+Q+S+U+V #define ACTION_1307 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1308: x<-K+Q+S+U+W #define ACTION_1308 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1309: x<-K+Q+S+V+W #define ACTION_1309 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1310: x<-K+Q+T+U+W #define ACTION_1310 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1311: x<-K+Q+T+V+W #define ACTION_1311 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1312: x<-K+Q+U+V+W #define ACTION_1312 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1313: x<-K+R+S+T+U #define ACTION_1313 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1314: x<-K+R+S+T+V #define ACTION_1314 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1315: x<-K+R+S+T+W #define ACTION_1315 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1316: x<-K+R+S+U+V #define ACTION_1316 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1317: x<-K+R+S+U+W #define ACTION_1317 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1318: x<-K+R+S+V+W #define ACTION_1318 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1319: x<-K+R+T+U+W #define ACTION_1319 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1320: x<-K+R+T+V+W #define ACTION_1320 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1321: x<-K+R+U+V+W #define ACTION_1321 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1322: x<-K+S+T+U+W #define ACTION_1322 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1323: x<-K+S+T+V+W #define ACTION_1323 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1324: x<-K+S+U+V+W #define ACTION_1324 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1325: x<-L+M+N+O+T #define ACTION_1325 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1326: x<-L+M+N+O+U #define ACTION_1326 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1327: x<-L+M+N+O+V #define ACTION_1327 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1328: x<-L+M+N+O+W #define ACTION_1328 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1329: x<-L+M+N+P+T #define ACTION_1329 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1330: x<-L+M+N+P+U #define ACTION_1330 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1331: x<-L+M+N+P+V #define ACTION_1331 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1332: x<-L+M+N+P+W #define ACTION_1332 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1333: x<-L+M+N+R+T #define ACTION_1333 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1334: x<-L+M+N+R+U #define ACTION_1334 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1335: x<-L+M+N+R+V #define ACTION_1335 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1336: x<-L+M+N+R+W #define ACTION_1336 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1337: x<-L+M+N+S+T #define ACTION_1337 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1338: x<-L+M+N+S+U #define ACTION_1338 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1339: x<-L+M+N+S+V #define ACTION_1339 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1340: x<-L+M+N+S+W #define ACTION_1340 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1341: x<-L+M+N+T+U #define ACTION_1341 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1342: x<-L+M+N+T+V #define ACTION_1342 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1343: x<-L+M+N+T+W #define ACTION_1343 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1344: x<-L+M+N+U+V #define ACTION_1344 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1345: x<-L+M+N+U+W #define ACTION_1345 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1346: x<-L+M+N+V+W #define ACTION_1346 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1347: x<-L+M+O+P+T #define ACTION_1347 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1348: x<-L+M+O+P+U #define ACTION_1348 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1349: x<-L+M+O+P+V #define ACTION_1349 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1350: x<-L+M+O+P+W #define ACTION_1350 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1351: x<-L+M+O+Q+T #define ACTION_1351 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1352: x<-L+M+O+Q+U #define ACTION_1352 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1353: x<-L+M+O+Q+V #define ACTION_1353 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1354: x<-L+M+O+Q+W #define ACTION_1354 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1355: x<-L+M+O+S+T #define ACTION_1355 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1356: x<-L+M+O+S+U #define ACTION_1356 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1357: x<-L+M+O+S+V #define ACTION_1357 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1358: x<-L+M+O+S+W #define ACTION_1358 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1359: x<-L+M+O+T+U #define ACTION_1359 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1360: x<-L+M+O+T+V #define ACTION_1360 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1361: x<-L+M+O+T+W #define ACTION_1361 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1362: x<-L+M+O+U+V #define ACTION_1362 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1363: x<-L+M+O+U+W #define ACTION_1363 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1364: x<-L+M+O+V+W #define ACTION_1364 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1365: x<-L+M+P+Q+T #define ACTION_1365 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1366: x<-L+M+P+Q+U #define ACTION_1366 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1367: x<-L+M+P+Q+V #define ACTION_1367 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1368: x<-L+M+P+Q+W #define ACTION_1368 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1369: x<-L+M+P+R+T #define ACTION_1369 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1370: x<-L+M+P+R+U #define ACTION_1370 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1371: x<-L+M+P+R+V #define ACTION_1371 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1372: x<-L+M+P+R+W #define ACTION_1372 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1373: x<-L+M+P+T+U #define ACTION_1373 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1374: x<-L+M+P+T+V #define ACTION_1374 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1375: x<-L+M+P+T+W #define ACTION_1375 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1376: x<-L+M+P+U+V #define ACTION_1376 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1377: x<-L+M+P+U+W #define ACTION_1377 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1378: x<-L+M+P+V+W #define ACTION_1378 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1379: x<-L+M+Q+R+T #define ACTION_1379 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1380: x<-L+M+Q+R+U #define ACTION_1380 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1381: x<-L+M+Q+R+V #define ACTION_1381 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1382: x<-L+M+Q+R+W #define ACTION_1382 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1383: x<-L+M+Q+S+T #define ACTION_1383 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1384: x<-L+M+Q+S+U #define ACTION_1384 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1385: x<-L+M+Q+S+V #define ACTION_1385 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1386: x<-L+M+Q+S+W #define ACTION_1386 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1387: x<-L+M+Q+T+U #define ACTION_1387 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1388: x<-L+M+Q+T+V #define ACTION_1388 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1389: x<-L+M+Q+T+W #define ACTION_1389 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1390: x<-L+M+Q+U+V #define ACTION_1390 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1391: x<-L+M+Q+U+W #define ACTION_1391 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1392: x<-L+M+Q+V+W #define ACTION_1392 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1393: x<-L+M+R+S+T #define ACTION_1393 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1394: x<-L+M+R+S+U #define ACTION_1394 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1395: x<-L+M+R+S+V #define ACTION_1395 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1396: x<-L+M+R+S+W #define ACTION_1396 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1397: x<-L+M+R+T+U #define ACTION_1397 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1398: x<-L+M+R+T+V #define ACTION_1398 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1399: x<-L+M+R+T+W #define ACTION_1399 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1400: x<-L+M+R+U+V #define ACTION_1400 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1401: x<-L+M+R+U+W #define ACTION_1401 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1402: x<-L+M+R+V+W #define ACTION_1402 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1403: x<-L+M+S+T+U #define ACTION_1403 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1404: x<-L+M+S+T+V #define ACTION_1404 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1405: x<-L+M+S+T+W #define ACTION_1405 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1406: x<-L+M+S+U+V #define ACTION_1406 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1407: x<-L+M+S+U+W #define ACTION_1407 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1408: x<-L+M+S+V+W #define ACTION_1408 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1409: x<-L+M+T+U+W #define ACTION_1409 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1410: x<-L+M+T+V+W #define ACTION_1410 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1411: x<-L+M+U+V+W #define ACTION_1411 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1412: x<-L+N+O+Q+T #define ACTION_1412 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1413: x<-L+N+O+Q+U #define ACTION_1413 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1414: x<-L+N+O+Q+V #define ACTION_1414 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1415: x<-L+N+O+Q+W #define ACTION_1415 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1416: x<-L+N+O+T+U #define ACTION_1416 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1417: x<-L+N+O+T+V #define ACTION_1417 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1418: x<-L+N+O+T+W #define ACTION_1418 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1419: x<-L+N+O+U+V #define ACTION_1419 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1420: x<-L+N+O+U+W #define ACTION_1420 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1421: x<-L+N+O+V+W #define ACTION_1421 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1422: x<-L+N+P+Q+T #define ACTION_1422 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1423: x<-L+N+P+Q+U #define ACTION_1423 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1424: x<-L+N+P+Q+V #define ACTION_1424 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1425: x<-L+N+P+Q+W #define ACTION_1425 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1426: x<-L+N+P+R+T #define ACTION_1426 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1427: x<-L+N+P+R+U #define ACTION_1427 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1428: x<-L+N+P+R+V #define ACTION_1428 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1429: x<-L+N+P+R+W #define ACTION_1429 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1430: x<-L+N+P+S+T #define ACTION_1430 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1431: x<-L+N+P+S+U #define ACTION_1431 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1432: x<-L+N+P+S+V #define ACTION_1432 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1433: x<-L+N+P+S+W #define ACTION_1433 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1434: x<-L+N+P+T+U #define ACTION_1434 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1435: x<-L+N+P+T+V #define ACTION_1435 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1436: x<-L+N+P+T+W #define ACTION_1436 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1437: x<-L+N+P+U+V #define ACTION_1437 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1438: x<-L+N+P+U+W #define ACTION_1438 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1439: x<-L+N+P+V+W #define ACTION_1439 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1440: x<-L+N+Q+R+T #define ACTION_1440 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1441: x<-L+N+Q+R+U #define ACTION_1441 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1442: x<-L+N+Q+R+V #define ACTION_1442 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1443: x<-L+N+Q+R+W #define ACTION_1443 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1444: x<-L+N+Q+S+T #define ACTION_1444 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1445: x<-L+N+Q+S+U #define ACTION_1445 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1446: x<-L+N+Q+S+V #define ACTION_1446 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1447: x<-L+N+Q+S+W #define ACTION_1447 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1448: x<-L+N+Q+T+U #define ACTION_1448 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1449: x<-L+N+Q+T+V #define ACTION_1449 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1450: x<-L+N+Q+T+W #define ACTION_1450 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1451: x<-L+N+Q+U+V #define ACTION_1451 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1452: x<-L+N+Q+U+W #define ACTION_1452 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1453: x<-L+N+Q+V+W #define ACTION_1453 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1454: x<-L+N+R+S+T #define ACTION_1454 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1455: x<-L+N+R+S+U #define ACTION_1455 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1456: x<-L+N+R+S+V #define ACTION_1456 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1457: x<-L+N+R+S+W #define ACTION_1457 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1458: x<-L+N+R+T+U #define ACTION_1458 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1459: x<-L+N+R+T+V #define ACTION_1459 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1460: x<-L+N+R+T+W #define ACTION_1460 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1461: x<-L+N+R+U+V #define ACTION_1461 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1462: x<-L+N+R+U+W #define ACTION_1462 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1463: x<-L+N+R+V+W #define ACTION_1463 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1464: x<-L+N+S+T+U #define ACTION_1464 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1465: x<-L+N+S+T+V #define ACTION_1465 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1466: x<-L+N+S+T+W #define ACTION_1466 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1467: x<-L+N+S+U+V #define ACTION_1467 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1468: x<-L+N+S+U+W #define ACTION_1468 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1469: x<-L+N+S+V+W #define ACTION_1469 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1470: x<-L+N+T+U+W #define ACTION_1470 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1471: x<-L+N+T+V+W #define ACTION_1471 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1472: x<-L+N+U+V+W #define ACTION_1472 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1473: x<-L+O+P+S+T #define ACTION_1473 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1474: x<-L+O+P+S+U #define ACTION_1474 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1475: x<-L+O+P+S+V #define ACTION_1475 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1476: x<-L+O+P+S+W #define ACTION_1476 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1477: x<-L+O+P+T+U #define ACTION_1477 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1478: x<-L+O+P+T+V #define ACTION_1478 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1479: x<-L+O+P+T+W #define ACTION_1479 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1480: x<-L+O+P+U+V #define ACTION_1480 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1481: x<-L+O+P+U+W #define ACTION_1481 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1482: x<-L+O+P+V+W #define ACTION_1482 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1483: x<-L+O+Q+T+U #define ACTION_1483 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1484: x<-L+O+Q+T+V #define ACTION_1484 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1485: x<-L+O+Q+T+W #define ACTION_1485 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1486: x<-L+O+Q+U+V #define ACTION_1486 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1487: x<-L+O+Q+U+W #define ACTION_1487 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1488: x<-L+O+Q+V+W #define ACTION_1488 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1489: x<-L+O+S+T+U #define ACTION_1489 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1490: x<-L+O+S+T+V #define ACTION_1490 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1491: x<-L+O+S+T+W #define ACTION_1491 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1492: x<-L+O+S+U+V #define ACTION_1492 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1493: x<-L+O+S+U+W #define ACTION_1493 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1494: x<-L+O+S+V+W #define ACTION_1494 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1495: x<-L+O+T+U+W #define ACTION_1495 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1496: x<-L+O+T+V+W #define ACTION_1496 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1497: x<-L+O+U+V+W #define ACTION_1497 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1498: x<-L+P+Q+R+T #define ACTION_1498 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1499: x<-L+P+Q+R+U #define ACTION_1499 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1500: x<-L+P+Q+R+V #define ACTION_1500 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1501: x<-L+P+Q+R+W #define ACTION_1501 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1502: x<-L+P+Q+S+T #define ACTION_1502 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1503: x<-L+P+Q+S+U #define ACTION_1503 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1504: x<-L+P+Q+S+V #define ACTION_1504 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1505: x<-L+P+Q+S+W #define ACTION_1505 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1506: x<-L+P+Q+T+U #define ACTION_1506 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1507: x<-L+P+Q+T+V #define ACTION_1507 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1508: x<-L+P+Q+T+W #define ACTION_1508 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1509: x<-L+P+Q+U+V #define ACTION_1509 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1510: x<-L+P+Q+U+W #define ACTION_1510 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1511: x<-L+P+Q+V+W #define ACTION_1511 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1512: x<-L+P+R+S+T #define ACTION_1512 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1513: x<-L+P+R+S+U #define ACTION_1513 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1514: x<-L+P+R+S+V #define ACTION_1514 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1515: x<-L+P+R+S+W #define ACTION_1515 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1516: x<-L+P+R+T+U #define ACTION_1516 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1517: x<-L+P+R+T+V #define ACTION_1517 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1518: x<-L+P+R+T+W #define ACTION_1518 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1519: x<-L+P+R+U+V #define ACTION_1519 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1520: x<-L+P+R+U+W #define ACTION_1520 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1521: x<-L+P+R+V+W #define ACTION_1521 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1522: x<-L+P+S+T+U #define ACTION_1522 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1523: x<-L+P+S+T+V #define ACTION_1523 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1524: x<-L+P+S+T+W #define ACTION_1524 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1525: x<-L+P+S+U+V #define ACTION_1525 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1526: x<-L+P+S+U+W #define ACTION_1526 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1527: x<-L+P+S+V+W #define ACTION_1527 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1528: x<-L+P+T+U+W #define ACTION_1528 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1529: x<-L+P+T+V+W #define ACTION_1529 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1530: x<-L+P+U+V+W #define ACTION_1530 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1531: x<-L+Q+R+T+U #define ACTION_1531 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1532: x<-L+Q+R+T+V #define ACTION_1532 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1533: x<-L+Q+R+T+W #define ACTION_1533 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1534: x<-L+Q+R+U+V #define ACTION_1534 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1535: x<-L+Q+R+U+W #define ACTION_1535 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1536: x<-L+Q+R+V+W #define ACTION_1536 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1537: x<-L+Q+S+T+U #define ACTION_1537 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1538: x<-L+Q+S+T+V #define ACTION_1538 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1539: x<-L+Q+S+T+W #define ACTION_1539 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1540: x<-L+Q+S+U+V #define ACTION_1540 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1541: x<-L+Q+S+U+W #define ACTION_1541 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1542: x<-L+Q+S+V+W #define ACTION_1542 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1543: x<-L+Q+T+U+W #define ACTION_1543 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1544: x<-L+Q+T+V+W #define ACTION_1544 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1545: x<-L+Q+U+V+W #define ACTION_1545 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1546: x<-L+R+S+T+U #define ACTION_1546 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1547: x<-L+R+S+T+V #define ACTION_1547 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1548: x<-L+R+S+T+W #define ACTION_1548 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1549: x<-L+R+S+U+V #define ACTION_1549 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1550: x<-L+R+S+U+W #define ACTION_1550 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1551: x<-L+R+S+V+W #define ACTION_1551 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1552: x<-L+R+T+U+W #define ACTION_1552 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1553: x<-L+R+T+V+W #define ACTION_1553 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1554: x<-L+R+U+V+W #define ACTION_1554 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1555: x<-L+S+T+U+W #define ACTION_1555 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1556: x<-L+S+T+V+W #define ACTION_1556 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1557: x<-L+S+U+V+W #define ACTION_1557 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1558: x<-M+N+O+Q+T #define ACTION_1558 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1559: x<-M+N+O+Q+U #define ACTION_1559 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1560: x<-M+N+O+Q+V #define ACTION_1560 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1561: x<-M+N+O+Q+W #define ACTION_1561 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1562: x<-M+N+O+T+U #define ACTION_1562 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1563: x<-M+N+O+T+V #define ACTION_1563 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1564: x<-M+N+O+T+W #define ACTION_1564 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1565: x<-M+N+O+U+V #define ACTION_1565 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1566: x<-M+N+O+U+W #define ACTION_1566 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1567: x<-M+N+O+V+W #define ACTION_1567 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1568: x<-M+N+P+Q+T #define ACTION_1568 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1569: x<-M+N+P+Q+U #define ACTION_1569 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1570: x<-M+N+P+Q+V #define ACTION_1570 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1571: x<-M+N+P+Q+W #define ACTION_1571 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1572: x<-M+N+P+R+T #define ACTION_1572 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1573: x<-M+N+P+R+U #define ACTION_1573 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1574: x<-M+N+P+R+V #define ACTION_1574 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1575: x<-M+N+P+R+W #define ACTION_1575 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1576: x<-M+N+P+T+U #define ACTION_1576 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1577: x<-M+N+P+T+V #define ACTION_1577 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1578: x<-M+N+P+T+W #define ACTION_1578 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1579: x<-M+N+P+U+V #define ACTION_1579 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1580: x<-M+N+P+U+W #define ACTION_1580 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1581: x<-M+N+P+V+W #define ACTION_1581 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1582: x<-M+N+Q+R+T #define ACTION_1582 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1583: x<-M+N+Q+R+U #define ACTION_1583 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1584: x<-M+N+Q+R+V #define ACTION_1584 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1585: x<-M+N+Q+R+W #define ACTION_1585 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1586: x<-M+N+Q+S+T #define ACTION_1586 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1587: x<-M+N+Q+S+U #define ACTION_1587 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1588: x<-M+N+Q+S+V #define ACTION_1588 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1589: x<-M+N+Q+S+W #define ACTION_1589 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1590: x<-M+N+Q+T+U #define ACTION_1590 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1591: x<-M+N+Q+T+V #define ACTION_1591 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1592: x<-M+N+Q+T+W #define ACTION_1592 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1593: x<-M+N+Q+U+V #define ACTION_1593 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1594: x<-M+N+Q+U+W #define ACTION_1594 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1595: x<-M+N+Q+V+W #define ACTION_1595 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1596: x<-M+N+R+S+T #define ACTION_1596 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1597: x<-M+N+R+S+U #define ACTION_1597 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1598: x<-M+N+R+S+V #define ACTION_1598 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1599: x<-M+N+R+S+W #define ACTION_1599 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1600: x<-M+N+R+T+U #define ACTION_1600 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1601: x<-M+N+R+T+V #define ACTION_1601 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1602: x<-M+N+R+T+W #define ACTION_1602 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1603: x<-M+N+R+U+V #define ACTION_1603 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1604: x<-M+N+R+U+W #define ACTION_1604 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1605: x<-M+N+R+V+W #define ACTION_1605 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1606: x<-M+N+S+T+U #define ACTION_1606 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1607: x<-M+N+S+T+V #define ACTION_1607 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1608: x<-M+N+S+T+W #define ACTION_1608 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1609: x<-M+N+S+U+V #define ACTION_1609 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1610: x<-M+N+S+U+W #define ACTION_1610 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1611: x<-M+N+S+V+W #define ACTION_1611 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1612: x<-M+N+T+U+W #define ACTION_1612 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1613: x<-M+N+T+V+W #define ACTION_1613 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1614: x<-M+N+U+V+W #define ACTION_1614 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1615: x<-M+O+P+Q+T #define ACTION_1615 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1616: x<-M+O+P+Q+U #define ACTION_1616 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1617: x<-M+O+P+Q+V #define ACTION_1617 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1618: x<-M+O+P+Q+W #define ACTION_1618 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1619: x<-M+O+P+R+T #define ACTION_1619 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1620: x<-M+O+P+R+U #define ACTION_1620 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1621: x<-M+O+P+R+V #define ACTION_1621 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1622: x<-M+O+P+R+W #define ACTION_1622 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1623: x<-M+O+P+T+U #define ACTION_1623 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1624: x<-M+O+P+T+V #define ACTION_1624 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1625: x<-M+O+P+T+W #define ACTION_1625 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1626: x<-M+O+P+U+V #define ACTION_1626 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1627: x<-M+O+P+U+W #define ACTION_1627 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1628: x<-M+O+P+V+W #define ACTION_1628 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1629: x<-M+O+Q+R+T #define ACTION_1629 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1630: x<-M+O+Q+R+U #define ACTION_1630 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1631: x<-M+O+Q+R+V #define ACTION_1631 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1632: x<-M+O+Q+R+W #define ACTION_1632 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1633: x<-M+O+Q+S+T #define ACTION_1633 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1634: x<-M+O+Q+S+U #define ACTION_1634 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1635: x<-M+O+Q+S+V #define ACTION_1635 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1636: x<-M+O+Q+S+W #define ACTION_1636 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1637: x<-M+O+Q+T+U #define ACTION_1637 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1638: x<-M+O+Q+T+V #define ACTION_1638 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1639: x<-M+O+Q+T+W #define ACTION_1639 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1640: x<-M+O+Q+U+V #define ACTION_1640 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1641: x<-M+O+Q+U+W #define ACTION_1641 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1642: x<-M+O+Q+V+W #define ACTION_1642 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1643: x<-M+O+R+S+T #define ACTION_1643 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1644: x<-M+O+R+S+U #define ACTION_1644 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1645: x<-M+O+R+S+V #define ACTION_1645 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1646: x<-M+O+R+S+W #define ACTION_1646 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1647: x<-M+O+R+T+U #define ACTION_1647 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1648: x<-M+O+R+T+V #define ACTION_1648 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1649: x<-M+O+R+T+W #define ACTION_1649 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1650: x<-M+O+R+U+V #define ACTION_1650 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1651: x<-M+O+R+U+W #define ACTION_1651 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1652: x<-M+O+R+V+W #define ACTION_1652 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1653: x<-M+O+S+T+U #define ACTION_1653 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1654: x<-M+O+S+T+V #define ACTION_1654 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1655: x<-M+O+S+T+W #define ACTION_1655 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1656: x<-M+O+S+U+V #define ACTION_1656 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1657: x<-M+O+S+U+W #define ACTION_1657 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1658: x<-M+O+S+V+W #define ACTION_1658 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1659: x<-M+O+T+U+W #define ACTION_1659 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1660: x<-M+O+T+V+W #define ACTION_1660 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1661: x<-M+O+U+V+W #define ACTION_1661 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1662: x<-M+P+Q+T+U #define ACTION_1662 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1663: x<-M+P+Q+T+V #define ACTION_1663 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1664: x<-M+P+Q+T+W #define ACTION_1664 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1665: x<-M+P+Q+U+V #define ACTION_1665 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1666: x<-M+P+Q+U+W #define ACTION_1666 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1667: x<-M+P+Q+V+W #define ACTION_1667 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1668: x<-M+P+R+T+U #define ACTION_1668 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1669: x<-M+P+R+T+V #define ACTION_1669 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1670: x<-M+P+R+T+W #define ACTION_1670 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1671: x<-M+P+R+U+V #define ACTION_1671 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1672: x<-M+P+R+U+W #define ACTION_1672 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1673: x<-M+P+R+V+W #define ACTION_1673 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1674: x<-M+P+T+U+W #define ACTION_1674 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1675: x<-M+P+T+V+W #define ACTION_1675 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1676: x<-M+P+U+V+W #define ACTION_1676 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1677: x<-M+Q+R+T+U #define ACTION_1677 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1678: x<-M+Q+R+T+V #define ACTION_1678 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1679: x<-M+Q+R+T+W #define ACTION_1679 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1680: x<-M+Q+R+U+V #define ACTION_1680 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1681: x<-M+Q+R+U+W #define ACTION_1681 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1682: x<-M+Q+R+V+W #define ACTION_1682 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1683: x<-M+Q+S+T+U #define ACTION_1683 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1684: x<-M+Q+S+T+V #define ACTION_1684 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1685: x<-M+Q+S+T+W #define ACTION_1685 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1686: x<-M+Q+S+U+V #define ACTION_1686 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1687: x<-M+Q+S+U+W #define ACTION_1687 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1688: x<-M+Q+S+V+W #define ACTION_1688 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1689: x<-M+Q+T+U+W #define ACTION_1689 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1690: x<-M+Q+T+V+W #define ACTION_1690 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1691: x<-M+Q+U+V+W #define ACTION_1691 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1692: x<-M+R+S+T+U #define ACTION_1692 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1693: x<-M+R+S+T+V #define ACTION_1693 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1694: x<-M+R+S+T+W #define ACTION_1694 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1695: x<-M+R+S+U+V #define ACTION_1695 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1696: x<-M+R+S+U+W #define ACTION_1696 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1697: x<-M+R+S+V+W #define ACTION_1697 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1698: x<-M+R+T+U+W #define ACTION_1698 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1699: x<-M+R+T+V+W #define ACTION_1699 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1700: x<-M+R+U+V+W #define ACTION_1700 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1701: x<-M+S+T+U+W #define ACTION_1701 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1702: x<-M+S+T+V+W #define ACTION_1702 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1703: x<-M+S+U+V+W #define ACTION_1703 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1704: x<-N+O+Q+R+T #define ACTION_1704 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1705: x<-N+O+Q+R+U #define ACTION_1705 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1706: x<-N+O+Q+R+V #define ACTION_1706 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1707: x<-N+O+Q+R+W #define ACTION_1707 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1708: x<-N+O+Q+S+T #define ACTION_1708 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1709: x<-N+O+Q+S+U #define ACTION_1709 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1710: x<-N+O+Q+S+V #define ACTION_1710 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1711: x<-N+O+Q+S+W #define ACTION_1711 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1712: x<-N+O+Q+T+U #define ACTION_1712 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1713: x<-N+O+Q+T+V #define ACTION_1713 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1714: x<-N+O+Q+T+W #define ACTION_1714 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1715: x<-N+O+Q+U+V #define ACTION_1715 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1716: x<-N+O+Q+U+W #define ACTION_1716 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1717: x<-N+O+Q+V+W #define ACTION_1717 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1718: x<-N+O+R+S+T #define ACTION_1718 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1719: x<-N+O+R+S+U #define ACTION_1719 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1720: x<-N+O+R+S+V #define ACTION_1720 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1721: x<-N+O+R+S+W #define ACTION_1721 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1722: x<-N+O+R+T+U #define ACTION_1722 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1723: x<-N+O+R+T+V #define ACTION_1723 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1724: x<-N+O+R+T+W #define ACTION_1724 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1725: x<-N+O+R+U+V #define ACTION_1725 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1726: x<-N+O+R+U+W #define ACTION_1726 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1727: x<-N+O+R+V+W #define ACTION_1727 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1728: x<-N+O+S+T+U #define ACTION_1728 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1729: x<-N+O+S+T+V #define ACTION_1729 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1730: x<-N+O+S+T+W #define ACTION_1730 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1731: x<-N+O+S+U+V #define ACTION_1731 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1732: x<-N+O+S+U+W #define ACTION_1732 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1733: x<-N+O+S+V+W #define ACTION_1733 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1734: x<-N+O+T+U+W #define ACTION_1734 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1735: x<-N+O+T+V+W #define ACTION_1735 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1736: x<-N+O+U+V+W #define ACTION_1736 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1737: x<-N+P+Q+R+T #define ACTION_1737 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1738: x<-N+P+Q+R+U #define ACTION_1738 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1739: x<-N+P+Q+R+V #define ACTION_1739 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1740: x<-N+P+Q+R+W #define ACTION_1740 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1741: x<-N+P+Q+S+T #define ACTION_1741 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1742: x<-N+P+Q+S+U #define ACTION_1742 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1743: x<-N+P+Q+S+V #define ACTION_1743 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1744: x<-N+P+Q+S+W #define ACTION_1744 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1745: x<-N+P+Q+T+U #define ACTION_1745 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1746: x<-N+P+Q+T+V #define ACTION_1746 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1747: x<-N+P+Q+T+W #define ACTION_1747 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1748: x<-N+P+Q+U+V #define ACTION_1748 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1749: x<-N+P+Q+U+W #define ACTION_1749 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1750: x<-N+P+Q+V+W #define ACTION_1750 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1751: x<-N+P+R+S+T #define ACTION_1751 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1752: x<-N+P+R+S+U #define ACTION_1752 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1753: x<-N+P+R+S+V #define ACTION_1753 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1754: x<-N+P+R+S+W #define ACTION_1754 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1755: x<-N+P+R+T+U #define ACTION_1755 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1756: x<-N+P+R+T+V #define ACTION_1756 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1757: x<-N+P+R+T+W #define ACTION_1757 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1758: x<-N+P+R+U+V #define ACTION_1758 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1759: x<-N+P+R+U+W #define ACTION_1759 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1760: x<-N+P+R+V+W #define ACTION_1760 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1761: x<-N+P+S+T+U #define ACTION_1761 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1762: x<-N+P+S+T+V #define ACTION_1762 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1763: x<-N+P+S+T+W #define ACTION_1763 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1764: x<-N+P+S+U+V #define ACTION_1764 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1765: x<-N+P+S+U+W #define ACTION_1765 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1766: x<-N+P+S+V+W #define ACTION_1766 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1767: x<-N+P+T+U+W #define ACTION_1767 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1768: x<-N+P+T+V+W #define ACTION_1768 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1769: x<-N+P+U+V+W #define ACTION_1769 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1770: x<-N+Q+R+T+U #define ACTION_1770 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1771: x<-N+Q+R+T+V #define ACTION_1771 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1772: x<-N+Q+R+T+W #define ACTION_1772 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1773: x<-N+Q+R+U+V #define ACTION_1773 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1774: x<-N+Q+R+U+W #define ACTION_1774 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1775: x<-N+Q+R+V+W #define ACTION_1775 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1776: x<-N+Q+S+T+U #define ACTION_1776 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1777: x<-N+Q+S+T+V #define ACTION_1777 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1778: x<-N+Q+S+T+W #define ACTION_1778 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1779: x<-N+Q+S+U+V #define ACTION_1779 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1780: x<-N+Q+S+U+W #define ACTION_1780 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1781: x<-N+Q+S+V+W #define ACTION_1781 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1782: x<-N+Q+T+U+W #define ACTION_1782 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1783: x<-N+Q+T+V+W #define ACTION_1783 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1784: x<-N+Q+U+V+W #define ACTION_1784 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1785: x<-N+R+S+T+U #define ACTION_1785 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1786: x<-N+R+S+T+V #define ACTION_1786 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1787: x<-N+R+S+T+W #define ACTION_1787 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1788: x<-N+R+S+U+V #define ACTION_1788 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1789: x<-N+R+S+U+W #define ACTION_1789 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1790: x<-N+R+S+V+W #define ACTION_1790 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1791: x<-N+R+T+U+W #define ACTION_1791 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1792: x<-N+R+T+V+W #define ACTION_1792 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1793: x<-N+R+U+V+W #define ACTION_1793 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1794: x<-N+S+T+U+W #define ACTION_1794 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1795: x<-N+S+T+V+W #define ACTION_1795 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1796: x<-N+S+U+V+W #define ACTION_1796 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1797: x<-O+P+Q+R+T #define ACTION_1797 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1798: x<-O+P+Q+R+U #define ACTION_1798 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1799: x<-O+P+Q+R+V #define ACTION_1799 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1800: x<-O+P+Q+R+W #define ACTION_1800 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1801: x<-O+P+Q+S+T #define ACTION_1801 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1802: x<-O+P+Q+S+U #define ACTION_1802 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1803: x<-O+P+Q+S+V #define ACTION_1803 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1804: x<-O+P+Q+S+W #define ACTION_1804 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1805: x<-O+P+Q+T+U #define ACTION_1805 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1806: x<-O+P+Q+T+V #define ACTION_1806 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1807: x<-O+P+Q+T+W #define ACTION_1807 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1808: x<-O+P+Q+U+V #define ACTION_1808 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1809: x<-O+P+Q+U+W #define ACTION_1809 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1810: x<-O+P+Q+V+W #define ACTION_1810 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1811: x<-O+P+R+S+T #define ACTION_1811 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1812: x<-O+P+R+S+U #define ACTION_1812 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1813: x<-O+P+R+S+V #define ACTION_1813 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1814: x<-O+P+R+S+W #define ACTION_1814 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1815: x<-O+P+R+T+U #define ACTION_1815 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1816: x<-O+P+R+T+V #define ACTION_1816 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1817: x<-O+P+R+T+W #define ACTION_1817 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1818: x<-O+P+R+U+V #define ACTION_1818 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1819: x<-O+P+R+U+W #define ACTION_1819 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1820: x<-O+P+R+V+W #define ACTION_1820 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1821: x<-O+P+S+T+U #define ACTION_1821 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1822: x<-O+P+S+T+V #define ACTION_1822 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1823: x<-O+P+S+T+W #define ACTION_1823 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1824: x<-O+P+S+U+V #define ACTION_1824 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1825: x<-O+P+S+U+W #define ACTION_1825 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1826: x<-O+P+S+V+W #define ACTION_1826 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1827: x<-O+P+T+U+W #define ACTION_1827 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1828: x<-O+P+T+V+W #define ACTION_1828 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1829: x<-O+P+U+V+W #define ACTION_1829 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1830: x<-O+Q+R+T+U #define ACTION_1830 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1831: x<-O+Q+R+T+V #define ACTION_1831 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1832: x<-O+Q+R+T+W #define ACTION_1832 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1833: x<-O+Q+R+U+V #define ACTION_1833 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1834: x<-O+Q+R+U+W #define ACTION_1834 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1835: x<-O+Q+R+V+W #define ACTION_1835 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1836: x<-O+Q+S+T+U #define ACTION_1836 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1837: x<-O+Q+S+T+V #define ACTION_1837 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1838: x<-O+Q+S+T+W #define ACTION_1838 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1839: x<-O+Q+S+U+V #define ACTION_1839 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1840: x<-O+Q+S+U+W #define ACTION_1840 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1841: x<-O+Q+S+V+W #define ACTION_1841 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1842: x<-O+Q+T+U+W #define ACTION_1842 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1843: x<-O+Q+T+V+W #define ACTION_1843 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1844: x<-O+Q+U+V+W #define ACTION_1844 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1845: x<-O+R+S+T+U #define ACTION_1845 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1846: x<-O+R+S+T+V #define ACTION_1846 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1847: x<-O+R+S+T+W #define ACTION_1847 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1848: x<-O+R+S+U+V #define ACTION_1848 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1849: x<-O+R+S+U+W #define ACTION_1849 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1850: x<-O+R+S+V+W #define ACTION_1850 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1851: x<-O+R+T+U+W #define ACTION_1851 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1852: x<-O+R+T+V+W #define ACTION_1852 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1853: x<-O+R+U+V+W #define ACTION_1853 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1854: x<-O+S+T+U+W #define ACTION_1854 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 1855: x<-O+S+T+V+W #define ACTION_1855 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 1856: x<-O+S+U+V+W #define ACTION_1856 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 1857: x<-P+Q+R+T+U #define ACTION_1857 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1858: x<-P+Q+R+T+V #define ACTION_1858 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1859: x<-P+Q+R+T+W #define ACTION_1859 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1860: x<-P+Q+R+U+V #define ACTION_1860 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1861: x<-P+Q+R+U+W #define ACTION_1861 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1862: x<-P+Q+R+V+W #define ACTION_1862 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1863: x<-P+Q+S+T+U #define ACTION_1863 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1864: x<-P+Q+S+T+V #define ACTION_1864 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1865: x<-P+Q+S+T+W #define ACTION_1865 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1866: x<-P+Q+S+U+V #define ACTION_1866 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1867: x<-P+Q+S+U+W #define ACTION_1867 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1868: x<-P+Q+S+V+W #define ACTION_1868 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1869: x<-P+Q+T+U+W #define ACTION_1869 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1870: x<-P+Q+T+V+W #define ACTION_1870 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1871: x<-P+Q+U+V+W #define ACTION_1871 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1872: x<-P+R+S+T+U #define ACTION_1872 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1873: x<-P+R+S+T+V #define ACTION_1873 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1874: x<-P+R+S+T+W #define ACTION_1874 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1875: x<-P+R+S+U+V #define ACTION_1875 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1876: x<-P+R+S+U+W #define ACTION_1876 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1877: x<-P+R+S+V+W #define ACTION_1877 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1878: x<-P+R+T+U+W #define ACTION_1878 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1879: x<-P+R+T+V+W #define ACTION_1879 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1880: x<-P+R+U+V+W #define ACTION_1880 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1881: x<-P+S+T+U+W #define ACTION_1881 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 1882: x<-P+S+T+V+W #define ACTION_1882 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 1883: x<-P+S+U+V+W #define ACTION_1883 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 1884: x<-Q+R+T+U+W #define ACTION_1884 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1885: x<-Q+R+T+V+W #define ACTION_1885 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1886: x<-Q+R+U+V+W #define ACTION_1886 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1887: x<-Q+S+T+U+W #define ACTION_1887 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1888: x<-Q+S+T+V+W #define ACTION_1888 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1889: x<-Q+S+U+V+W #define ACTION_1889 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1890: x<-R+S+T+U+W #define ACTION_1890 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 1891: x<-R+S+T+V+W #define ACTION_1891 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 1892: x<-R+S+U+V+W #define ACTION_1892 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 1893: x<-K+L+N+O+T+U #define ACTION_1893 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1894: x<-K+L+N+O+T+V #define ACTION_1894 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1895: x<-K+L+N+O+T+W #define ACTION_1895 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1896: x<-K+L+N+O+U+V #define ACTION_1896 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1897: x<-K+L+N+O+U+W #define ACTION_1897 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1898: x<-K+L+N+O+V+W #define ACTION_1898 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1899: x<-K+L+N+P+T+U #define ACTION_1899 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1900: x<-K+L+N+P+T+V #define ACTION_1900 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1901: x<-K+L+N+P+T+W #define ACTION_1901 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1902: x<-K+L+N+P+U+V #define ACTION_1902 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1903: x<-K+L+N+P+U+W #define ACTION_1903 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1904: x<-K+L+N+P+V+W #define ACTION_1904 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1905: x<-K+L+N+R+T+U #define ACTION_1905 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1906: x<-K+L+N+R+T+V #define ACTION_1906 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1907: x<-K+L+N+R+T+W #define ACTION_1907 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1908: x<-K+L+N+R+U+V #define ACTION_1908 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1909: x<-K+L+N+R+U+W #define ACTION_1909 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1910: x<-K+L+N+R+V+W #define ACTION_1910 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1911: x<-K+L+N+S+T+U #define ACTION_1911 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1912: x<-K+L+N+S+T+V #define ACTION_1912 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1913: x<-K+L+N+S+T+W #define ACTION_1913 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1914: x<-K+L+N+S+U+V #define ACTION_1914 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1915: x<-K+L+N+S+U+W #define ACTION_1915 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1916: x<-K+L+N+S+V+W #define ACTION_1916 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1917: x<-K+L+N+T+U+W #define ACTION_1917 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1918: x<-K+L+N+T+V+W #define ACTION_1918 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1919: x<-K+L+N+U+V+W #define ACTION_1919 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1920: x<-K+L+O+P+T+U #define ACTION_1920 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1921: x<-K+L+O+P+T+V #define ACTION_1921 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1922: x<-K+L+O+P+T+W #define ACTION_1922 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1923: x<-K+L+O+P+U+V #define ACTION_1923 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1924: x<-K+L+O+P+U+W #define ACTION_1924 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1925: x<-K+L+O+P+V+W #define ACTION_1925 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1926: x<-K+L+O+Q+T+U #define ACTION_1926 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1927: x<-K+L+O+Q+T+V #define ACTION_1927 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1928: x<-K+L+O+Q+T+W #define ACTION_1928 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1929: x<-K+L+O+Q+U+V #define ACTION_1929 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1930: x<-K+L+O+Q+U+W #define ACTION_1930 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1931: x<-K+L+O+Q+V+W #define ACTION_1931 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1932: x<-K+L+O+S+T+U #define ACTION_1932 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1933: x<-K+L+O+S+T+V #define ACTION_1933 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1934: x<-K+L+O+S+T+W #define ACTION_1934 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1935: x<-K+L+O+S+U+V #define ACTION_1935 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1936: x<-K+L+O+S+U+W #define ACTION_1936 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1937: x<-K+L+O+S+V+W #define ACTION_1937 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1938: x<-K+L+O+T+U+W #define ACTION_1938 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1939: x<-K+L+O+T+V+W #define ACTION_1939 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1940: x<-K+L+O+U+V+W #define ACTION_1940 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1941: x<-K+L+P+Q+T+U #define ACTION_1941 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1942: x<-K+L+P+Q+T+V #define ACTION_1942 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1943: x<-K+L+P+Q+T+W #define ACTION_1943 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1944: x<-K+L+P+Q+U+V #define ACTION_1944 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1945: x<-K+L+P+Q+U+W #define ACTION_1945 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1946: x<-K+L+P+Q+V+W #define ACTION_1946 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1947: x<-K+L+P+R+T+U #define ACTION_1947 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1948: x<-K+L+P+R+T+V #define ACTION_1948 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1949: x<-K+L+P+R+T+W #define ACTION_1949 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1950: x<-K+L+P+R+U+V #define ACTION_1950 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1951: x<-K+L+P+R+U+W #define ACTION_1951 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1952: x<-K+L+P+R+V+W #define ACTION_1952 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1953: x<-K+L+P+T+U+W #define ACTION_1953 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1954: x<-K+L+P+T+V+W #define ACTION_1954 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1955: x<-K+L+P+U+V+W #define ACTION_1955 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1956: x<-K+L+Q+R+T+U #define ACTION_1956 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1957: x<-K+L+Q+R+T+V #define ACTION_1957 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1958: x<-K+L+Q+R+T+W #define ACTION_1958 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1959: x<-K+L+Q+R+U+V #define ACTION_1959 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1960: x<-K+L+Q+R+U+W #define ACTION_1960 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1961: x<-K+L+Q+R+V+W #define ACTION_1961 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1962: x<-K+L+Q+S+T+U #define ACTION_1962 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1963: x<-K+L+Q+S+T+V #define ACTION_1963 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1964: x<-K+L+Q+S+T+W #define ACTION_1964 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1965: x<-K+L+Q+S+U+V #define ACTION_1965 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1966: x<-K+L+Q+S+U+W #define ACTION_1966 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1967: x<-K+L+Q+S+V+W #define ACTION_1967 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1968: x<-K+L+Q+T+U+W #define ACTION_1968 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1969: x<-K+L+Q+T+V+W #define ACTION_1969 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1970: x<-K+L+Q+U+V+W #define ACTION_1970 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1971: x<-K+L+R+S+T+U #define ACTION_1971 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1972: x<-K+L+R+S+T+V #define ACTION_1972 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1973: x<-K+L+R+S+T+W #define ACTION_1973 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1974: x<-K+L+R+S+U+V #define ACTION_1974 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1975: x<-K+L+R+S+U+W #define ACTION_1975 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1976: x<-K+L+R+S+V+W #define ACTION_1976 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1977: x<-K+L+R+T+U+W #define ACTION_1977 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1978: x<-K+L+R+T+V+W #define ACTION_1978 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1979: x<-K+L+R+U+V+W #define ACTION_1979 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1980: x<-K+L+S+T+U+W #define ACTION_1980 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1981: x<-K+L+S+T+V+W #define ACTION_1981 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1982: x<-K+L+S+U+V+W #define ACTION_1982 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1983: x<-K+M+N+O+T+U #define ACTION_1983 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1984: x<-K+M+N+O+T+V #define ACTION_1984 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1985: x<-K+M+N+O+T+W #define ACTION_1985 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1986: x<-K+M+N+O+U+V #define ACTION_1986 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1987: x<-K+M+N+O+U+W #define ACTION_1987 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1988: x<-K+M+N+O+V+W #define ACTION_1988 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1989: x<-K+M+N+P+T+U #define ACTION_1989 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1990: x<-K+M+N+P+T+V #define ACTION_1990 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1991: x<-K+M+N+P+T+W #define ACTION_1991 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1992: x<-K+M+N+P+U+V #define ACTION_1992 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1993: x<-K+M+N+P+U+W #define ACTION_1993 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1994: x<-K+M+N+P+V+W #define ACTION_1994 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1995: x<-K+M+N+R+T+U #define ACTION_1995 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1996: x<-K+M+N+R+T+V #define ACTION_1996 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1997: x<-K+M+N+R+T+W #define ACTION_1997 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1998: x<-K+M+N+R+U+V #define ACTION_1998 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1999: x<-K+M+N+R+U+W #define ACTION_1999 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2000: x<-K+M+N+R+V+W #define ACTION_2000 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2001: x<-K+M+N+S+T+U #define ACTION_2001 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2002: x<-K+M+N+S+T+V #define ACTION_2002 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2003: x<-K+M+N+S+T+W #define ACTION_2003 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2004: x<-K+M+N+S+U+V #define ACTION_2004 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2005: x<-K+M+N+S+U+W #define ACTION_2005 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2006: x<-K+M+N+S+V+W #define ACTION_2006 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2007: x<-K+M+N+T+U+W #define ACTION_2007 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2008: x<-K+M+N+T+V+W #define ACTION_2008 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2009: x<-K+M+N+U+V+W #define ACTION_2009 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2010: x<-K+M+O+P+T+U #define ACTION_2010 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2011: x<-K+M+O+P+T+V #define ACTION_2011 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2012: x<-K+M+O+P+T+W #define ACTION_2012 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2013: x<-K+M+O+P+U+V #define ACTION_2013 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2014: x<-K+M+O+P+U+W #define ACTION_2014 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2015: x<-K+M+O+P+V+W #define ACTION_2015 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2016: x<-K+M+O+Q+T+U #define ACTION_2016 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2017: x<-K+M+O+Q+T+V #define ACTION_2017 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2018: x<-K+M+O+Q+T+W #define ACTION_2018 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2019: x<-K+M+O+Q+U+V #define ACTION_2019 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2020: x<-K+M+O+Q+U+W #define ACTION_2020 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2021: x<-K+M+O+Q+V+W #define ACTION_2021 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2022: x<-K+M+O+S+T+U #define ACTION_2022 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2023: x<-K+M+O+S+T+V #define ACTION_2023 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2024: x<-K+M+O+S+T+W #define ACTION_2024 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2025: x<-K+M+O+S+U+V #define ACTION_2025 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2026: x<-K+M+O+S+U+W #define ACTION_2026 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2027: x<-K+M+O+S+V+W #define ACTION_2027 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2028: x<-K+M+O+T+U+W #define ACTION_2028 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2029: x<-K+M+O+T+V+W #define ACTION_2029 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2030: x<-K+M+O+U+V+W #define ACTION_2030 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2031: x<-K+M+P+Q+T+U #define ACTION_2031 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2032: x<-K+M+P+Q+T+V #define ACTION_2032 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2033: x<-K+M+P+Q+T+W #define ACTION_2033 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2034: x<-K+M+P+Q+U+V #define ACTION_2034 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2035: x<-K+M+P+Q+U+W #define ACTION_2035 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2036: x<-K+M+P+Q+V+W #define ACTION_2036 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2037: x<-K+M+P+R+T+U #define ACTION_2037 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2038: x<-K+M+P+R+T+V #define ACTION_2038 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2039: x<-K+M+P+R+T+W #define ACTION_2039 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2040: x<-K+M+P+R+U+V #define ACTION_2040 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2041: x<-K+M+P+R+U+W #define ACTION_2041 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2042: x<-K+M+P+R+V+W #define ACTION_2042 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2043: x<-K+M+P+T+U+W #define ACTION_2043 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2044: x<-K+M+P+T+V+W #define ACTION_2044 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2045: x<-K+M+P+U+V+W #define ACTION_2045 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2046: x<-K+M+Q+R+T+U #define ACTION_2046 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2047: x<-K+M+Q+R+T+V #define ACTION_2047 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2048: x<-K+M+Q+R+T+W #define ACTION_2048 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2049: x<-K+M+Q+R+U+V #define ACTION_2049 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2050: x<-K+M+Q+R+U+W #define ACTION_2050 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2051: x<-K+M+Q+R+V+W #define ACTION_2051 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2052: x<-K+M+Q+S+T+U #define ACTION_2052 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2053: x<-K+M+Q+S+T+V #define ACTION_2053 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2054: x<-K+M+Q+S+T+W #define ACTION_2054 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2055: x<-K+M+Q+S+U+V #define ACTION_2055 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2056: x<-K+M+Q+S+U+W #define ACTION_2056 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2057: x<-K+M+Q+S+V+W #define ACTION_2057 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2058: x<-K+M+Q+T+U+W #define ACTION_2058 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2059: x<-K+M+Q+T+V+W #define ACTION_2059 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2060: x<-K+M+Q+U+V+W #define ACTION_2060 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2061: x<-K+M+R+S+T+U #define ACTION_2061 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2062: x<-K+M+R+S+T+V #define ACTION_2062 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2063: x<-K+M+R+S+T+W #define ACTION_2063 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2064: x<-K+M+R+S+U+V #define ACTION_2064 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2065: x<-K+M+R+S+U+W #define ACTION_2065 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2066: x<-K+M+R+S+V+W #define ACTION_2066 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2067: x<-K+M+R+T+U+W #define ACTION_2067 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2068: x<-K+M+R+T+V+W #define ACTION_2068 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2069: x<-K+M+R+U+V+W #define ACTION_2069 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2070: x<-K+M+S+T+U+W #define ACTION_2070 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2071: x<-K+M+S+T+V+W #define ACTION_2071 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2072: x<-K+M+S+U+V+W #define ACTION_2072 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2073: x<-K+N+O+R+T+U #define ACTION_2073 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2074: x<-K+N+O+R+T+V #define ACTION_2074 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2075: x<-K+N+O+R+T+W #define ACTION_2075 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2076: x<-K+N+O+R+U+V #define ACTION_2076 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2077: x<-K+N+O+R+U+W #define ACTION_2077 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2078: x<-K+N+O+R+V+W #define ACTION_2078 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2079: x<-K+N+O+S+T+U #define ACTION_2079 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2080: x<-K+N+O+S+T+V #define ACTION_2080 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2081: x<-K+N+O+S+T+W #define ACTION_2081 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2082: x<-K+N+O+S+U+V #define ACTION_2082 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2083: x<-K+N+O+S+U+W #define ACTION_2083 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2084: x<-K+N+O+S+V+W #define ACTION_2084 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2085: x<-K+N+O+T+U+W #define ACTION_2085 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2086: x<-K+N+O+T+V+W #define ACTION_2086 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2087: x<-K+N+O+U+V+W #define ACTION_2087 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2088: x<-K+N+P+R+T+U #define ACTION_2088 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2089: x<-K+N+P+R+T+V #define ACTION_2089 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2090: x<-K+N+P+R+T+W #define ACTION_2090 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2091: x<-K+N+P+R+U+V #define ACTION_2091 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2092: x<-K+N+P+R+U+W #define ACTION_2092 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2093: x<-K+N+P+R+V+W #define ACTION_2093 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2094: x<-K+N+P+S+T+U #define ACTION_2094 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2095: x<-K+N+P+S+T+V #define ACTION_2095 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2096: x<-K+N+P+S+T+W #define ACTION_2096 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2097: x<-K+N+P+S+U+V #define ACTION_2097 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2098: x<-K+N+P+S+U+W #define ACTION_2098 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2099: x<-K+N+P+S+V+W #define ACTION_2099 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2100: x<-K+N+P+T+U+W #define ACTION_2100 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2101: x<-K+N+P+T+V+W #define ACTION_2101 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2102: x<-K+N+P+U+V+W #define ACTION_2102 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2103: x<-K+N+R+T+U+W #define ACTION_2103 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2104: x<-K+N+R+T+V+W #define ACTION_2104 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2105: x<-K+N+R+U+V+W #define ACTION_2105 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2106: x<-K+N+S+T+U+W #define ACTION_2106 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2107: x<-K+N+S+T+V+W #define ACTION_2107 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2108: x<-K+N+S+U+V+W #define ACTION_2108 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2109: x<-K+O+P+S+T+U #define ACTION_2109 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2110: x<-K+O+P+S+T+V #define ACTION_2110 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2111: x<-K+O+P+S+T+W #define ACTION_2111 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2112: x<-K+O+P+S+U+V #define ACTION_2112 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2113: x<-K+O+P+S+U+W #define ACTION_2113 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2114: x<-K+O+P+S+V+W #define ACTION_2114 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2115: x<-K+O+P+T+U+W #define ACTION_2115 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2116: x<-K+O+P+T+V+W #define ACTION_2116 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2117: x<-K+O+P+U+V+W #define ACTION_2117 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2118: x<-K+O+Q+R+T+U #define ACTION_2118 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2119: x<-K+O+Q+R+T+V #define ACTION_2119 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2120: x<-K+O+Q+R+T+W #define ACTION_2120 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2121: x<-K+O+Q+R+U+V #define ACTION_2121 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2122: x<-K+O+Q+R+U+W #define ACTION_2122 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2123: x<-K+O+Q+R+V+W #define ACTION_2123 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2124: x<-K+O+Q+S+T+U #define ACTION_2124 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2125: x<-K+O+Q+S+T+V #define ACTION_2125 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2126: x<-K+O+Q+S+T+W #define ACTION_2126 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2127: x<-K+O+Q+S+U+V #define ACTION_2127 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2128: x<-K+O+Q+S+U+W #define ACTION_2128 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2129: x<-K+O+Q+S+V+W #define ACTION_2129 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2130: x<-K+O+Q+T+U+W #define ACTION_2130 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2131: x<-K+O+Q+T+V+W #define ACTION_2131 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2132: x<-K+O+Q+U+V+W #define ACTION_2132 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2133: x<-K+O+R+S+T+U #define ACTION_2133 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2134: x<-K+O+R+S+T+V #define ACTION_2134 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2135: x<-K+O+R+S+T+W #define ACTION_2135 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2136: x<-K+O+R+S+U+V #define ACTION_2136 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2137: x<-K+O+R+S+U+W #define ACTION_2137 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2138: x<-K+O+R+S+V+W #define ACTION_2138 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2139: x<-K+O+R+T+U+W #define ACTION_2139 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2140: x<-K+O+R+T+V+W #define ACTION_2140 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2141: x<-K+O+R+U+V+W #define ACTION_2141 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2142: x<-K+O+S+T+U+W #define ACTION_2142 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2143: x<-K+O+S+T+V+W #define ACTION_2143 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2144: x<-K+O+S+U+V+W #define ACTION_2144 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2145: x<-K+P+Q+R+T+U #define ACTION_2145 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2146: x<-K+P+Q+R+T+V #define ACTION_2146 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2147: x<-K+P+Q+R+T+W #define ACTION_2147 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2148: x<-K+P+Q+R+U+V #define ACTION_2148 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2149: x<-K+P+Q+R+U+W #define ACTION_2149 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2150: x<-K+P+Q+R+V+W #define ACTION_2150 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2151: x<-K+P+Q+S+T+U #define ACTION_2151 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2152: x<-K+P+Q+S+T+V #define ACTION_2152 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2153: x<-K+P+Q+S+T+W #define ACTION_2153 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2154: x<-K+P+Q+S+U+V #define ACTION_2154 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2155: x<-K+P+Q+S+U+W #define ACTION_2155 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2156: x<-K+P+Q+S+V+W #define ACTION_2156 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2157: x<-K+P+Q+T+U+W #define ACTION_2157 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2158: x<-K+P+Q+T+V+W #define ACTION_2158 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2159: x<-K+P+Q+U+V+W #define ACTION_2159 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2160: x<-K+P+R+S+T+U #define ACTION_2160 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2161: x<-K+P+R+S+T+V #define ACTION_2161 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2162: x<-K+P+R+S+T+W #define ACTION_2162 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2163: x<-K+P+R+S+U+V #define ACTION_2163 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2164: x<-K+P+R+S+U+W #define ACTION_2164 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2165: x<-K+P+R+S+V+W #define ACTION_2165 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2166: x<-K+P+R+T+U+W #define ACTION_2166 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2167: x<-K+P+R+T+V+W #define ACTION_2167 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2168: x<-K+P+R+U+V+W #define ACTION_2168 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2169: x<-K+P+S+T+U+W #define ACTION_2169 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2170: x<-K+P+S+T+V+W #define ACTION_2170 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2171: x<-K+P+S+U+V+W #define ACTION_2171 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2172: x<-K+Q+R+T+U+W #define ACTION_2172 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2173: x<-K+Q+R+T+V+W #define ACTION_2173 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2174: x<-K+Q+R+U+V+W #define ACTION_2174 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2175: x<-K+Q+S+T+U+W #define ACTION_2175 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2176: x<-K+Q+S+T+V+W #define ACTION_2176 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2177: x<-K+Q+S+U+V+W #define ACTION_2177 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2178: x<-K+R+S+T+U+W #define ACTION_2178 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2179: x<-K+R+S+T+V+W #define ACTION_2179 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2180: x<-K+R+S+U+V+W #define ACTION_2180 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2181: x<-L+M+N+O+T+U #define ACTION_2181 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2182: x<-L+M+N+O+T+V #define ACTION_2182 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2183: x<-L+M+N+O+T+W #define ACTION_2183 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2184: x<-L+M+N+O+U+V #define ACTION_2184 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2185: x<-L+M+N+O+U+W #define ACTION_2185 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2186: x<-L+M+N+O+V+W #define ACTION_2186 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2187: x<-L+M+N+P+T+U #define ACTION_2187 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2188: x<-L+M+N+P+T+V #define ACTION_2188 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2189: x<-L+M+N+P+T+W #define ACTION_2189 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2190: x<-L+M+N+P+U+V #define ACTION_2190 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2191: x<-L+M+N+P+U+W #define ACTION_2191 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2192: x<-L+M+N+P+V+W #define ACTION_2192 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2193: x<-L+M+N+R+T+U #define ACTION_2193 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2194: x<-L+M+N+R+T+V #define ACTION_2194 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2195: x<-L+M+N+R+T+W #define ACTION_2195 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2196: x<-L+M+N+R+U+V #define ACTION_2196 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2197: x<-L+M+N+R+U+W #define ACTION_2197 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2198: x<-L+M+N+R+V+W #define ACTION_2198 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2199: x<-L+M+N+S+T+U #define ACTION_2199 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2200: x<-L+M+N+S+T+V #define ACTION_2200 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2201: x<-L+M+N+S+T+W #define ACTION_2201 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2202: x<-L+M+N+S+U+V #define ACTION_2202 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2203: x<-L+M+N+S+U+W #define ACTION_2203 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2204: x<-L+M+N+S+V+W #define ACTION_2204 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2205: x<-L+M+N+T+U+W #define ACTION_2205 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2206: x<-L+M+N+T+V+W #define ACTION_2206 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2207: x<-L+M+N+U+V+W #define ACTION_2207 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2208: x<-L+M+O+P+T+U #define ACTION_2208 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2209: x<-L+M+O+P+T+V #define ACTION_2209 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2210: x<-L+M+O+P+T+W #define ACTION_2210 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2211: x<-L+M+O+P+U+V #define ACTION_2211 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2212: x<-L+M+O+P+U+W #define ACTION_2212 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2213: x<-L+M+O+P+V+W #define ACTION_2213 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2214: x<-L+M+O+Q+T+U #define ACTION_2214 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2215: x<-L+M+O+Q+T+V #define ACTION_2215 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2216: x<-L+M+O+Q+T+W #define ACTION_2216 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2217: x<-L+M+O+Q+U+V #define ACTION_2217 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2218: x<-L+M+O+Q+U+W #define ACTION_2218 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2219: x<-L+M+O+Q+V+W #define ACTION_2219 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2220: x<-L+M+O+S+T+U #define ACTION_2220 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2221: x<-L+M+O+S+T+V #define ACTION_2221 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2222: x<-L+M+O+S+T+W #define ACTION_2222 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2223: x<-L+M+O+S+U+V #define ACTION_2223 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2224: x<-L+M+O+S+U+W #define ACTION_2224 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2225: x<-L+M+O+S+V+W #define ACTION_2225 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2226: x<-L+M+O+T+U+W #define ACTION_2226 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2227: x<-L+M+O+T+V+W #define ACTION_2227 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2228: x<-L+M+O+U+V+W #define ACTION_2228 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2229: x<-L+M+P+Q+T+U #define ACTION_2229 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2230: x<-L+M+P+Q+T+V #define ACTION_2230 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2231: x<-L+M+P+Q+T+W #define ACTION_2231 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2232: x<-L+M+P+Q+U+V #define ACTION_2232 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2233: x<-L+M+P+Q+U+W #define ACTION_2233 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2234: x<-L+M+P+Q+V+W #define ACTION_2234 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2235: x<-L+M+P+R+T+U #define ACTION_2235 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2236: x<-L+M+P+R+T+V #define ACTION_2236 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2237: x<-L+M+P+R+T+W #define ACTION_2237 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2238: x<-L+M+P+R+U+V #define ACTION_2238 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2239: x<-L+M+P+R+U+W #define ACTION_2239 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2240: x<-L+M+P+R+V+W #define ACTION_2240 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2241: x<-L+M+P+T+U+W #define ACTION_2241 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2242: x<-L+M+P+T+V+W #define ACTION_2242 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2243: x<-L+M+P+U+V+W #define ACTION_2243 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2244: x<-L+M+Q+R+T+U #define ACTION_2244 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2245: x<-L+M+Q+R+T+V #define ACTION_2245 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2246: x<-L+M+Q+R+T+W #define ACTION_2246 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2247: x<-L+M+Q+R+U+V #define ACTION_2247 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2248: x<-L+M+Q+R+U+W #define ACTION_2248 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2249: x<-L+M+Q+R+V+W #define ACTION_2249 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2250: x<-L+M+Q+S+T+U #define ACTION_2250 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2251: x<-L+M+Q+S+T+V #define ACTION_2251 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2252: x<-L+M+Q+S+T+W #define ACTION_2252 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2253: x<-L+M+Q+S+U+V #define ACTION_2253 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2254: x<-L+M+Q+S+U+W #define ACTION_2254 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2255: x<-L+M+Q+S+V+W #define ACTION_2255 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2256: x<-L+M+Q+T+U+W #define ACTION_2256 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2257: x<-L+M+Q+T+V+W #define ACTION_2257 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2258: x<-L+M+Q+U+V+W #define ACTION_2258 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2259: x<-L+M+R+S+T+U #define ACTION_2259 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2260: x<-L+M+R+S+T+V #define ACTION_2260 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2261: x<-L+M+R+S+T+W #define ACTION_2261 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2262: x<-L+M+R+S+U+V #define ACTION_2262 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2263: x<-L+M+R+S+U+W #define ACTION_2263 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2264: x<-L+M+R+S+V+W #define ACTION_2264 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2265: x<-L+M+R+T+U+W #define ACTION_2265 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2266: x<-L+M+R+T+V+W #define ACTION_2266 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2267: x<-L+M+R+U+V+W #define ACTION_2267 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2268: x<-L+M+S+T+U+W #define ACTION_2268 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2269: x<-L+M+S+T+V+W #define ACTION_2269 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2270: x<-L+M+S+U+V+W #define ACTION_2270 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2271: x<-L+N+O+Q+T+U #define ACTION_2271 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2272: x<-L+N+O+Q+T+V #define ACTION_2272 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2273: x<-L+N+O+Q+T+W #define ACTION_2273 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2274: x<-L+N+O+Q+U+V #define ACTION_2274 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2275: x<-L+N+O+Q+U+W #define ACTION_2275 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2276: x<-L+N+O+Q+V+W #define ACTION_2276 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2277: x<-L+N+O+T+U+W #define ACTION_2277 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2278: x<-L+N+O+T+V+W #define ACTION_2278 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2279: x<-L+N+O+U+V+W #define ACTION_2279 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2280: x<-L+N+P+Q+T+U #define ACTION_2280 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2281: x<-L+N+P+Q+T+V #define ACTION_2281 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2282: x<-L+N+P+Q+T+W #define ACTION_2282 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2283: x<-L+N+P+Q+U+V #define ACTION_2283 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2284: x<-L+N+P+Q+U+W #define ACTION_2284 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2285: x<-L+N+P+Q+V+W #define ACTION_2285 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2286: x<-L+N+P+R+T+U #define ACTION_2286 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2287: x<-L+N+P+R+T+V #define ACTION_2287 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2288: x<-L+N+P+R+T+W #define ACTION_2288 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2289: x<-L+N+P+R+U+V #define ACTION_2289 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2290: x<-L+N+P+R+U+W #define ACTION_2290 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2291: x<-L+N+P+R+V+W #define ACTION_2291 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2292: x<-L+N+P+S+T+U #define ACTION_2292 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2293: x<-L+N+P+S+T+V #define ACTION_2293 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2294: x<-L+N+P+S+T+W #define ACTION_2294 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2295: x<-L+N+P+S+U+V #define ACTION_2295 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2296: x<-L+N+P+S+U+W #define ACTION_2296 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2297: x<-L+N+P+S+V+W #define ACTION_2297 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2298: x<-L+N+P+T+U+W #define ACTION_2298 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2299: x<-L+N+P+T+V+W #define ACTION_2299 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2300: x<-L+N+P+U+V+W #define ACTION_2300 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2301: x<-L+N+Q+R+T+U #define ACTION_2301 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2302: x<-L+N+Q+R+T+V #define ACTION_2302 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2303: x<-L+N+Q+R+T+W #define ACTION_2303 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2304: x<-L+N+Q+R+U+V #define ACTION_2304 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2305: x<-L+N+Q+R+U+W #define ACTION_2305 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2306: x<-L+N+Q+R+V+W #define ACTION_2306 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2307: x<-L+N+Q+S+T+U #define ACTION_2307 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2308: x<-L+N+Q+S+T+V #define ACTION_2308 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2309: x<-L+N+Q+S+T+W #define ACTION_2309 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2310: x<-L+N+Q+S+U+V #define ACTION_2310 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2311: x<-L+N+Q+S+U+W #define ACTION_2311 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2312: x<-L+N+Q+S+V+W #define ACTION_2312 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2313: x<-L+N+Q+T+U+W #define ACTION_2313 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2314: x<-L+N+Q+T+V+W #define ACTION_2314 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2315: x<-L+N+Q+U+V+W #define ACTION_2315 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2316: x<-L+N+R+S+T+U #define ACTION_2316 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2317: x<-L+N+R+S+T+V #define ACTION_2317 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2318: x<-L+N+R+S+T+W #define ACTION_2318 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2319: x<-L+N+R+S+U+V #define ACTION_2319 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2320: x<-L+N+R+S+U+W #define ACTION_2320 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2321: x<-L+N+R+S+V+W #define ACTION_2321 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2322: x<-L+N+R+T+U+W #define ACTION_2322 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2323: x<-L+N+R+T+V+W #define ACTION_2323 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2324: x<-L+N+R+U+V+W #define ACTION_2324 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2325: x<-L+N+S+T+U+W #define ACTION_2325 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2326: x<-L+N+S+T+V+W #define ACTION_2326 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2327: x<-L+N+S+U+V+W #define ACTION_2327 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2328: x<-L+O+P+S+T+U #define ACTION_2328 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2329: x<-L+O+P+S+T+V #define ACTION_2329 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2330: x<-L+O+P+S+T+W #define ACTION_2330 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2331: x<-L+O+P+S+U+V #define ACTION_2331 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2332: x<-L+O+P+S+U+W #define ACTION_2332 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2333: x<-L+O+P+S+V+W #define ACTION_2333 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2334: x<-L+O+P+T+U+W #define ACTION_2334 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2335: x<-L+O+P+T+V+W #define ACTION_2335 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2336: x<-L+O+P+U+V+W #define ACTION_2336 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2337: x<-L+O+Q+T+U+W #define ACTION_2337 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2338: x<-L+O+Q+T+V+W #define ACTION_2338 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2339: x<-L+O+Q+U+V+W #define ACTION_2339 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2340: x<-L+O+S+T+U+W #define ACTION_2340 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2341: x<-L+O+S+T+V+W #define ACTION_2341 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2342: x<-L+O+S+U+V+W #define ACTION_2342 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2343: x<-L+P+Q+R+T+U #define ACTION_2343 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2344: x<-L+P+Q+R+T+V #define ACTION_2344 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2345: x<-L+P+Q+R+T+W #define ACTION_2345 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2346: x<-L+P+Q+R+U+V #define ACTION_2346 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2347: x<-L+P+Q+R+U+W #define ACTION_2347 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2348: x<-L+P+Q+R+V+W #define ACTION_2348 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2349: x<-L+P+Q+S+T+U #define ACTION_2349 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2350: x<-L+P+Q+S+T+V #define ACTION_2350 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2351: x<-L+P+Q+S+T+W #define ACTION_2351 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2352: x<-L+P+Q+S+U+V #define ACTION_2352 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2353: x<-L+P+Q+S+U+W #define ACTION_2353 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2354: x<-L+P+Q+S+V+W #define ACTION_2354 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2355: x<-L+P+Q+T+U+W #define ACTION_2355 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2356: x<-L+P+Q+T+V+W #define ACTION_2356 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2357: x<-L+P+Q+U+V+W #define ACTION_2357 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2358: x<-L+P+R+S+T+U #define ACTION_2358 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2359: x<-L+P+R+S+T+V #define ACTION_2359 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2360: x<-L+P+R+S+T+W #define ACTION_2360 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2361: x<-L+P+R+S+U+V #define ACTION_2361 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2362: x<-L+P+R+S+U+W #define ACTION_2362 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2363: x<-L+P+R+S+V+W #define ACTION_2363 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2364: x<-L+P+R+T+U+W #define ACTION_2364 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2365: x<-L+P+R+T+V+W #define ACTION_2365 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2366: x<-L+P+R+U+V+W #define ACTION_2366 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2367: x<-L+P+S+T+U+W #define ACTION_2367 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2368: x<-L+P+S+T+V+W #define ACTION_2368 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2369: x<-L+P+S+U+V+W #define ACTION_2369 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2370: x<-L+Q+R+T+U+W #define ACTION_2370 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2371: x<-L+Q+R+T+V+W #define ACTION_2371 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2372: x<-L+Q+R+U+V+W #define ACTION_2372 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2373: x<-L+Q+S+T+U+W #define ACTION_2373 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2374: x<-L+Q+S+T+V+W #define ACTION_2374 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2375: x<-L+Q+S+U+V+W #define ACTION_2375 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2376: x<-L+R+S+T+U+W #define ACTION_2376 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2377: x<-L+R+S+T+V+W #define ACTION_2377 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2378: x<-L+R+S+U+V+W #define ACTION_2378 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2379: x<-M+N+O+Q+T+U #define ACTION_2379 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2380: x<-M+N+O+Q+T+V #define ACTION_2380 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2381: x<-M+N+O+Q+T+W #define ACTION_2381 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2382: x<-M+N+O+Q+U+V #define ACTION_2382 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2383: x<-M+N+O+Q+U+W #define ACTION_2383 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2384: x<-M+N+O+Q+V+W #define ACTION_2384 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2385: x<-M+N+O+T+U+W #define ACTION_2385 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2386: x<-M+N+O+T+V+W #define ACTION_2386 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2387: x<-M+N+O+U+V+W #define ACTION_2387 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2388: x<-M+N+P+Q+T+U #define ACTION_2388 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2389: x<-M+N+P+Q+T+V #define ACTION_2389 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2390: x<-M+N+P+Q+T+W #define ACTION_2390 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2391: x<-M+N+P+Q+U+V #define ACTION_2391 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2392: x<-M+N+P+Q+U+W #define ACTION_2392 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2393: x<-M+N+P+Q+V+W #define ACTION_2393 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2394: x<-M+N+P+R+T+U #define ACTION_2394 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2395: x<-M+N+P+R+T+V #define ACTION_2395 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2396: x<-M+N+P+R+T+W #define ACTION_2396 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2397: x<-M+N+P+R+U+V #define ACTION_2397 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2398: x<-M+N+P+R+U+W #define ACTION_2398 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2399: x<-M+N+P+R+V+W #define ACTION_2399 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2400: x<-M+N+P+T+U+W #define ACTION_2400 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2401: x<-M+N+P+T+V+W #define ACTION_2401 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2402: x<-M+N+P+U+V+W #define ACTION_2402 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2403: x<-M+N+Q+R+T+U #define ACTION_2403 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2404: x<-M+N+Q+R+T+V #define ACTION_2404 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2405: x<-M+N+Q+R+T+W #define ACTION_2405 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2406: x<-M+N+Q+R+U+V #define ACTION_2406 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2407: x<-M+N+Q+R+U+W #define ACTION_2407 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2408: x<-M+N+Q+R+V+W #define ACTION_2408 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2409: x<-M+N+Q+S+T+U #define ACTION_2409 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2410: x<-M+N+Q+S+T+V #define ACTION_2410 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2411: x<-M+N+Q+S+T+W #define ACTION_2411 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2412: x<-M+N+Q+S+U+V #define ACTION_2412 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2413: x<-M+N+Q+S+U+W #define ACTION_2413 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2414: x<-M+N+Q+S+V+W #define ACTION_2414 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2415: x<-M+N+Q+T+U+W #define ACTION_2415 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2416: x<-M+N+Q+T+V+W #define ACTION_2416 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2417: x<-M+N+Q+U+V+W #define ACTION_2417 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2418: x<-M+N+R+S+T+U #define ACTION_2418 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2419: x<-M+N+R+S+T+V #define ACTION_2419 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2420: x<-M+N+R+S+T+W #define ACTION_2420 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2421: x<-M+N+R+S+U+V #define ACTION_2421 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2422: x<-M+N+R+S+U+W #define ACTION_2422 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2423: x<-M+N+R+S+V+W #define ACTION_2423 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2424: x<-M+N+R+T+U+W #define ACTION_2424 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2425: x<-M+N+R+T+V+W #define ACTION_2425 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2426: x<-M+N+R+U+V+W #define ACTION_2426 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2427: x<-M+N+S+T+U+W #define ACTION_2427 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2428: x<-M+N+S+T+V+W #define ACTION_2428 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2429: x<-M+N+S+U+V+W #define ACTION_2429 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2430: x<-M+O+P+Q+T+U #define ACTION_2430 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2431: x<-M+O+P+Q+T+V #define ACTION_2431 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2432: x<-M+O+P+Q+T+W #define ACTION_2432 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2433: x<-M+O+P+Q+U+V #define ACTION_2433 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2434: x<-M+O+P+Q+U+W #define ACTION_2434 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2435: x<-M+O+P+Q+V+W #define ACTION_2435 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2436: x<-M+O+P+R+T+U #define ACTION_2436 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2437: x<-M+O+P+R+T+V #define ACTION_2437 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2438: x<-M+O+P+R+T+W #define ACTION_2438 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2439: x<-M+O+P+R+U+V #define ACTION_2439 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2440: x<-M+O+P+R+U+W #define ACTION_2440 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2441: x<-M+O+P+R+V+W #define ACTION_2441 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2442: x<-M+O+P+T+U+W #define ACTION_2442 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2443: x<-M+O+P+T+V+W #define ACTION_2443 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2444: x<-M+O+P+U+V+W #define ACTION_2444 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2445: x<-M+O+Q+R+T+U #define ACTION_2445 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2446: x<-M+O+Q+R+T+V #define ACTION_2446 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2447: x<-M+O+Q+R+T+W #define ACTION_2447 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2448: x<-M+O+Q+R+U+V #define ACTION_2448 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2449: x<-M+O+Q+R+U+W #define ACTION_2449 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2450: x<-M+O+Q+R+V+W #define ACTION_2450 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2451: x<-M+O+Q+S+T+U #define ACTION_2451 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2452: x<-M+O+Q+S+T+V #define ACTION_2452 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2453: x<-M+O+Q+S+T+W #define ACTION_2453 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2454: x<-M+O+Q+S+U+V #define ACTION_2454 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2455: x<-M+O+Q+S+U+W #define ACTION_2455 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2456: x<-M+O+Q+S+V+W #define ACTION_2456 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2457: x<-M+O+Q+T+U+W #define ACTION_2457 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2458: x<-M+O+Q+T+V+W #define ACTION_2458 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2459: x<-M+O+Q+U+V+W #define ACTION_2459 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2460: x<-M+O+R+S+T+U #define ACTION_2460 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2461: x<-M+O+R+S+T+V #define ACTION_2461 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2462: x<-M+O+R+S+T+W #define ACTION_2462 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2463: x<-M+O+R+S+U+V #define ACTION_2463 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2464: x<-M+O+R+S+U+W #define ACTION_2464 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2465: x<-M+O+R+S+V+W #define ACTION_2465 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2466: x<-M+O+R+T+U+W #define ACTION_2466 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2467: x<-M+O+R+T+V+W #define ACTION_2467 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2468: x<-M+O+R+U+V+W #define ACTION_2468 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2469: x<-M+O+S+T+U+W #define ACTION_2469 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2470: x<-M+O+S+T+V+W #define ACTION_2470 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2471: x<-M+O+S+U+V+W #define ACTION_2471 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2472: x<-M+P+Q+T+U+W #define ACTION_2472 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2473: x<-M+P+Q+T+V+W #define ACTION_2473 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2474: x<-M+P+Q+U+V+W #define ACTION_2474 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2475: x<-M+P+R+T+U+W #define ACTION_2475 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2476: x<-M+P+R+T+V+W #define ACTION_2476 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2477: x<-M+P+R+U+V+W #define ACTION_2477 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2478: x<-M+Q+R+T+U+W #define ACTION_2478 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2479: x<-M+Q+R+T+V+W #define ACTION_2479 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2480: x<-M+Q+R+U+V+W #define ACTION_2480 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2481: x<-M+Q+S+T+U+W #define ACTION_2481 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2482: x<-M+Q+S+T+V+W #define ACTION_2482 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2483: x<-M+Q+S+U+V+W #define ACTION_2483 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2484: x<-M+R+S+T+U+W #define ACTION_2484 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2485: x<-M+R+S+T+V+W #define ACTION_2485 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2486: x<-M+R+S+U+V+W #define ACTION_2486 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2487: x<-N+O+Q+R+T+U #define ACTION_2487 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2488: x<-N+O+Q+R+T+V #define ACTION_2488 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2489: x<-N+O+Q+R+T+W #define ACTION_2489 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2490: x<-N+O+Q+R+U+V #define ACTION_2490 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2491: x<-N+O+Q+R+U+W #define ACTION_2491 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2492: x<-N+O+Q+R+V+W #define ACTION_2492 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2493: x<-N+O+Q+S+T+U #define ACTION_2493 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2494: x<-N+O+Q+S+T+V #define ACTION_2494 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2495: x<-N+O+Q+S+T+W #define ACTION_2495 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2496: x<-N+O+Q+S+U+V #define ACTION_2496 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2497: x<-N+O+Q+S+U+W #define ACTION_2497 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2498: x<-N+O+Q+S+V+W #define ACTION_2498 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2499: x<-N+O+Q+T+U+W #define ACTION_2499 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2500: x<-N+O+Q+T+V+W #define ACTION_2500 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2501: x<-N+O+Q+U+V+W #define ACTION_2501 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2502: x<-N+O+R+S+T+U #define ACTION_2502 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2503: x<-N+O+R+S+T+V #define ACTION_2503 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2504: x<-N+O+R+S+T+W #define ACTION_2504 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2505: x<-N+O+R+S+U+V #define ACTION_2505 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2506: x<-N+O+R+S+U+W #define ACTION_2506 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2507: x<-N+O+R+S+V+W #define ACTION_2507 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2508: x<-N+O+R+T+U+W #define ACTION_2508 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2509: x<-N+O+R+T+V+W #define ACTION_2509 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2510: x<-N+O+R+U+V+W #define ACTION_2510 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2511: x<-N+O+S+T+U+W #define ACTION_2511 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2512: x<-N+O+S+T+V+W #define ACTION_2512 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2513: x<-N+O+S+U+V+W #define ACTION_2513 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2514: x<-N+P+Q+R+T+U #define ACTION_2514 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2515: x<-N+P+Q+R+T+V #define ACTION_2515 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2516: x<-N+P+Q+R+T+W #define ACTION_2516 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2517: x<-N+P+Q+R+U+V #define ACTION_2517 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2518: x<-N+P+Q+R+U+W #define ACTION_2518 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2519: x<-N+P+Q+R+V+W #define ACTION_2519 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2520: x<-N+P+Q+S+T+U #define ACTION_2520 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2521: x<-N+P+Q+S+T+V #define ACTION_2521 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2522: x<-N+P+Q+S+T+W #define ACTION_2522 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2523: x<-N+P+Q+S+U+V #define ACTION_2523 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2524: x<-N+P+Q+S+U+W #define ACTION_2524 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2525: x<-N+P+Q+S+V+W #define ACTION_2525 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2526: x<-N+P+Q+T+U+W #define ACTION_2526 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2527: x<-N+P+Q+T+V+W #define ACTION_2527 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2528: x<-N+P+Q+U+V+W #define ACTION_2528 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2529: x<-N+P+R+S+T+U #define ACTION_2529 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2530: x<-N+P+R+S+T+V #define ACTION_2530 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2531: x<-N+P+R+S+T+W #define ACTION_2531 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2532: x<-N+P+R+S+U+V #define ACTION_2532 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2533: x<-N+P+R+S+U+W #define ACTION_2533 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2534: x<-N+P+R+S+V+W #define ACTION_2534 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2535: x<-N+P+R+T+U+W #define ACTION_2535 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2536: x<-N+P+R+T+V+W #define ACTION_2536 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2537: x<-N+P+R+U+V+W #define ACTION_2537 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2538: x<-N+P+S+T+U+W #define ACTION_2538 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2539: x<-N+P+S+T+V+W #define ACTION_2539 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2540: x<-N+P+S+U+V+W #define ACTION_2540 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2541: x<-N+Q+R+T+U+W #define ACTION_2541 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2542: x<-N+Q+R+T+V+W #define ACTION_2542 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2543: x<-N+Q+R+U+V+W #define ACTION_2543 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2544: x<-N+Q+S+T+U+W #define ACTION_2544 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2545: x<-N+Q+S+T+V+W #define ACTION_2545 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2546: x<-N+Q+S+U+V+W #define ACTION_2546 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2547: x<-N+R+S+T+U+W #define ACTION_2547 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2548: x<-N+R+S+T+V+W #define ACTION_2548 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2549: x<-N+R+S+U+V+W #define ACTION_2549 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2550: x<-O+P+Q+R+T+U #define ACTION_2550 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2551: x<-O+P+Q+R+T+V #define ACTION_2551 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2552: x<-O+P+Q+R+T+W #define ACTION_2552 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2553: x<-O+P+Q+R+U+V #define ACTION_2553 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2554: x<-O+P+Q+R+U+W #define ACTION_2554 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2555: x<-O+P+Q+R+V+W #define ACTION_2555 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2556: x<-O+P+Q+S+T+U #define ACTION_2556 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2557: x<-O+P+Q+S+T+V #define ACTION_2557 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2558: x<-O+P+Q+S+T+W #define ACTION_2558 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2559: x<-O+P+Q+S+U+V #define ACTION_2559 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2560: x<-O+P+Q+S+U+W #define ACTION_2560 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2561: x<-O+P+Q+S+V+W #define ACTION_2561 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2562: x<-O+P+Q+T+U+W #define ACTION_2562 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2563: x<-O+P+Q+T+V+W #define ACTION_2563 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2564: x<-O+P+Q+U+V+W #define ACTION_2564 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2565: x<-O+P+R+S+T+U #define ACTION_2565 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2566: x<-O+P+R+S+T+V #define ACTION_2566 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2567: x<-O+P+R+S+T+W #define ACTION_2567 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2568: x<-O+P+R+S+U+V #define ACTION_2568 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2569: x<-O+P+R+S+U+W #define ACTION_2569 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2570: x<-O+P+R+S+V+W #define ACTION_2570 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2571: x<-O+P+R+T+U+W #define ACTION_2571 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2572: x<-O+P+R+T+V+W #define ACTION_2572 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2573: x<-O+P+R+U+V+W #define ACTION_2573 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2574: x<-O+P+S+T+U+W #define ACTION_2574 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2575: x<-O+P+S+T+V+W #define ACTION_2575 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2576: x<-O+P+S+U+V+W #define ACTION_2576 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2577: x<-O+Q+R+T+U+W #define ACTION_2577 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2578: x<-O+Q+R+T+V+W #define ACTION_2578 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2579: x<-O+Q+R+U+V+W #define ACTION_2579 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2580: x<-O+Q+S+T+U+W #define ACTION_2580 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2581: x<-O+Q+S+T+V+W #define ACTION_2581 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2582: x<-O+Q+S+U+V+W #define ACTION_2582 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2583: x<-O+R+S+T+U+W #define ACTION_2583 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)));continue; // Action 2584: x<-O+R+S+T+V+W #define ACTION_2584 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)));continue; // Action 2585: x<-O+R+S+U+V+W #define ACTION_2585 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)));continue; // Action 2586: x<-P+Q+R+T+U+W #define ACTION_2586 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2587: x<-P+Q+R+T+V+W #define ACTION_2587 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2588: x<-P+Q+R+U+V+W #define ACTION_2588 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2589: x<-P+Q+S+T+U+W #define ACTION_2589 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2590: x<-P+Q+S+T+V+W #define ACTION_2590 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2591: x<-P+Q+S+U+V+W #define ACTION_2591 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2592: x<-P+R+S+T+U+W #define ACTION_2592 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)));continue; // Action 2593: x<-P+R+S+T+V+W #define ACTION_2593 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)));continue; // Action 2594: x<-P+R+S+U+V+W #define ACTION_2594 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)));continue; // Action 2595: x<-K+L+N+O+T+U+W #define ACTION_2595 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2596: x<-K+L+N+O+T+V+W #define ACTION_2596 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2597: x<-K+L+N+O+U+V+W #define ACTION_2597 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2598: x<-K+L+N+P+T+U+W #define ACTION_2598 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2599: x<-K+L+N+P+T+V+W #define ACTION_2599 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2600: x<-K+L+N+P+U+V+W #define ACTION_2600 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2601: x<-K+L+N+R+T+U+W #define ACTION_2601 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2602: x<-K+L+N+R+T+V+W #define ACTION_2602 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2603: x<-K+L+N+R+U+V+W #define ACTION_2603 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2604: x<-K+L+N+S+T+U+W #define ACTION_2604 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2605: x<-K+L+N+S+T+V+W #define ACTION_2605 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2606: x<-K+L+N+S+U+V+W #define ACTION_2606 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2607: x<-K+L+O+P+T+U+W #define ACTION_2607 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2608: x<-K+L+O+P+T+V+W #define ACTION_2608 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2609: x<-K+L+O+P+U+V+W #define ACTION_2609 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2610: x<-K+L+O+Q+T+U+W #define ACTION_2610 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2611: x<-K+L+O+Q+T+V+W #define ACTION_2611 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2612: x<-K+L+O+Q+U+V+W #define ACTION_2612 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2613: x<-K+L+O+S+T+U+W #define ACTION_2613 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2614: x<-K+L+O+S+T+V+W #define ACTION_2614 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2615: x<-K+L+O+S+U+V+W #define ACTION_2615 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2616: x<-K+L+P+Q+T+U+W #define ACTION_2616 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2617: x<-K+L+P+Q+T+V+W #define ACTION_2617 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2618: x<-K+L+P+Q+U+V+W #define ACTION_2618 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2619: x<-K+L+P+R+T+U+W #define ACTION_2619 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2620: x<-K+L+P+R+T+V+W #define ACTION_2620 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2621: x<-K+L+P+R+U+V+W #define ACTION_2621 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2622: x<-K+L+Q+R+T+U+W #define ACTION_2622 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2623: x<-K+L+Q+R+T+V+W #define ACTION_2623 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2624: x<-K+L+Q+R+U+V+W #define ACTION_2624 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2625: x<-K+L+Q+S+T+U+W #define ACTION_2625 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2626: x<-K+L+Q+S+T+V+W #define ACTION_2626 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2627: x<-K+L+Q+S+U+V+W #define ACTION_2627 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2628: x<-K+L+R+S+T+U+W #define ACTION_2628 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2629: x<-K+L+R+S+T+V+W #define ACTION_2629 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2630: x<-K+L+R+S+U+V+W #define ACTION_2630 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2631: x<-K+M+N+O+T+U+W #define ACTION_2631 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2632: x<-K+M+N+O+T+V+W #define ACTION_2632 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2633: x<-K+M+N+O+U+V+W #define ACTION_2633 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2634: x<-K+M+N+P+T+U+W #define ACTION_2634 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2635: x<-K+M+N+P+T+V+W #define ACTION_2635 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2636: x<-K+M+N+P+U+V+W #define ACTION_2636 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2637: x<-K+M+N+R+T+U+W #define ACTION_2637 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2638: x<-K+M+N+R+T+V+W #define ACTION_2638 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2639: x<-K+M+N+R+U+V+W #define ACTION_2639 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2640: x<-K+M+N+S+T+U+W #define ACTION_2640 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2641: x<-K+M+N+S+T+V+W #define ACTION_2641 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2642: x<-K+M+N+S+U+V+W #define ACTION_2642 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2643: x<-K+M+O+P+T+U+W #define ACTION_2643 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2644: x<-K+M+O+P+T+V+W #define ACTION_2644 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2645: x<-K+M+O+P+U+V+W #define ACTION_2645 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2646: x<-K+M+O+Q+T+U+W #define ACTION_2646 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2647: x<-K+M+O+Q+T+V+W #define ACTION_2647 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2648: x<-K+M+O+Q+U+V+W #define ACTION_2648 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2649: x<-K+M+O+S+T+U+W #define ACTION_2649 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2650: x<-K+M+O+S+T+V+W #define ACTION_2650 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2651: x<-K+M+O+S+U+V+W #define ACTION_2651 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2652: x<-K+M+P+Q+T+U+W #define ACTION_2652 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2653: x<-K+M+P+Q+T+V+W #define ACTION_2653 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2654: x<-K+M+P+Q+U+V+W #define ACTION_2654 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2655: x<-K+M+P+R+T+U+W #define ACTION_2655 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2656: x<-K+M+P+R+T+V+W #define ACTION_2656 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2657: x<-K+M+P+R+U+V+W #define ACTION_2657 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2658: x<-K+M+Q+R+T+U+W #define ACTION_2658 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2659: x<-K+M+Q+R+T+V+W #define ACTION_2659 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2660: x<-K+M+Q+R+U+V+W #define ACTION_2660 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2661: x<-K+M+Q+S+T+U+W #define ACTION_2661 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2662: x<-K+M+Q+S+T+V+W #define ACTION_2662 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2663: x<-K+M+Q+S+U+V+W #define ACTION_2663 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2664: x<-K+M+R+S+T+U+W #define ACTION_2664 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2665: x<-K+M+R+S+T+V+W #define ACTION_2665 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2666: x<-K+M+R+S+U+V+W #define ACTION_2666 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2667: x<-K+N+O+R+T+U+W #define ACTION_2667 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2668: x<-K+N+O+R+T+V+W #define ACTION_2668 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2669: x<-K+N+O+R+U+V+W #define ACTION_2669 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2670: x<-K+N+O+S+T+U+W #define ACTION_2670 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2671: x<-K+N+O+S+T+V+W #define ACTION_2671 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2672: x<-K+N+O+S+U+V+W #define ACTION_2672 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2673: x<-K+N+P+R+T+U+W #define ACTION_2673 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2674: x<-K+N+P+R+T+V+W #define ACTION_2674 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2675: x<-K+N+P+R+U+V+W #define ACTION_2675 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2676: x<-K+N+P+S+T+U+W #define ACTION_2676 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2677: x<-K+N+P+S+T+V+W #define ACTION_2677 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2678: x<-K+N+P+S+U+V+W #define ACTION_2678 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2679: x<-K+O+P+S+T+U+W #define ACTION_2679 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2680: x<-K+O+P+S+T+V+W #define ACTION_2680 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2681: x<-K+O+P+S+U+V+W #define ACTION_2681 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2682: x<-K+O+Q+R+T+U+W #define ACTION_2682 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2683: x<-K+O+Q+R+T+V+W #define ACTION_2683 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2684: x<-K+O+Q+R+U+V+W #define ACTION_2684 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2685: x<-K+O+Q+S+T+U+W #define ACTION_2685 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2686: x<-K+O+Q+S+T+V+W #define ACTION_2686 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2687: x<-K+O+Q+S+U+V+W #define ACTION_2687 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2688: x<-K+O+R+S+T+U+W #define ACTION_2688 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2689: x<-K+O+R+S+T+V+W #define ACTION_2689 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2690: x<-K+O+R+S+U+V+W #define ACTION_2690 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2691: x<-K+P+Q+R+T+U+W #define ACTION_2691 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2692: x<-K+P+Q+R+T+V+W #define ACTION_2692 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2693: x<-K+P+Q+R+U+V+W #define ACTION_2693 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2694: x<-K+P+Q+S+T+U+W #define ACTION_2694 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2695: x<-K+P+Q+S+T+V+W #define ACTION_2695 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2696: x<-K+P+Q+S+U+V+W #define ACTION_2696 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2697: x<-K+P+R+S+T+U+W #define ACTION_2697 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2698: x<-K+P+R+S+T+V+W #define ACTION_2698 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2699: x<-K+P+R+S+U+V+W #define ACTION_2699 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2700: x<-L+M+N+O+T+U+W #define ACTION_2700 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2701: x<-L+M+N+O+T+V+W #define ACTION_2701 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2702: x<-L+M+N+O+U+V+W #define ACTION_2702 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2703: x<-L+M+N+P+T+U+W #define ACTION_2703 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2704: x<-L+M+N+P+T+V+W #define ACTION_2704 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2705: x<-L+M+N+P+U+V+W #define ACTION_2705 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2706: x<-L+M+N+R+T+U+W #define ACTION_2706 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2707: x<-L+M+N+R+T+V+W #define ACTION_2707 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2708: x<-L+M+N+R+U+V+W #define ACTION_2708 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2709: x<-L+M+N+S+T+U+W #define ACTION_2709 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2710: x<-L+M+N+S+T+V+W #define ACTION_2710 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2711: x<-L+M+N+S+U+V+W #define ACTION_2711 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2712: x<-L+M+O+P+T+U+W #define ACTION_2712 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2713: x<-L+M+O+P+T+V+W #define ACTION_2713 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2714: x<-L+M+O+P+U+V+W #define ACTION_2714 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2715: x<-L+M+O+Q+T+U+W #define ACTION_2715 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2716: x<-L+M+O+Q+T+V+W #define ACTION_2716 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2717: x<-L+M+O+Q+U+V+W #define ACTION_2717 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2718: x<-L+M+O+S+T+U+W #define ACTION_2718 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2719: x<-L+M+O+S+T+V+W #define ACTION_2719 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2720: x<-L+M+O+S+U+V+W #define ACTION_2720 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2721: x<-L+M+P+Q+T+U+W #define ACTION_2721 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2722: x<-L+M+P+Q+T+V+W #define ACTION_2722 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2723: x<-L+M+P+Q+U+V+W #define ACTION_2723 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2724: x<-L+M+P+R+T+U+W #define ACTION_2724 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2725: x<-L+M+P+R+T+V+W #define ACTION_2725 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2726: x<-L+M+P+R+U+V+W #define ACTION_2726 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2727: x<-L+M+Q+R+T+U+W #define ACTION_2727 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2728: x<-L+M+Q+R+T+V+W #define ACTION_2728 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2729: x<-L+M+Q+R+U+V+W #define ACTION_2729 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2730: x<-L+M+Q+S+T+U+W #define ACTION_2730 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2731: x<-L+M+Q+S+T+V+W #define ACTION_2731 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2732: x<-L+M+Q+S+U+V+W #define ACTION_2732 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2733: x<-L+M+R+S+T+U+W #define ACTION_2733 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2734: x<-L+M+R+S+T+V+W #define ACTION_2734 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2735: x<-L+M+R+S+U+V+W #define ACTION_2735 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2736: x<-L+N+O+Q+T+U+W #define ACTION_2736 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2737: x<-L+N+O+Q+T+V+W #define ACTION_2737 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2738: x<-L+N+O+Q+U+V+W #define ACTION_2738 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2739: x<-L+N+P+Q+T+U+W #define ACTION_2739 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2740: x<-L+N+P+Q+T+V+W #define ACTION_2740 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2741: x<-L+N+P+Q+U+V+W #define ACTION_2741 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2742: x<-L+N+P+R+T+U+W #define ACTION_2742 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2743: x<-L+N+P+R+T+V+W #define ACTION_2743 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2744: x<-L+N+P+R+U+V+W #define ACTION_2744 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2745: x<-L+N+P+S+T+U+W #define ACTION_2745 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2746: x<-L+N+P+S+T+V+W #define ACTION_2746 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2747: x<-L+N+P+S+U+V+W #define ACTION_2747 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2748: x<-L+N+Q+R+T+U+W #define ACTION_2748 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2749: x<-L+N+Q+R+T+V+W #define ACTION_2749 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2750: x<-L+N+Q+R+U+V+W #define ACTION_2750 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2751: x<-L+N+Q+S+T+U+W #define ACTION_2751 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2752: x<-L+N+Q+S+T+V+W #define ACTION_2752 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2753: x<-L+N+Q+S+U+V+W #define ACTION_2753 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2754: x<-L+N+R+S+T+U+W #define ACTION_2754 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2755: x<-L+N+R+S+T+V+W #define ACTION_2755 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2756: x<-L+N+R+S+U+V+W #define ACTION_2756 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2757: x<-L+O+P+S+T+U+W #define ACTION_2757 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2758: x<-L+O+P+S+T+V+W #define ACTION_2758 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2759: x<-L+O+P+S+U+V+W #define ACTION_2759 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2760: x<-L+P+Q+R+T+U+W #define ACTION_2760 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2761: x<-L+P+Q+R+T+V+W #define ACTION_2761 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2762: x<-L+P+Q+R+U+V+W #define ACTION_2762 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2763: x<-L+P+Q+S+T+U+W #define ACTION_2763 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2764: x<-L+P+Q+S+T+V+W #define ACTION_2764 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2765: x<-L+P+Q+S+U+V+W #define ACTION_2765 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2766: x<-L+P+R+S+T+U+W #define ACTION_2766 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2767: x<-L+P+R+S+T+V+W #define ACTION_2767 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2768: x<-L+P+R+S+U+V+W #define ACTION_2768 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2769: x<-M+N+O+Q+T+U+W #define ACTION_2769 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2770: x<-M+N+O+Q+T+V+W #define ACTION_2770 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2771: x<-M+N+O+Q+U+V+W #define ACTION_2771 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2772: x<-M+N+P+Q+T+U+W #define ACTION_2772 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2773: x<-M+N+P+Q+T+V+W #define ACTION_2773 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2774: x<-M+N+P+Q+U+V+W #define ACTION_2774 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2775: x<-M+N+P+R+T+U+W #define ACTION_2775 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2776: x<-M+N+P+R+T+V+W #define ACTION_2776 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2777: x<-M+N+P+R+U+V+W #define ACTION_2777 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2778: x<-M+N+Q+R+T+U+W #define ACTION_2778 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2779: x<-M+N+Q+R+T+V+W #define ACTION_2779 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2780: x<-M+N+Q+R+U+V+W #define ACTION_2780 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2781: x<-M+N+Q+S+T+U+W #define ACTION_2781 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2782: x<-M+N+Q+S+T+V+W #define ACTION_2782 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2783: x<-M+N+Q+S+U+V+W #define ACTION_2783 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2784: x<-M+N+R+S+T+U+W #define ACTION_2784 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2785: x<-M+N+R+S+T+V+W #define ACTION_2785 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2786: x<-M+N+R+S+U+V+W #define ACTION_2786 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2787: x<-M+O+P+Q+T+U+W #define ACTION_2787 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2788: x<-M+O+P+Q+T+V+W #define ACTION_2788 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2789: x<-M+O+P+Q+U+V+W #define ACTION_2789 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2790: x<-M+O+P+R+T+U+W #define ACTION_2790 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2791: x<-M+O+P+R+T+V+W #define ACTION_2791 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2792: x<-M+O+P+R+U+V+W #define ACTION_2792 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2793: x<-M+O+Q+R+T+U+W #define ACTION_2793 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2794: x<-M+O+Q+R+T+V+W #define ACTION_2794 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2795: x<-M+O+Q+R+U+V+W #define ACTION_2795 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2796: x<-M+O+Q+S+T+U+W #define ACTION_2796 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2797: x<-M+O+Q+S+T+V+W #define ACTION_2797 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2798: x<-M+O+Q+S+U+V+W #define ACTION_2798 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2799: x<-M+O+R+S+T+U+W #define ACTION_2799 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2800: x<-M+O+R+S+T+V+W #define ACTION_2800 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2801: x<-M+O+R+S+U+V+W #define ACTION_2801 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2802: x<-N+O+Q+R+T+U+W #define ACTION_2802 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2803: x<-N+O+Q+R+T+V+W #define ACTION_2803 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2804: x<-N+O+Q+R+U+V+W #define ACTION_2804 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2805: x<-N+O+Q+S+T+U+W #define ACTION_2805 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2806: x<-N+O+Q+S+T+V+W #define ACTION_2806 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2807: x<-N+O+Q+S+U+V+W #define ACTION_2807 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2808: x<-N+O+R+S+T+U+W #define ACTION_2808 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2809: x<-N+O+R+S+T+V+W #define ACTION_2809 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2810: x<-N+O+R+S+U+V+W #define ACTION_2810 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2811: x<-N+P+Q+R+T+U+W #define ACTION_2811 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2812: x<-N+P+Q+R+T+V+W #define ACTION_2812 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2813: x<-N+P+Q+R+U+V+W #define ACTION_2813 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2814: x<-N+P+Q+S+T+U+W #define ACTION_2814 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2815: x<-N+P+Q+S+T+V+W #define ACTION_2815 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2816: x<-N+P+Q+S+U+V+W #define ACTION_2816 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2817: x<-N+P+R+S+T+U+W #define ACTION_2817 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2818: x<-N+P+R+S+T+V+W #define ACTION_2818 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2819: x<-N+P+R+S+U+V+W #define ACTION_2819 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2820: x<-O+P+Q+R+T+U+W #define ACTION_2820 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2821: x<-O+P+Q+R+T+V+W #define ACTION_2821 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2822: x<-O+P+Q+R+U+V+W #define ACTION_2822 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2823: x<-O+P+Q+S+T+U+W #define ACTION_2823 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2824: x<-O+P+Q+S+T+V+W #define ACTION_2824 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2825: x<-O+P+Q+S+U+V+W #define ACTION_2825 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2826: x<-O+P+R+S+T+U+W #define ACTION_2826 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2827: x<-O+P+R+S+T+V+W #define ACTION_2827 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2828: x<-O+P+R+S+U+V+W #define ACTION_2828 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; ================================================ FILE: include/labeling3D_EPDT_26c_action_def_memory.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany //Actions: // Action 0: nothing #define ACTION_0 img_labels(s, r, c) = 0;continue; // Action 1: x<-newlabel #define ACTION_1 img_labels(s, r, c) = LabelsSolver::MemNewLabel();continue; // Action 2: x<-K #define ACTION_2 img_labels(s, r, c) = img_labels(s - 1, r - 2, c - 2);continue; // Action 3: x<-L #define ACTION_3 img_labels(s, r, c) = img_labels(s - 1, r - 2, c);continue; // Action 4: x<-M #define ACTION_4 img_labels(s, r, c) = img_labels(s - 1, r - 2, c + 2);continue; // Action 5: x<-N #define ACTION_5 img_labels(s, r, c) = img_labels(s - 1, r, c - 2);continue; // Action 6: x<-O #define ACTION_6 img_labels(s, r, c) = img_labels(s - 1, r, c);continue; // Action 7: x<-P #define ACTION_7 img_labels(s, r, c) = img_labels(s - 1, r, c + 2);continue; // Action 8: x<-Q #define ACTION_8 img_labels(s, r, c) = img_labels(s - 1, r + 2, c - 2);continue; // Action 9: x<-R #define ACTION_9 img_labels(s, r, c) = img_labels(s - 1, r + 2, c);continue; // Action 10: x<-S #define ACTION_10 img_labels(s, r, c) = img_labels(s - 1, r + 2, c + 2);continue; // Action 11: x<-T #define ACTION_11 img_labels(s, r, c) = img_labels(s, r - 2, c - 2);continue; // Action 12: x<-U #define ACTION_12 img_labels(s, r, c) = img_labels(s, r - 2, c);continue; // Action 13: x<-V #define ACTION_13 img_labels(s, r, c) = img_labels(s, r - 2, c + 2);continue; // Action 14: x<-W #define ACTION_14 img_labels(s, r, c) = img_labels(s, r, c - 2);continue; // Action 15: x<-K+L #define ACTION_15 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2));continue; // Action 16: x<-K+M #define ACTION_16 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 17: x<-K+N #define ACTION_17 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 18: x<-K+O #define ACTION_18 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2));continue; // Action 19: x<-K+P #define ACTION_19 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 20: x<-K+Q #define ACTION_20 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 21: x<-K+R #define ACTION_21 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2));continue; // Action 22: x<-K+S #define ACTION_22 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 23: x<-K+T #define ACTION_23 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 24: x<-K+U #define ACTION_24 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c - 2));continue; // Action 25: x<-K+V #define ACTION_25 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 26: x<-K+W #define ACTION_26 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c - 2));continue; // Action 27: x<-L+M #define ACTION_27 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c));continue; // Action 28: x<-L+N #define ACTION_28 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c));continue; // Action 29: x<-L+O #define ACTION_29 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c));continue; // Action 30: x<-L+P #define ACTION_30 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c));continue; // Action 31: x<-L+Q #define ACTION_31 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c));continue; // Action 32: x<-L+R #define ACTION_32 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c));continue; // Action 33: x<-L+S #define ACTION_33 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c));continue; // Action 34: x<-L+T #define ACTION_34 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c));continue; // Action 35: x<-L+U #define ACTION_35 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c));continue; // Action 36: x<-L+V #define ACTION_36 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c));continue; // Action 37: x<-L+W #define ACTION_37 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c));continue; // Action 38: x<-M+N #define ACTION_38 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 39: x<-M+O #define ACTION_39 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2));continue; // Action 40: x<-M+P #define ACTION_40 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 41: x<-M+Q #define ACTION_41 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 42: x<-M+R #define ACTION_42 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2));continue; // Action 43: x<-M+S #define ACTION_43 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 44: x<-M+T #define ACTION_44 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 45: x<-M+U #define ACTION_45 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c + 2));continue; // Action 46: x<-M+V #define ACTION_46 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 47: x<-M+W #define ACTION_47 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c + 2));continue; // Action 48: x<-N+O #define ACTION_48 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2));continue; // Action 49: x<-N+P #define ACTION_49 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2));continue; // Action 50: x<-N+Q #define ACTION_50 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2));continue; // Action 51: x<-N+R #define ACTION_51 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2));continue; // Action 52: x<-N+S #define ACTION_52 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2));continue; // Action 53: x<-N+T #define ACTION_53 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2));continue; // Action 54: x<-N+U #define ACTION_54 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2));continue; // Action 55: x<-N+V #define ACTION_55 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2));continue; // Action 56: x<-N+W #define ACTION_56 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2));continue; // Action 57: x<-O+P #define ACTION_57 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c));continue; // Action 58: x<-O+Q #define ACTION_58 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c));continue; // Action 59: x<-O+R #define ACTION_59 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c));continue; // Action 60: x<-O+S #define ACTION_60 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c));continue; // Action 61: x<-O+T #define ACTION_61 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c));continue; // Action 62: x<-O+U #define ACTION_62 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c));continue; // Action 63: x<-O+V #define ACTION_63 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c));continue; // Action 64: x<-O+W #define ACTION_64 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c));continue; // Action 65: x<-P+Q #define ACTION_65 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2));continue; // Action 66: x<-P+R #define ACTION_66 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2));continue; // Action 67: x<-P+S #define ACTION_67 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2));continue; // Action 68: x<-P+T #define ACTION_68 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2));continue; // Action 69: x<-P+U #define ACTION_69 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2));continue; // Action 70: x<-P+V #define ACTION_70 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2));continue; // Action 71: x<-P+W #define ACTION_71 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2));continue; // Action 72: x<-Q+R #define ACTION_72 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2));continue; // Action 73: x<-Q+S #define ACTION_73 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2));continue; // Action 74: x<-Q+T #define ACTION_74 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2));continue; // Action 75: x<-Q+U #define ACTION_75 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2));continue; // Action 76: x<-Q+V #define ACTION_76 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2));continue; // Action 77: x<-Q+W #define ACTION_77 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2));continue; // Action 78: x<-R+S #define ACTION_78 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c));continue; // Action 79: x<-R+T #define ACTION_79 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c));continue; // Action 80: x<-R+U #define ACTION_80 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c));continue; // Action 81: x<-R+V #define ACTION_81 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c));continue; // Action 82: x<-R+W #define ACTION_82 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c));continue; // Action 83: x<-S+T #define ACTION_83 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2));continue; // Action 84: x<-S+U #define ACTION_84 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2));continue; // Action 85: x<-S+V #define ACTION_85 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2));continue; // Action 86: x<-S+W #define ACTION_86 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2));continue; // Action 87: x<-T+U #define ACTION_87 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2));continue; // Action 88: x<-T+V #define ACTION_88 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2));continue; // Action 89: x<-T+W #define ACTION_89 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2));continue; // Action 90: x<-U+V #define ACTION_90 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c));continue; // Action 91: x<-U+W #define ACTION_91 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c));continue; // Action 92: x<-V+W #define ACTION_92 img_labels(s, r, c) = LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2));continue; // Action 93: x<-K+L+N #define ACTION_93 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 94: x<-K+L+O #define ACTION_94 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 95: x<-K+L+P #define ACTION_95 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 96: x<-K+L+Q #define ACTION_96 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 97: x<-K+L+R #define ACTION_97 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 98: x<-K+L+S #define ACTION_98 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 99: x<-K+L+T #define ACTION_99 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 100: x<-K+L+U #define ACTION_100 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 101: x<-K+L+V #define ACTION_101 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 102: x<-K+L+W #define ACTION_102 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 103: x<-K+M+N #define ACTION_103 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 104: x<-K+M+O #define ACTION_104 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 105: x<-K+M+P #define ACTION_105 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 106: x<-K+M+Q #define ACTION_106 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 107: x<-K+M+R #define ACTION_107 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 108: x<-K+M+S #define ACTION_108 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 109: x<-K+M+T #define ACTION_109 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 110: x<-K+M+U #define ACTION_110 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 111: x<-K+M+V #define ACTION_111 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 112: x<-K+M+W #define ACTION_112 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 113: x<-K+N+O #define ACTION_113 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 114: x<-K+N+P #define ACTION_114 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 115: x<-K+N+R #define ACTION_115 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 116: x<-K+N+S #define ACTION_116 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 117: x<-K+N+T #define ACTION_117 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 118: x<-K+N+U #define ACTION_118 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 119: x<-K+N+V #define ACTION_119 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 120: x<-K+N+W #define ACTION_120 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 121: x<-K+O+P #define ACTION_121 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 122: x<-K+O+Q #define ACTION_122 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 123: x<-K+O+R #define ACTION_123 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 124: x<-K+O+S #define ACTION_124 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 125: x<-K+O+T #define ACTION_125 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 126: x<-K+O+U #define ACTION_126 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 127: x<-K+O+V #define ACTION_127 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 128: x<-K+O+W #define ACTION_128 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 129: x<-K+P+Q #define ACTION_129 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 130: x<-K+P+R #define ACTION_130 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 131: x<-K+P+S #define ACTION_131 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 132: x<-K+P+T #define ACTION_132 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 133: x<-K+P+U #define ACTION_133 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 134: x<-K+P+V #define ACTION_134 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 135: x<-K+P+W #define ACTION_135 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 136: x<-K+Q+R #define ACTION_136 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 137: x<-K+Q+S #define ACTION_137 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 138: x<-K+Q+T #define ACTION_138 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 139: x<-K+Q+U #define ACTION_139 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 140: x<-K+Q+V #define ACTION_140 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 141: x<-K+Q+W #define ACTION_141 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 142: x<-K+R+S #define ACTION_142 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 143: x<-K+R+T #define ACTION_143 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 144: x<-K+R+U #define ACTION_144 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 145: x<-K+R+V #define ACTION_145 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 146: x<-K+R+W #define ACTION_146 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 147: x<-K+S+T #define ACTION_147 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 148: x<-K+S+U #define ACTION_148 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 149: x<-K+S+V #define ACTION_149 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 150: x<-K+S+W #define ACTION_150 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 151: x<-K+T+U #define ACTION_151 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 152: x<-K+T+V #define ACTION_152 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 153: x<-K+T+W #define ACTION_153 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 154: x<-K+U+V #define ACTION_154 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 155: x<-K+U+W #define ACTION_155 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c - 2));continue; // Action 156: x<-K+V+W #define ACTION_156 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2));continue; // Action 157: x<-L+M+N #define ACTION_157 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 158: x<-L+M+O #define ACTION_158 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 159: x<-L+M+P #define ACTION_159 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 160: x<-L+M+Q #define ACTION_160 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 161: x<-L+M+R #define ACTION_161 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 162: x<-L+M+S #define ACTION_162 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 163: x<-L+M+T #define ACTION_163 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 164: x<-L+M+U #define ACTION_164 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 165: x<-L+M+V #define ACTION_165 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 166: x<-L+M+W #define ACTION_166 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 167: x<-L+N+O #define ACTION_167 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 168: x<-L+N+P #define ACTION_168 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 169: x<-L+N+Q #define ACTION_169 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 170: x<-L+N+R #define ACTION_170 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 171: x<-L+N+S #define ACTION_171 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 172: x<-L+N+T #define ACTION_172 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 173: x<-L+N+U #define ACTION_173 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 174: x<-L+N+V #define ACTION_174 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 175: x<-L+N+W #define ACTION_175 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 176: x<-L+O+P #define ACTION_176 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 177: x<-L+O+Q #define ACTION_177 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 178: x<-L+O+S #define ACTION_178 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 179: x<-L+O+T #define ACTION_179 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 180: x<-L+O+U #define ACTION_180 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 181: x<-L+O+V #define ACTION_181 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 182: x<-L+O+W #define ACTION_182 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c));continue; // Action 183: x<-L+P+Q #define ACTION_183 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 184: x<-L+P+R #define ACTION_184 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 185: x<-L+P+S #define ACTION_185 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 186: x<-L+P+T #define ACTION_186 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 187: x<-L+P+U #define ACTION_187 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 188: x<-L+P+V #define ACTION_188 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 189: x<-L+P+W #define ACTION_189 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 190: x<-L+Q+R #define ACTION_190 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 191: x<-L+Q+S #define ACTION_191 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 192: x<-L+Q+T #define ACTION_192 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 193: x<-L+Q+U #define ACTION_193 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 194: x<-L+Q+V #define ACTION_194 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 195: x<-L+Q+W #define ACTION_195 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 196: x<-L+R+S #define ACTION_196 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 197: x<-L+R+T #define ACTION_197 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 198: x<-L+R+U #define ACTION_198 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 199: x<-L+R+V #define ACTION_199 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 200: x<-L+R+W #define ACTION_200 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 201: x<-L+S+T #define ACTION_201 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 202: x<-L+S+U #define ACTION_202 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 203: x<-L+S+V #define ACTION_203 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 204: x<-L+S+W #define ACTION_204 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 205: x<-L+T+U #define ACTION_205 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 206: x<-L+T+V #define ACTION_206 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 207: x<-L+T+W #define ACTION_207 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c));continue; // Action 208: x<-L+U+V #define ACTION_208 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 209: x<-L+U+W #define ACTION_209 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c));continue; // Action 210: x<-L+V+W #define ACTION_210 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r - 2, c));continue; // Action 211: x<-M+N+O #define ACTION_211 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 212: x<-M+N+P #define ACTION_212 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 213: x<-M+N+Q #define ACTION_213 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 214: x<-M+N+R #define ACTION_214 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 215: x<-M+N+S #define ACTION_215 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 216: x<-M+N+T #define ACTION_216 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 217: x<-M+N+U #define ACTION_217 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 218: x<-M+N+V #define ACTION_218 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 219: x<-M+N+W #define ACTION_219 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 220: x<-M+O+P #define ACTION_220 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 221: x<-M+O+Q #define ACTION_221 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 222: x<-M+O+R #define ACTION_222 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 223: x<-M+O+S #define ACTION_223 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 224: x<-M+O+T #define ACTION_224 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 225: x<-M+O+U #define ACTION_225 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 226: x<-M+O+V #define ACTION_226 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 227: x<-M+O+W #define ACTION_227 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 228: x<-M+P+Q #define ACTION_228 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 229: x<-M+P+R #define ACTION_229 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 230: x<-M+P+T #define ACTION_230 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 231: x<-M+P+U #define ACTION_231 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 232: x<-M+P+V #define ACTION_232 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 233: x<-M+P+W #define ACTION_233 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 234: x<-M+Q+R #define ACTION_234 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 235: x<-M+Q+S #define ACTION_235 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 236: x<-M+Q+T #define ACTION_236 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 237: x<-M+Q+U #define ACTION_237 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 238: x<-M+Q+V #define ACTION_238 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 239: x<-M+Q+W #define ACTION_239 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 240: x<-M+R+S #define ACTION_240 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 241: x<-M+R+T #define ACTION_241 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 242: x<-M+R+U #define ACTION_242 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 243: x<-M+R+V #define ACTION_243 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 244: x<-M+R+W #define ACTION_244 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 245: x<-M+S+T #define ACTION_245 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 246: x<-M+S+U #define ACTION_246 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 247: x<-M+S+V #define ACTION_247 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 248: x<-M+S+W #define ACTION_248 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 249: x<-M+T+U #define ACTION_249 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 250: x<-M+T+V #define ACTION_250 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 251: x<-M+T+W #define ACTION_251 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 252: x<-M+U+V #define ACTION_252 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 253: x<-M+U+W #define ACTION_253 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r - 2, c + 2));continue; // Action 254: x<-M+V+W #define ACTION_254 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r - 2, c + 2));continue; // Action 255: x<-N+O+Q #define ACTION_255 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 256: x<-N+O+R #define ACTION_256 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 257: x<-N+O+S #define ACTION_257 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 258: x<-N+O+T #define ACTION_258 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 259: x<-N+O+U #define ACTION_259 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 260: x<-N+O+V #define ACTION_260 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 261: x<-N+O+W #define ACTION_261 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2));continue; // Action 262: x<-N+P+Q #define ACTION_262 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 263: x<-N+P+R #define ACTION_263 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 264: x<-N+P+S #define ACTION_264 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 265: x<-N+P+T #define ACTION_265 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 266: x<-N+P+U #define ACTION_266 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 267: x<-N+P+V #define ACTION_267 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 268: x<-N+P+W #define ACTION_268 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 269: x<-N+Q+R #define ACTION_269 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 270: x<-N+Q+S #define ACTION_270 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 271: x<-N+Q+T #define ACTION_271 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 272: x<-N+Q+U #define ACTION_272 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 273: x<-N+Q+V #define ACTION_273 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 274: x<-N+Q+W #define ACTION_274 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 275: x<-N+R+S #define ACTION_275 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 276: x<-N+R+T #define ACTION_276 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 277: x<-N+R+U #define ACTION_277 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 278: x<-N+R+V #define ACTION_278 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 279: x<-N+R+W #define ACTION_279 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 280: x<-N+S+T #define ACTION_280 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 281: x<-N+S+U #define ACTION_281 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 282: x<-N+S+V #define ACTION_282 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 283: x<-N+S+W #define ACTION_283 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 284: x<-N+T+U #define ACTION_284 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 285: x<-N+T+V #define ACTION_285 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 286: x<-N+T+W #define ACTION_286 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2));continue; // Action 287: x<-N+U+V #define ACTION_287 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 288: x<-N+U+W #define ACTION_288 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2));continue; // Action 289: x<-N+V+W #define ACTION_289 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c - 2));continue; // Action 290: x<-O+P+Q #define ACTION_290 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 291: x<-O+P+R #define ACTION_291 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 292: x<-O+P+S #define ACTION_292 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 293: x<-O+P+T #define ACTION_293 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 294: x<-O+P+U #define ACTION_294 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 295: x<-O+P+V #define ACTION_295 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 296: x<-O+P+W #define ACTION_296 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c));continue; // Action 297: x<-O+Q+R #define ACTION_297 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 298: x<-O+Q+S #define ACTION_298 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 299: x<-O+Q+T #define ACTION_299 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 300: x<-O+Q+U #define ACTION_300 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 301: x<-O+Q+V #define ACTION_301 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 302: x<-O+Q+W #define ACTION_302 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 303: x<-O+R+S #define ACTION_303 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c));continue; // Action 304: x<-O+R+T #define ACTION_304 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c));continue; // Action 305: x<-O+R+U #define ACTION_305 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c));continue; // Action 306: x<-O+R+V #define ACTION_306 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c));continue; // Action 307: x<-O+R+W #define ACTION_307 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c));continue; // Action 308: x<-O+S+T #define ACTION_308 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c));continue; // Action 309: x<-O+S+U #define ACTION_309 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c));continue; // Action 310: x<-O+S+V #define ACTION_310 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c));continue; // Action 311: x<-O+S+W #define ACTION_311 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c));continue; // Action 312: x<-O+T+U #define ACTION_312 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 313: x<-O+T+V #define ACTION_313 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 314: x<-O+T+W #define ACTION_314 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c));continue; // Action 315: x<-O+U+V #define ACTION_315 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c));continue; // Action 316: x<-O+U+W #define ACTION_316 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c));continue; // Action 317: x<-O+V+W #define ACTION_317 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c));continue; // Action 318: x<-P+Q+R #define ACTION_318 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 319: x<-P+Q+S #define ACTION_319 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 320: x<-P+Q+T #define ACTION_320 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 321: x<-P+Q+U #define ACTION_321 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 322: x<-P+Q+V #define ACTION_322 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 323: x<-P+Q+W #define ACTION_323 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 324: x<-P+R+S #define ACTION_324 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 325: x<-P+R+T #define ACTION_325 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 326: x<-P+R+U #define ACTION_326 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 327: x<-P+R+V #define ACTION_327 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 328: x<-P+R+W #define ACTION_328 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 329: x<-P+S+T #define ACTION_329 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2));continue; // Action 330: x<-P+S+U #define ACTION_330 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2));continue; // Action 331: x<-P+S+V #define ACTION_331 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2));continue; // Action 332: x<-P+S+W #define ACTION_332 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2));continue; // Action 333: x<-P+T+U #define ACTION_333 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 334: x<-P+T+V #define ACTION_334 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 335: x<-P+T+W #define ACTION_335 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2));continue; // Action 336: x<-P+U+V #define ACTION_336 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 337: x<-P+U+W #define ACTION_337 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2));continue; // Action 338: x<-P+V+W #define ACTION_338 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2));continue; // Action 339: x<-Q+R+T #define ACTION_339 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 340: x<-Q+R+U #define ACTION_340 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 341: x<-Q+R+V #define ACTION_341 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 342: x<-Q+R+W #define ACTION_342 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 343: x<-Q+S+T #define ACTION_343 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 344: x<-Q+S+U #define ACTION_344 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 345: x<-Q+S+V #define ACTION_345 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 346: x<-Q+S+W #define ACTION_346 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 347: x<-Q+T+U #define ACTION_347 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 348: x<-Q+T+V #define ACTION_348 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 349: x<-Q+T+W #define ACTION_349 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 350: x<-Q+U+V #define ACTION_350 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 351: x<-Q+U+W #define ACTION_351 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2));continue; // Action 352: x<-Q+V+W #define ACTION_352 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2));continue; // Action 353: x<-R+S+T #define ACTION_353 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c));continue; // Action 354: x<-R+S+U #define ACTION_354 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c));continue; // Action 355: x<-R+S+V #define ACTION_355 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c));continue; // Action 356: x<-R+S+W #define ACTION_356 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c));continue; // Action 357: x<-R+T+U #define ACTION_357 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c));continue; // Action 358: x<-R+T+V #define ACTION_358 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c));continue; // Action 359: x<-R+T+W #define ACTION_359 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c));continue; // Action 360: x<-R+U+V #define ACTION_360 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c));continue; // Action 361: x<-R+U+W #define ACTION_361 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c));continue; // Action 362: x<-R+V+W #define ACTION_362 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c));continue; // Action 363: x<-S+T+U #define ACTION_363 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2));continue; // Action 364: x<-S+T+V #define ACTION_364 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2));continue; // Action 365: x<-S+T+W #define ACTION_365 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2));continue; // Action 366: x<-S+U+V #define ACTION_366 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2));continue; // Action 367: x<-S+U+W #define ACTION_367 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2));continue; // Action 368: x<-S+V+W #define ACTION_368 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2));continue; // Action 369: x<-T+U+W #define ACTION_369 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2));continue; // Action 370: x<-T+V+W #define ACTION_370 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2));continue; // Action 371: x<-U+V+W #define ACTION_371 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c));continue; // Action 372: x<-K+L+N+O #define ACTION_372 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 373: x<-K+L+N+P #define ACTION_373 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 374: x<-K+L+N+R #define ACTION_374 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 375: x<-K+L+N+S #define ACTION_375 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 376: x<-K+L+N+T #define ACTION_376 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 377: x<-K+L+N+U #define ACTION_377 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 378: x<-K+L+N+V #define ACTION_378 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 379: x<-K+L+N+W #define ACTION_379 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 380: x<-K+L+O+P #define ACTION_380 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 381: x<-K+L+O+Q #define ACTION_381 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 382: x<-K+L+O+S #define ACTION_382 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 383: x<-K+L+O+T #define ACTION_383 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 384: x<-K+L+O+U #define ACTION_384 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 385: x<-K+L+O+V #define ACTION_385 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 386: x<-K+L+O+W #define ACTION_386 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 387: x<-K+L+P+Q #define ACTION_387 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 388: x<-K+L+P+R #define ACTION_388 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 389: x<-K+L+P+T #define ACTION_389 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 390: x<-K+L+P+U #define ACTION_390 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 391: x<-K+L+P+V #define ACTION_391 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 392: x<-K+L+P+W #define ACTION_392 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 393: x<-K+L+Q+R #define ACTION_393 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 394: x<-K+L+Q+S #define ACTION_394 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 395: x<-K+L+Q+T #define ACTION_395 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 396: x<-K+L+Q+U #define ACTION_396 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 397: x<-K+L+Q+V #define ACTION_397 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 398: x<-K+L+Q+W #define ACTION_398 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 399: x<-K+L+R+S #define ACTION_399 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 400: x<-K+L+R+T #define ACTION_400 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 401: x<-K+L+R+U #define ACTION_401 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 402: x<-K+L+R+V #define ACTION_402 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 403: x<-K+L+R+W #define ACTION_403 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 404: x<-K+L+S+T #define ACTION_404 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 405: x<-K+L+S+U #define ACTION_405 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 406: x<-K+L+S+V #define ACTION_406 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 407: x<-K+L+S+W #define ACTION_407 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 408: x<-K+L+T+U #define ACTION_408 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 409: x<-K+L+T+V #define ACTION_409 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 410: x<-K+L+T+W #define ACTION_410 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 411: x<-K+L+U+V #define ACTION_411 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 412: x<-K+L+U+W #define ACTION_412 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 413: x<-K+L+V+W #define ACTION_413 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 414: x<-K+M+N+O #define ACTION_414 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 415: x<-K+M+N+P #define ACTION_415 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 416: x<-K+M+N+R #define ACTION_416 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 417: x<-K+M+N+S #define ACTION_417 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 418: x<-K+M+N+T #define ACTION_418 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 419: x<-K+M+N+U #define ACTION_419 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 420: x<-K+M+N+V #define ACTION_420 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 421: x<-K+M+N+W #define ACTION_421 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 422: x<-K+M+O+P #define ACTION_422 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 423: x<-K+M+O+Q #define ACTION_423 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 424: x<-K+M+O+S #define ACTION_424 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 425: x<-K+M+O+T #define ACTION_425 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 426: x<-K+M+O+U #define ACTION_426 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 427: x<-K+M+O+V #define ACTION_427 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 428: x<-K+M+O+W #define ACTION_428 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 429: x<-K+M+P+Q #define ACTION_429 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 430: x<-K+M+P+R #define ACTION_430 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 431: x<-K+M+P+T #define ACTION_431 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 432: x<-K+M+P+U #define ACTION_432 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 433: x<-K+M+P+V #define ACTION_433 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 434: x<-K+M+P+W #define ACTION_434 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 435: x<-K+M+Q+R #define ACTION_435 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 436: x<-K+M+Q+S #define ACTION_436 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 437: x<-K+M+Q+T #define ACTION_437 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 438: x<-K+M+Q+U #define ACTION_438 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 439: x<-K+M+Q+V #define ACTION_439 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 440: x<-K+M+Q+W #define ACTION_440 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 441: x<-K+M+R+S #define ACTION_441 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 442: x<-K+M+R+T #define ACTION_442 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 443: x<-K+M+R+U #define ACTION_443 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 444: x<-K+M+R+V #define ACTION_444 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 445: x<-K+M+R+W #define ACTION_445 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 446: x<-K+M+S+T #define ACTION_446 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 447: x<-K+M+S+U #define ACTION_447 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 448: x<-K+M+S+V #define ACTION_448 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 449: x<-K+M+S+W #define ACTION_449 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 450: x<-K+M+T+U #define ACTION_450 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 451: x<-K+M+T+V #define ACTION_451 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 452: x<-K+M+T+W #define ACTION_452 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 453: x<-K+M+U+V #define ACTION_453 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 454: x<-K+M+U+W #define ACTION_454 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 455: x<-K+M+V+W #define ACTION_455 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 456: x<-K+N+O+R #define ACTION_456 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 457: x<-K+N+O+S #define ACTION_457 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 458: x<-K+N+O+T #define ACTION_458 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 459: x<-K+N+O+U #define ACTION_459 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 460: x<-K+N+O+V #define ACTION_460 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 461: x<-K+N+O+W #define ACTION_461 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 462: x<-K+N+P+R #define ACTION_462 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 463: x<-K+N+P+S #define ACTION_463 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 464: x<-K+N+P+T #define ACTION_464 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 465: x<-K+N+P+U #define ACTION_465 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 466: x<-K+N+P+V #define ACTION_466 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 467: x<-K+N+P+W #define ACTION_467 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 468: x<-K+N+R+T #define ACTION_468 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 469: x<-K+N+R+U #define ACTION_469 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 470: x<-K+N+R+V #define ACTION_470 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 471: x<-K+N+R+W #define ACTION_471 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 472: x<-K+N+S+T #define ACTION_472 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 473: x<-K+N+S+U #define ACTION_473 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 474: x<-K+N+S+V #define ACTION_474 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 475: x<-K+N+S+W #define ACTION_475 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 476: x<-K+N+T+U #define ACTION_476 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 477: x<-K+N+T+V #define ACTION_477 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 478: x<-K+N+T+W #define ACTION_478 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 479: x<-K+N+U+V #define ACTION_479 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 480: x<-K+N+U+W #define ACTION_480 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 481: x<-K+N+V+W #define ACTION_481 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 482: x<-K+O+P+S #define ACTION_482 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 483: x<-K+O+P+T #define ACTION_483 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 484: x<-K+O+P+U #define ACTION_484 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 485: x<-K+O+P+V #define ACTION_485 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 486: x<-K+O+P+W #define ACTION_486 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 487: x<-K+O+Q+R #define ACTION_487 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 488: x<-K+O+Q+S #define ACTION_488 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 489: x<-K+O+Q+T #define ACTION_489 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 490: x<-K+O+Q+U #define ACTION_490 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 491: x<-K+O+Q+V #define ACTION_491 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 492: x<-K+O+Q+W #define ACTION_492 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 493: x<-K+O+R+S #define ACTION_493 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 494: x<-K+O+R+T #define ACTION_494 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 495: x<-K+O+R+U #define ACTION_495 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 496: x<-K+O+R+V #define ACTION_496 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 497: x<-K+O+R+W #define ACTION_497 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 498: x<-K+O+S+T #define ACTION_498 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 499: x<-K+O+S+U #define ACTION_499 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 500: x<-K+O+S+V #define ACTION_500 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 501: x<-K+O+S+W #define ACTION_501 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 502: x<-K+O+T+U #define ACTION_502 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 503: x<-K+O+T+V #define ACTION_503 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 504: x<-K+O+T+W #define ACTION_504 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 505: x<-K+O+U+V #define ACTION_505 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 506: x<-K+O+U+W #define ACTION_506 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 507: x<-K+O+V+W #define ACTION_507 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 508: x<-K+P+Q+R #define ACTION_508 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 509: x<-K+P+Q+S #define ACTION_509 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 510: x<-K+P+Q+T #define ACTION_510 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 511: x<-K+P+Q+U #define ACTION_511 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 512: x<-K+P+Q+V #define ACTION_512 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 513: x<-K+P+Q+W #define ACTION_513 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 514: x<-K+P+R+S #define ACTION_514 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 515: x<-K+P+R+T #define ACTION_515 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 516: x<-K+P+R+U #define ACTION_516 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 517: x<-K+P+R+V #define ACTION_517 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 518: x<-K+P+R+W #define ACTION_518 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 519: x<-K+P+S+T #define ACTION_519 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 520: x<-K+P+S+U #define ACTION_520 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 521: x<-K+P+S+V #define ACTION_521 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 522: x<-K+P+S+W #define ACTION_522 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 523: x<-K+P+T+U #define ACTION_523 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 524: x<-K+P+T+V #define ACTION_524 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 525: x<-K+P+T+W #define ACTION_525 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 526: x<-K+P+U+V #define ACTION_526 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 527: x<-K+P+U+W #define ACTION_527 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 528: x<-K+P+V+W #define ACTION_528 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 529: x<-K+Q+R+T #define ACTION_529 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 530: x<-K+Q+R+U #define ACTION_530 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 531: x<-K+Q+R+V #define ACTION_531 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 532: x<-K+Q+R+W #define ACTION_532 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 533: x<-K+Q+S+T #define ACTION_533 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 534: x<-K+Q+S+U #define ACTION_534 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 535: x<-K+Q+S+V #define ACTION_535 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 536: x<-K+Q+S+W #define ACTION_536 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 537: x<-K+Q+T+U #define ACTION_537 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 538: x<-K+Q+T+V #define ACTION_538 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 539: x<-K+Q+T+W #define ACTION_539 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 540: x<-K+Q+U+V #define ACTION_540 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 541: x<-K+Q+U+W #define ACTION_541 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 542: x<-K+Q+V+W #define ACTION_542 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 543: x<-K+R+S+T #define ACTION_543 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 544: x<-K+R+S+U #define ACTION_544 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 545: x<-K+R+S+V #define ACTION_545 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 546: x<-K+R+S+W #define ACTION_546 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 547: x<-K+R+T+U #define ACTION_547 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 548: x<-K+R+T+V #define ACTION_548 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 549: x<-K+R+T+W #define ACTION_549 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 550: x<-K+R+U+V #define ACTION_550 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 551: x<-K+R+U+W #define ACTION_551 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 552: x<-K+R+V+W #define ACTION_552 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 553: x<-K+S+T+U #define ACTION_553 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 554: x<-K+S+T+V #define ACTION_554 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 555: x<-K+S+T+W #define ACTION_555 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 556: x<-K+S+U+V #define ACTION_556 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 557: x<-K+S+U+W #define ACTION_557 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 558: x<-K+S+V+W #define ACTION_558 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 559: x<-K+T+U+W #define ACTION_559 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 560: x<-K+T+V+W #define ACTION_560 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 561: x<-K+U+V+W #define ACTION_561 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 562: x<-L+M+N+O #define ACTION_562 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 563: x<-L+M+N+P #define ACTION_563 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 564: x<-L+M+N+R #define ACTION_564 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 565: x<-L+M+N+S #define ACTION_565 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 566: x<-L+M+N+T #define ACTION_566 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 567: x<-L+M+N+U #define ACTION_567 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 568: x<-L+M+N+V #define ACTION_568 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 569: x<-L+M+N+W #define ACTION_569 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 570: x<-L+M+O+P #define ACTION_570 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 571: x<-L+M+O+Q #define ACTION_571 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 572: x<-L+M+O+S #define ACTION_572 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 573: x<-L+M+O+T #define ACTION_573 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 574: x<-L+M+O+U #define ACTION_574 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 575: x<-L+M+O+V #define ACTION_575 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 576: x<-L+M+O+W #define ACTION_576 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 577: x<-L+M+P+Q #define ACTION_577 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 578: x<-L+M+P+R #define ACTION_578 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 579: x<-L+M+P+T #define ACTION_579 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 580: x<-L+M+P+U #define ACTION_580 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 581: x<-L+M+P+V #define ACTION_581 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 582: x<-L+M+P+W #define ACTION_582 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 583: x<-L+M+Q+R #define ACTION_583 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 584: x<-L+M+Q+S #define ACTION_584 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 585: x<-L+M+Q+T #define ACTION_585 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 586: x<-L+M+Q+U #define ACTION_586 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 587: x<-L+M+Q+V #define ACTION_587 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 588: x<-L+M+Q+W #define ACTION_588 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 589: x<-L+M+R+S #define ACTION_589 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 590: x<-L+M+R+T #define ACTION_590 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 591: x<-L+M+R+U #define ACTION_591 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 592: x<-L+M+R+V #define ACTION_592 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 593: x<-L+M+R+W #define ACTION_593 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 594: x<-L+M+S+T #define ACTION_594 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 595: x<-L+M+S+U #define ACTION_595 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 596: x<-L+M+S+V #define ACTION_596 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 597: x<-L+M+S+W #define ACTION_597 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 598: x<-L+M+T+U #define ACTION_598 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 599: x<-L+M+T+V #define ACTION_599 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 600: x<-L+M+T+W #define ACTION_600 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 601: x<-L+M+U+V #define ACTION_601 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 602: x<-L+M+U+W #define ACTION_602 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 603: x<-L+M+V+W #define ACTION_603 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 604: x<-L+N+O+Q #define ACTION_604 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 605: x<-L+N+O+T #define ACTION_605 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 606: x<-L+N+O+U #define ACTION_606 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 607: x<-L+N+O+V #define ACTION_607 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 608: x<-L+N+O+W #define ACTION_608 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 609: x<-L+N+P+Q #define ACTION_609 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 610: x<-L+N+P+R #define ACTION_610 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 611: x<-L+N+P+S #define ACTION_611 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 612: x<-L+N+P+T #define ACTION_612 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 613: x<-L+N+P+U #define ACTION_613 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 614: x<-L+N+P+V #define ACTION_614 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 615: x<-L+N+P+W #define ACTION_615 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 616: x<-L+N+Q+R #define ACTION_616 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 617: x<-L+N+Q+S #define ACTION_617 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 618: x<-L+N+Q+T #define ACTION_618 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 619: x<-L+N+Q+U #define ACTION_619 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 620: x<-L+N+Q+V #define ACTION_620 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 621: x<-L+N+Q+W #define ACTION_621 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 622: x<-L+N+R+S #define ACTION_622 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 623: x<-L+N+R+T #define ACTION_623 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 624: x<-L+N+R+U #define ACTION_624 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 625: x<-L+N+R+V #define ACTION_625 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 626: x<-L+N+R+W #define ACTION_626 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 627: x<-L+N+S+T #define ACTION_627 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 628: x<-L+N+S+U #define ACTION_628 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 629: x<-L+N+S+V #define ACTION_629 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 630: x<-L+N+S+W #define ACTION_630 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 631: x<-L+N+T+U #define ACTION_631 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 632: x<-L+N+T+V #define ACTION_632 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 633: x<-L+N+T+W #define ACTION_633 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 634: x<-L+N+U+V #define ACTION_634 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 635: x<-L+N+U+W #define ACTION_635 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 636: x<-L+N+V+W #define ACTION_636 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 637: x<-L+O+P+S #define ACTION_637 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 638: x<-L+O+P+T #define ACTION_638 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 639: x<-L+O+P+U #define ACTION_639 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 640: x<-L+O+P+V #define ACTION_640 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 641: x<-L+O+P+W #define ACTION_641 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 642: x<-L+O+Q+T #define ACTION_642 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 643: x<-L+O+Q+U #define ACTION_643 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 644: x<-L+O+Q+V #define ACTION_644 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 645: x<-L+O+Q+W #define ACTION_645 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 646: x<-L+O+S+T #define ACTION_646 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 647: x<-L+O+S+U #define ACTION_647 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 648: x<-L+O+S+V #define ACTION_648 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 649: x<-L+O+S+W #define ACTION_649 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 650: x<-L+O+T+U #define ACTION_650 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 651: x<-L+O+T+V #define ACTION_651 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 652: x<-L+O+T+W #define ACTION_652 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 653: x<-L+O+U+V #define ACTION_653 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 654: x<-L+O+U+W #define ACTION_654 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 655: x<-L+O+V+W #define ACTION_655 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 656: x<-L+P+Q+R #define ACTION_656 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 657: x<-L+P+Q+S #define ACTION_657 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 658: x<-L+P+Q+T #define ACTION_658 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 659: x<-L+P+Q+U #define ACTION_659 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 660: x<-L+P+Q+V #define ACTION_660 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 661: x<-L+P+Q+W #define ACTION_661 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 662: x<-L+P+R+S #define ACTION_662 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 663: x<-L+P+R+T #define ACTION_663 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 664: x<-L+P+R+U #define ACTION_664 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 665: x<-L+P+R+V #define ACTION_665 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 666: x<-L+P+R+W #define ACTION_666 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 667: x<-L+P+S+T #define ACTION_667 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 668: x<-L+P+S+U #define ACTION_668 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 669: x<-L+P+S+V #define ACTION_669 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 670: x<-L+P+S+W #define ACTION_670 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 671: x<-L+P+T+U #define ACTION_671 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 672: x<-L+P+T+V #define ACTION_672 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 673: x<-L+P+T+W #define ACTION_673 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 674: x<-L+P+U+V #define ACTION_674 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 675: x<-L+P+U+W #define ACTION_675 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 676: x<-L+P+V+W #define ACTION_676 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 677: x<-L+Q+R+T #define ACTION_677 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 678: x<-L+Q+R+U #define ACTION_678 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 679: x<-L+Q+R+V #define ACTION_679 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 680: x<-L+Q+R+W #define ACTION_680 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 681: x<-L+Q+S+T #define ACTION_681 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 682: x<-L+Q+S+U #define ACTION_682 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 683: x<-L+Q+S+V #define ACTION_683 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 684: x<-L+Q+S+W #define ACTION_684 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 685: x<-L+Q+T+U #define ACTION_685 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 686: x<-L+Q+T+V #define ACTION_686 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 687: x<-L+Q+T+W #define ACTION_687 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 688: x<-L+Q+U+V #define ACTION_688 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 689: x<-L+Q+U+W #define ACTION_689 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 690: x<-L+Q+V+W #define ACTION_690 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 691: x<-L+R+S+T #define ACTION_691 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 692: x<-L+R+S+U #define ACTION_692 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 693: x<-L+R+S+V #define ACTION_693 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 694: x<-L+R+S+W #define ACTION_694 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 695: x<-L+R+T+U #define ACTION_695 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 696: x<-L+R+T+V #define ACTION_696 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 697: x<-L+R+T+W #define ACTION_697 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 698: x<-L+R+U+V #define ACTION_698 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 699: x<-L+R+U+W #define ACTION_699 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 700: x<-L+R+V+W #define ACTION_700 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 701: x<-L+S+T+U #define ACTION_701 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 702: x<-L+S+T+V #define ACTION_702 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 703: x<-L+S+T+W #define ACTION_703 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 704: x<-L+S+U+V #define ACTION_704 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 705: x<-L+S+U+W #define ACTION_705 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 706: x<-L+S+V+W #define ACTION_706 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 707: x<-L+T+U+W #define ACTION_707 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 708: x<-L+T+V+W #define ACTION_708 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 709: x<-L+U+V+W #define ACTION_709 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 710: x<-M+N+O+Q #define ACTION_710 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 711: x<-M+N+O+T #define ACTION_711 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 712: x<-M+N+O+U #define ACTION_712 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 713: x<-M+N+O+V #define ACTION_713 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 714: x<-M+N+O+W #define ACTION_714 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 715: x<-M+N+P+Q #define ACTION_715 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 716: x<-M+N+P+R #define ACTION_716 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 717: x<-M+N+P+T #define ACTION_717 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 718: x<-M+N+P+U #define ACTION_718 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 719: x<-M+N+P+V #define ACTION_719 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 720: x<-M+N+P+W #define ACTION_720 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 721: x<-M+N+Q+R #define ACTION_721 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 722: x<-M+N+Q+S #define ACTION_722 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 723: x<-M+N+Q+T #define ACTION_723 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 724: x<-M+N+Q+U #define ACTION_724 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 725: x<-M+N+Q+V #define ACTION_725 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 726: x<-M+N+Q+W #define ACTION_726 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 727: x<-M+N+R+S #define ACTION_727 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 728: x<-M+N+R+T #define ACTION_728 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 729: x<-M+N+R+U #define ACTION_729 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 730: x<-M+N+R+V #define ACTION_730 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 731: x<-M+N+R+W #define ACTION_731 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 732: x<-M+N+S+T #define ACTION_732 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 733: x<-M+N+S+U #define ACTION_733 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 734: x<-M+N+S+V #define ACTION_734 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 735: x<-M+N+S+W #define ACTION_735 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 736: x<-M+N+T+U #define ACTION_736 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 737: x<-M+N+T+V #define ACTION_737 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 738: x<-M+N+T+W #define ACTION_738 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 739: x<-M+N+U+V #define ACTION_739 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 740: x<-M+N+U+W #define ACTION_740 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 741: x<-M+N+V+W #define ACTION_741 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 742: x<-M+O+P+Q #define ACTION_742 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 743: x<-M+O+P+R #define ACTION_743 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 744: x<-M+O+P+T #define ACTION_744 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 745: x<-M+O+P+U #define ACTION_745 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 746: x<-M+O+P+V #define ACTION_746 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 747: x<-M+O+P+W #define ACTION_747 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 748: x<-M+O+Q+R #define ACTION_748 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 749: x<-M+O+Q+S #define ACTION_749 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 750: x<-M+O+Q+T #define ACTION_750 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 751: x<-M+O+Q+U #define ACTION_751 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 752: x<-M+O+Q+V #define ACTION_752 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 753: x<-M+O+Q+W #define ACTION_753 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 754: x<-M+O+R+S #define ACTION_754 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 755: x<-M+O+R+T #define ACTION_755 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 756: x<-M+O+R+U #define ACTION_756 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 757: x<-M+O+R+V #define ACTION_757 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 758: x<-M+O+R+W #define ACTION_758 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 759: x<-M+O+S+T #define ACTION_759 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 760: x<-M+O+S+U #define ACTION_760 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 761: x<-M+O+S+V #define ACTION_761 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 762: x<-M+O+S+W #define ACTION_762 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 763: x<-M+O+T+U #define ACTION_763 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 764: x<-M+O+T+V #define ACTION_764 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 765: x<-M+O+T+W #define ACTION_765 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 766: x<-M+O+U+V #define ACTION_766 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 767: x<-M+O+U+W #define ACTION_767 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 768: x<-M+O+V+W #define ACTION_768 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 769: x<-M+P+Q+T #define ACTION_769 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 770: x<-M+P+Q+U #define ACTION_770 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 771: x<-M+P+Q+V #define ACTION_771 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 772: x<-M+P+Q+W #define ACTION_772 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 773: x<-M+P+R+T #define ACTION_773 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 774: x<-M+P+R+U #define ACTION_774 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 775: x<-M+P+R+V #define ACTION_775 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 776: x<-M+P+R+W #define ACTION_776 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 777: x<-M+P+T+U #define ACTION_777 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 778: x<-M+P+T+V #define ACTION_778 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 779: x<-M+P+T+W #define ACTION_779 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 780: x<-M+P+U+V #define ACTION_780 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 781: x<-M+P+U+W #define ACTION_781 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 782: x<-M+P+V+W #define ACTION_782 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 783: x<-M+Q+R+T #define ACTION_783 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 784: x<-M+Q+R+U #define ACTION_784 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 785: x<-M+Q+R+V #define ACTION_785 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 786: x<-M+Q+R+W #define ACTION_786 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 787: x<-M+Q+S+T #define ACTION_787 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 788: x<-M+Q+S+U #define ACTION_788 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 789: x<-M+Q+S+V #define ACTION_789 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 790: x<-M+Q+S+W #define ACTION_790 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 791: x<-M+Q+T+U #define ACTION_791 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 792: x<-M+Q+T+V #define ACTION_792 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 793: x<-M+Q+T+W #define ACTION_793 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 794: x<-M+Q+U+V #define ACTION_794 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 795: x<-M+Q+U+W #define ACTION_795 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 796: x<-M+Q+V+W #define ACTION_796 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 797: x<-M+R+S+T #define ACTION_797 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 798: x<-M+R+S+U #define ACTION_798 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 799: x<-M+R+S+V #define ACTION_799 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 800: x<-M+R+S+W #define ACTION_800 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 801: x<-M+R+T+U #define ACTION_801 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 802: x<-M+R+T+V #define ACTION_802 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 803: x<-M+R+T+W #define ACTION_803 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 804: x<-M+R+U+V #define ACTION_804 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 805: x<-M+R+U+W #define ACTION_805 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 806: x<-M+R+V+W #define ACTION_806 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 807: x<-M+S+T+U #define ACTION_807 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 808: x<-M+S+T+V #define ACTION_808 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 809: x<-M+S+T+W #define ACTION_809 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 810: x<-M+S+U+V #define ACTION_810 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 811: x<-M+S+U+W #define ACTION_811 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 812: x<-M+S+V+W #define ACTION_812 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 813: x<-M+T+U+W #define ACTION_813 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 814: x<-M+T+V+W #define ACTION_814 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 815: x<-M+U+V+W #define ACTION_815 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 816: x<-N+O+Q+R #define ACTION_816 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 817: x<-N+O+Q+S #define ACTION_817 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 818: x<-N+O+Q+T #define ACTION_818 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 819: x<-N+O+Q+U #define ACTION_819 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 820: x<-N+O+Q+V #define ACTION_820 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 821: x<-N+O+Q+W #define ACTION_821 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 822: x<-N+O+R+S #define ACTION_822 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 823: x<-N+O+R+T #define ACTION_823 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 824: x<-N+O+R+U #define ACTION_824 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 825: x<-N+O+R+V #define ACTION_825 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 826: x<-N+O+R+W #define ACTION_826 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 827: x<-N+O+S+T #define ACTION_827 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 828: x<-N+O+S+U #define ACTION_828 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 829: x<-N+O+S+V #define ACTION_829 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 830: x<-N+O+S+W #define ACTION_830 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 831: x<-N+O+T+U #define ACTION_831 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 832: x<-N+O+T+V #define ACTION_832 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 833: x<-N+O+T+W #define ACTION_833 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 834: x<-N+O+U+V #define ACTION_834 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 835: x<-N+O+U+W #define ACTION_835 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 836: x<-N+O+V+W #define ACTION_836 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 837: x<-N+P+Q+R #define ACTION_837 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 838: x<-N+P+Q+S #define ACTION_838 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 839: x<-N+P+Q+T #define ACTION_839 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 840: x<-N+P+Q+U #define ACTION_840 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 841: x<-N+P+Q+V #define ACTION_841 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 842: x<-N+P+Q+W #define ACTION_842 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 843: x<-N+P+R+S #define ACTION_843 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 844: x<-N+P+R+T #define ACTION_844 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 845: x<-N+P+R+U #define ACTION_845 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 846: x<-N+P+R+V #define ACTION_846 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 847: x<-N+P+R+W #define ACTION_847 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 848: x<-N+P+S+T #define ACTION_848 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 849: x<-N+P+S+U #define ACTION_849 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 850: x<-N+P+S+V #define ACTION_850 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 851: x<-N+P+S+W #define ACTION_851 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 852: x<-N+P+T+U #define ACTION_852 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 853: x<-N+P+T+V #define ACTION_853 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 854: x<-N+P+T+W #define ACTION_854 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 855: x<-N+P+U+V #define ACTION_855 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 856: x<-N+P+U+W #define ACTION_856 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 857: x<-N+P+V+W #define ACTION_857 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 858: x<-N+Q+R+T #define ACTION_858 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 859: x<-N+Q+R+U #define ACTION_859 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 860: x<-N+Q+R+V #define ACTION_860 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 861: x<-N+Q+R+W #define ACTION_861 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 862: x<-N+Q+S+T #define ACTION_862 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 863: x<-N+Q+S+U #define ACTION_863 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 864: x<-N+Q+S+V #define ACTION_864 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 865: x<-N+Q+S+W #define ACTION_865 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 866: x<-N+Q+T+U #define ACTION_866 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 867: x<-N+Q+T+V #define ACTION_867 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 868: x<-N+Q+T+W #define ACTION_868 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 869: x<-N+Q+U+V #define ACTION_869 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 870: x<-N+Q+U+W #define ACTION_870 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 871: x<-N+Q+V+W #define ACTION_871 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 872: x<-N+R+S+T #define ACTION_872 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 873: x<-N+R+S+U #define ACTION_873 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 874: x<-N+R+S+V #define ACTION_874 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 875: x<-N+R+S+W #define ACTION_875 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 876: x<-N+R+T+U #define ACTION_876 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 877: x<-N+R+T+V #define ACTION_877 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 878: x<-N+R+T+W #define ACTION_878 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 879: x<-N+R+U+V #define ACTION_879 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 880: x<-N+R+U+W #define ACTION_880 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 881: x<-N+R+V+W #define ACTION_881 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 882: x<-N+S+T+U #define ACTION_882 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 883: x<-N+S+T+V #define ACTION_883 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 884: x<-N+S+T+W #define ACTION_884 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 885: x<-N+S+U+V #define ACTION_885 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 886: x<-N+S+U+W #define ACTION_886 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 887: x<-N+S+V+W #define ACTION_887 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 888: x<-N+T+U+W #define ACTION_888 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 889: x<-N+T+V+W #define ACTION_889 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 890: x<-N+U+V+W #define ACTION_890 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 891: x<-O+P+Q+R #define ACTION_891 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 892: x<-O+P+Q+S #define ACTION_892 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 893: x<-O+P+Q+T #define ACTION_893 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 894: x<-O+P+Q+U #define ACTION_894 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 895: x<-O+P+Q+V #define ACTION_895 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 896: x<-O+P+Q+W #define ACTION_896 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 897: x<-O+P+R+S #define ACTION_897 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 898: x<-O+P+R+T #define ACTION_898 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 899: x<-O+P+R+U #define ACTION_899 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 900: x<-O+P+R+V #define ACTION_900 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 901: x<-O+P+R+W #define ACTION_901 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 902: x<-O+P+S+T #define ACTION_902 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 903: x<-O+P+S+U #define ACTION_903 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 904: x<-O+P+S+V #define ACTION_904 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 905: x<-O+P+S+W #define ACTION_905 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 906: x<-O+P+T+U #define ACTION_906 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 907: x<-O+P+T+V #define ACTION_907 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 908: x<-O+P+T+W #define ACTION_908 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 909: x<-O+P+U+V #define ACTION_909 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 910: x<-O+P+U+W #define ACTION_910 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 911: x<-O+P+V+W #define ACTION_911 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 912: x<-O+Q+R+T #define ACTION_912 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 913: x<-O+Q+R+U #define ACTION_913 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 914: x<-O+Q+R+V #define ACTION_914 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 915: x<-O+Q+R+W #define ACTION_915 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 916: x<-O+Q+S+T #define ACTION_916 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 917: x<-O+Q+S+U #define ACTION_917 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 918: x<-O+Q+S+V #define ACTION_918 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 919: x<-O+Q+S+W #define ACTION_919 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 920: x<-O+Q+T+U #define ACTION_920 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 921: x<-O+Q+T+V #define ACTION_921 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 922: x<-O+Q+T+W #define ACTION_922 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 923: x<-O+Q+U+V #define ACTION_923 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 924: x<-O+Q+U+W #define ACTION_924 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 925: x<-O+Q+V+W #define ACTION_925 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 926: x<-O+R+S+T #define ACTION_926 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 927: x<-O+R+S+U #define ACTION_927 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 928: x<-O+R+S+V #define ACTION_928 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 929: x<-O+R+S+W #define ACTION_929 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 930: x<-O+R+T+U #define ACTION_930 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 931: x<-O+R+T+V #define ACTION_931 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 932: x<-O+R+T+W #define ACTION_932 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 933: x<-O+R+U+V #define ACTION_933 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 934: x<-O+R+U+W #define ACTION_934 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 935: x<-O+R+V+W #define ACTION_935 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 936: x<-O+S+T+U #define ACTION_936 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 937: x<-O+S+T+V #define ACTION_937 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 938: x<-O+S+T+W #define ACTION_938 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 939: x<-O+S+U+V #define ACTION_939 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 940: x<-O+S+U+W #define ACTION_940 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 941: x<-O+S+V+W #define ACTION_941 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 942: x<-O+T+U+W #define ACTION_942 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 943: x<-O+T+V+W #define ACTION_943 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 944: x<-O+U+V+W #define ACTION_944 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)));continue; // Action 945: x<-P+Q+R+T #define ACTION_945 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 946: x<-P+Q+R+U #define ACTION_946 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 947: x<-P+Q+R+V #define ACTION_947 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 948: x<-P+Q+R+W #define ACTION_948 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 949: x<-P+Q+S+T #define ACTION_949 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 950: x<-P+Q+S+U #define ACTION_950 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 951: x<-P+Q+S+V #define ACTION_951 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 952: x<-P+Q+S+W #define ACTION_952 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 953: x<-P+Q+T+U #define ACTION_953 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 954: x<-P+Q+T+V #define ACTION_954 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 955: x<-P+Q+T+W #define ACTION_955 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 956: x<-P+Q+U+V #define ACTION_956 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 957: x<-P+Q+U+W #define ACTION_957 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 958: x<-P+Q+V+W #define ACTION_958 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 959: x<-P+R+S+T #define ACTION_959 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 960: x<-P+R+S+U #define ACTION_960 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 961: x<-P+R+S+V #define ACTION_961 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 962: x<-P+R+S+W #define ACTION_962 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 963: x<-P+R+T+U #define ACTION_963 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 964: x<-P+R+T+V #define ACTION_964 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 965: x<-P+R+T+W #define ACTION_965 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 966: x<-P+R+U+V #define ACTION_966 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 967: x<-P+R+U+W #define ACTION_967 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 968: x<-P+R+V+W #define ACTION_968 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 969: x<-P+S+T+U #define ACTION_969 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 970: x<-P+S+T+V #define ACTION_970 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 971: x<-P+S+T+W #define ACTION_971 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 972: x<-P+S+U+V #define ACTION_972 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 973: x<-P+S+U+W #define ACTION_973 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 974: x<-P+S+V+W #define ACTION_974 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 975: x<-P+T+U+W #define ACTION_975 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 976: x<-P+T+V+W #define ACTION_976 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 977: x<-P+U+V+W #define ACTION_977 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 978: x<-Q+R+T+U #define ACTION_978 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 979: x<-Q+R+T+V #define ACTION_979 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 980: x<-Q+R+T+W #define ACTION_980 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 981: x<-Q+R+U+V #define ACTION_981 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 982: x<-Q+R+U+W #define ACTION_982 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 983: x<-Q+R+V+W #define ACTION_983 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 984: x<-Q+S+T+U #define ACTION_984 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 985: x<-Q+S+T+V #define ACTION_985 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 986: x<-Q+S+T+W #define ACTION_986 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 987: x<-Q+S+U+V #define ACTION_987 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 988: x<-Q+S+U+W #define ACTION_988 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 989: x<-Q+S+V+W #define ACTION_989 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 990: x<-Q+T+U+W #define ACTION_990 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 991: x<-Q+T+V+W #define ACTION_991 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 992: x<-Q+U+V+W #define ACTION_992 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 993: x<-R+S+T+U #define ACTION_993 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 994: x<-R+S+T+V #define ACTION_994 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 995: x<-R+S+T+W #define ACTION_995 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 996: x<-R+S+U+V #define ACTION_996 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 997: x<-R+S+U+W #define ACTION_997 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 998: x<-R+S+V+W #define ACTION_998 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 999: x<-R+T+U+W #define ACTION_999 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)));continue; // Action 1000: x<-R+T+V+W #define ACTION_1000 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)));continue; // Action 1001: x<-R+U+V+W #define ACTION_1001 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)));continue; // Action 1002: x<-S+T+U+W #define ACTION_1002 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)));continue; // Action 1003: x<-S+T+V+W #define ACTION_1003 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)));continue; // Action 1004: x<-S+U+V+W #define ACTION_1004 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)));continue; // Action 1005: x<-K+L+N+O+T #define ACTION_1005 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1006: x<-K+L+N+O+U #define ACTION_1006 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1007: x<-K+L+N+O+V #define ACTION_1007 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1008: x<-K+L+N+O+W #define ACTION_1008 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1009: x<-K+L+N+P+T #define ACTION_1009 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1010: x<-K+L+N+P+U #define ACTION_1010 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1011: x<-K+L+N+P+V #define ACTION_1011 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1012: x<-K+L+N+P+W #define ACTION_1012 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1013: x<-K+L+N+R+T #define ACTION_1013 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1014: x<-K+L+N+R+U #define ACTION_1014 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1015: x<-K+L+N+R+V #define ACTION_1015 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1016: x<-K+L+N+R+W #define ACTION_1016 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1017: x<-K+L+N+S+T #define ACTION_1017 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1018: x<-K+L+N+S+U #define ACTION_1018 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1019: x<-K+L+N+S+V #define ACTION_1019 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1020: x<-K+L+N+S+W #define ACTION_1020 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1021: x<-K+L+N+T+U #define ACTION_1021 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1022: x<-K+L+N+T+V #define ACTION_1022 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1023: x<-K+L+N+T+W #define ACTION_1023 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1024: x<-K+L+N+U+V #define ACTION_1024 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1025: x<-K+L+N+U+W #define ACTION_1025 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1026: x<-K+L+N+V+W #define ACTION_1026 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1027: x<-K+L+O+P+T #define ACTION_1027 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1028: x<-K+L+O+P+U #define ACTION_1028 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1029: x<-K+L+O+P+V #define ACTION_1029 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1030: x<-K+L+O+P+W #define ACTION_1030 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1031: x<-K+L+O+Q+T #define ACTION_1031 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1032: x<-K+L+O+Q+U #define ACTION_1032 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1033: x<-K+L+O+Q+V #define ACTION_1033 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1034: x<-K+L+O+Q+W #define ACTION_1034 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1035: x<-K+L+O+S+T #define ACTION_1035 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1036: x<-K+L+O+S+U #define ACTION_1036 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1037: x<-K+L+O+S+V #define ACTION_1037 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1038: x<-K+L+O+S+W #define ACTION_1038 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1039: x<-K+L+O+T+U #define ACTION_1039 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1040: x<-K+L+O+T+V #define ACTION_1040 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1041: x<-K+L+O+T+W #define ACTION_1041 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1042: x<-K+L+O+U+V #define ACTION_1042 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1043: x<-K+L+O+U+W #define ACTION_1043 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1044: x<-K+L+O+V+W #define ACTION_1044 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1045: x<-K+L+P+Q+T #define ACTION_1045 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1046: x<-K+L+P+Q+U #define ACTION_1046 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1047: x<-K+L+P+Q+V #define ACTION_1047 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1048: x<-K+L+P+Q+W #define ACTION_1048 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1049: x<-K+L+P+R+T #define ACTION_1049 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1050: x<-K+L+P+R+U #define ACTION_1050 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1051: x<-K+L+P+R+V #define ACTION_1051 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1052: x<-K+L+P+R+W #define ACTION_1052 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1053: x<-K+L+P+T+U #define ACTION_1053 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1054: x<-K+L+P+T+V #define ACTION_1054 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1055: x<-K+L+P+T+W #define ACTION_1055 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1056: x<-K+L+P+U+V #define ACTION_1056 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1057: x<-K+L+P+U+W #define ACTION_1057 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1058: x<-K+L+P+V+W #define ACTION_1058 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1059: x<-K+L+Q+R+T #define ACTION_1059 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1060: x<-K+L+Q+R+U #define ACTION_1060 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1061: x<-K+L+Q+R+V #define ACTION_1061 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1062: x<-K+L+Q+R+W #define ACTION_1062 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1063: x<-K+L+Q+S+T #define ACTION_1063 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1064: x<-K+L+Q+S+U #define ACTION_1064 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1065: x<-K+L+Q+S+V #define ACTION_1065 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1066: x<-K+L+Q+S+W #define ACTION_1066 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1067: x<-K+L+Q+T+U #define ACTION_1067 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1068: x<-K+L+Q+T+V #define ACTION_1068 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1069: x<-K+L+Q+T+W #define ACTION_1069 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1070: x<-K+L+Q+U+V #define ACTION_1070 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1071: x<-K+L+Q+U+W #define ACTION_1071 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1072: x<-K+L+Q+V+W #define ACTION_1072 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1073: x<-K+L+R+S+T #define ACTION_1073 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1074: x<-K+L+R+S+U #define ACTION_1074 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1075: x<-K+L+R+S+V #define ACTION_1075 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1076: x<-K+L+R+S+W #define ACTION_1076 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1077: x<-K+L+R+T+U #define ACTION_1077 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1078: x<-K+L+R+T+V #define ACTION_1078 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1079: x<-K+L+R+T+W #define ACTION_1079 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1080: x<-K+L+R+U+V #define ACTION_1080 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1081: x<-K+L+R+U+W #define ACTION_1081 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1082: x<-K+L+R+V+W #define ACTION_1082 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1083: x<-K+L+S+T+U #define ACTION_1083 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1084: x<-K+L+S+T+V #define ACTION_1084 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1085: x<-K+L+S+T+W #define ACTION_1085 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1086: x<-K+L+S+U+V #define ACTION_1086 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1087: x<-K+L+S+U+W #define ACTION_1087 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1088: x<-K+L+S+V+W #define ACTION_1088 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1089: x<-K+L+T+U+W #define ACTION_1089 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1090: x<-K+L+T+V+W #define ACTION_1090 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1091: x<-K+L+U+V+W #define ACTION_1091 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1092: x<-K+M+N+O+T #define ACTION_1092 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1093: x<-K+M+N+O+U #define ACTION_1093 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1094: x<-K+M+N+O+V #define ACTION_1094 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1095: x<-K+M+N+O+W #define ACTION_1095 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1096: x<-K+M+N+P+T #define ACTION_1096 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1097: x<-K+M+N+P+U #define ACTION_1097 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1098: x<-K+M+N+P+V #define ACTION_1098 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1099: x<-K+M+N+P+W #define ACTION_1099 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1100: x<-K+M+N+R+T #define ACTION_1100 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1101: x<-K+M+N+R+U #define ACTION_1101 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1102: x<-K+M+N+R+V #define ACTION_1102 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1103: x<-K+M+N+R+W #define ACTION_1103 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1104: x<-K+M+N+S+T #define ACTION_1104 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1105: x<-K+M+N+S+U #define ACTION_1105 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1106: x<-K+M+N+S+V #define ACTION_1106 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1107: x<-K+M+N+S+W #define ACTION_1107 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1108: x<-K+M+N+T+U #define ACTION_1108 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1109: x<-K+M+N+T+V #define ACTION_1109 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1110: x<-K+M+N+T+W #define ACTION_1110 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1111: x<-K+M+N+U+V #define ACTION_1111 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1112: x<-K+M+N+U+W #define ACTION_1112 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1113: x<-K+M+N+V+W #define ACTION_1113 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1114: x<-K+M+O+P+T #define ACTION_1114 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1115: x<-K+M+O+P+U #define ACTION_1115 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1116: x<-K+M+O+P+V #define ACTION_1116 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1117: x<-K+M+O+P+W #define ACTION_1117 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1118: x<-K+M+O+Q+T #define ACTION_1118 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1119: x<-K+M+O+Q+U #define ACTION_1119 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1120: x<-K+M+O+Q+V #define ACTION_1120 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1121: x<-K+M+O+Q+W #define ACTION_1121 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1122: x<-K+M+O+S+T #define ACTION_1122 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1123: x<-K+M+O+S+U #define ACTION_1123 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1124: x<-K+M+O+S+V #define ACTION_1124 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1125: x<-K+M+O+S+W #define ACTION_1125 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1126: x<-K+M+O+T+U #define ACTION_1126 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1127: x<-K+M+O+T+V #define ACTION_1127 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1128: x<-K+M+O+T+W #define ACTION_1128 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1129: x<-K+M+O+U+V #define ACTION_1129 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1130: x<-K+M+O+U+W #define ACTION_1130 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1131: x<-K+M+O+V+W #define ACTION_1131 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1132: x<-K+M+P+Q+T #define ACTION_1132 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1133: x<-K+M+P+Q+U #define ACTION_1133 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1134: x<-K+M+P+Q+V #define ACTION_1134 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1135: x<-K+M+P+Q+W #define ACTION_1135 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1136: x<-K+M+P+R+T #define ACTION_1136 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1137: x<-K+M+P+R+U #define ACTION_1137 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1138: x<-K+M+P+R+V #define ACTION_1138 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1139: x<-K+M+P+R+W #define ACTION_1139 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1140: x<-K+M+P+T+U #define ACTION_1140 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1141: x<-K+M+P+T+V #define ACTION_1141 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1142: x<-K+M+P+T+W #define ACTION_1142 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1143: x<-K+M+P+U+V #define ACTION_1143 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1144: x<-K+M+P+U+W #define ACTION_1144 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1145: x<-K+M+P+V+W #define ACTION_1145 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1146: x<-K+M+Q+R+T #define ACTION_1146 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1147: x<-K+M+Q+R+U #define ACTION_1147 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1148: x<-K+M+Q+R+V #define ACTION_1148 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1149: x<-K+M+Q+R+W #define ACTION_1149 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1150: x<-K+M+Q+S+T #define ACTION_1150 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1151: x<-K+M+Q+S+U #define ACTION_1151 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1152: x<-K+M+Q+S+V #define ACTION_1152 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1153: x<-K+M+Q+S+W #define ACTION_1153 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1154: x<-K+M+Q+T+U #define ACTION_1154 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1155: x<-K+M+Q+T+V #define ACTION_1155 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1156: x<-K+M+Q+T+W #define ACTION_1156 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1157: x<-K+M+Q+U+V #define ACTION_1157 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1158: x<-K+M+Q+U+W #define ACTION_1158 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1159: x<-K+M+Q+V+W #define ACTION_1159 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1160: x<-K+M+R+S+T #define ACTION_1160 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1161: x<-K+M+R+S+U #define ACTION_1161 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1162: x<-K+M+R+S+V #define ACTION_1162 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1163: x<-K+M+R+S+W #define ACTION_1163 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1164: x<-K+M+R+T+U #define ACTION_1164 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1165: x<-K+M+R+T+V #define ACTION_1165 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1166: x<-K+M+R+T+W #define ACTION_1166 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1167: x<-K+M+R+U+V #define ACTION_1167 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1168: x<-K+M+R+U+W #define ACTION_1168 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1169: x<-K+M+R+V+W #define ACTION_1169 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1170: x<-K+M+S+T+U #define ACTION_1170 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1171: x<-K+M+S+T+V #define ACTION_1171 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1172: x<-K+M+S+T+W #define ACTION_1172 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1173: x<-K+M+S+U+V #define ACTION_1173 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1174: x<-K+M+S+U+W #define ACTION_1174 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1175: x<-K+M+S+V+W #define ACTION_1175 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1176: x<-K+M+T+U+W #define ACTION_1176 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1177: x<-K+M+T+V+W #define ACTION_1177 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1178: x<-K+M+U+V+W #define ACTION_1178 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1179: x<-K+N+O+R+T #define ACTION_1179 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1180: x<-K+N+O+R+U #define ACTION_1180 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1181: x<-K+N+O+R+V #define ACTION_1181 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1182: x<-K+N+O+R+W #define ACTION_1182 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1183: x<-K+N+O+S+T #define ACTION_1183 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1184: x<-K+N+O+S+U #define ACTION_1184 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1185: x<-K+N+O+S+V #define ACTION_1185 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1186: x<-K+N+O+S+W #define ACTION_1186 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1187: x<-K+N+O+T+U #define ACTION_1187 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1188: x<-K+N+O+T+V #define ACTION_1188 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1189: x<-K+N+O+T+W #define ACTION_1189 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1190: x<-K+N+O+U+V #define ACTION_1190 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1191: x<-K+N+O+U+W #define ACTION_1191 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1192: x<-K+N+O+V+W #define ACTION_1192 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1193: x<-K+N+P+R+T #define ACTION_1193 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1194: x<-K+N+P+R+U #define ACTION_1194 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1195: x<-K+N+P+R+V #define ACTION_1195 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1196: x<-K+N+P+R+W #define ACTION_1196 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1197: x<-K+N+P+S+T #define ACTION_1197 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1198: x<-K+N+P+S+U #define ACTION_1198 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1199: x<-K+N+P+S+V #define ACTION_1199 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1200: x<-K+N+P+S+W #define ACTION_1200 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1201: x<-K+N+P+T+U #define ACTION_1201 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1202: x<-K+N+P+T+V #define ACTION_1202 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1203: x<-K+N+P+T+W #define ACTION_1203 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1204: x<-K+N+P+U+V #define ACTION_1204 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1205: x<-K+N+P+U+W #define ACTION_1205 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1206: x<-K+N+P+V+W #define ACTION_1206 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1207: x<-K+N+R+T+U #define ACTION_1207 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1208: x<-K+N+R+T+V #define ACTION_1208 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1209: x<-K+N+R+T+W #define ACTION_1209 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1210: x<-K+N+R+U+V #define ACTION_1210 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1211: x<-K+N+R+U+W #define ACTION_1211 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1212: x<-K+N+R+V+W #define ACTION_1212 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1213: x<-K+N+S+T+U #define ACTION_1213 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1214: x<-K+N+S+T+V #define ACTION_1214 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1215: x<-K+N+S+T+W #define ACTION_1215 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1216: x<-K+N+S+U+V #define ACTION_1216 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1217: x<-K+N+S+U+W #define ACTION_1217 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1218: x<-K+N+S+V+W #define ACTION_1218 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1219: x<-K+N+T+U+W #define ACTION_1219 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1220: x<-K+N+T+V+W #define ACTION_1220 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1221: x<-K+N+U+V+W #define ACTION_1221 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1222: x<-K+O+P+S+T #define ACTION_1222 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1223: x<-K+O+P+S+U #define ACTION_1223 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1224: x<-K+O+P+S+V #define ACTION_1224 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1225: x<-K+O+P+S+W #define ACTION_1225 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1226: x<-K+O+P+T+U #define ACTION_1226 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1227: x<-K+O+P+T+V #define ACTION_1227 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1228: x<-K+O+P+T+W #define ACTION_1228 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1229: x<-K+O+P+U+V #define ACTION_1229 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1230: x<-K+O+P+U+W #define ACTION_1230 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1231: x<-K+O+P+V+W #define ACTION_1231 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1232: x<-K+O+Q+R+T #define ACTION_1232 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1233: x<-K+O+Q+R+U #define ACTION_1233 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1234: x<-K+O+Q+R+V #define ACTION_1234 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1235: x<-K+O+Q+R+W #define ACTION_1235 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1236: x<-K+O+Q+S+T #define ACTION_1236 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1237: x<-K+O+Q+S+U #define ACTION_1237 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1238: x<-K+O+Q+S+V #define ACTION_1238 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1239: x<-K+O+Q+S+W #define ACTION_1239 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1240: x<-K+O+Q+T+U #define ACTION_1240 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1241: x<-K+O+Q+T+V #define ACTION_1241 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1242: x<-K+O+Q+T+W #define ACTION_1242 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1243: x<-K+O+Q+U+V #define ACTION_1243 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1244: x<-K+O+Q+U+W #define ACTION_1244 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1245: x<-K+O+Q+V+W #define ACTION_1245 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1246: x<-K+O+R+S+T #define ACTION_1246 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1247: x<-K+O+R+S+U #define ACTION_1247 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1248: x<-K+O+R+S+V #define ACTION_1248 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1249: x<-K+O+R+S+W #define ACTION_1249 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1250: x<-K+O+R+T+U #define ACTION_1250 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1251: x<-K+O+R+T+V #define ACTION_1251 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1252: x<-K+O+R+T+W #define ACTION_1252 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1253: x<-K+O+R+U+V #define ACTION_1253 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1254: x<-K+O+R+U+W #define ACTION_1254 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1255: x<-K+O+R+V+W #define ACTION_1255 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1256: x<-K+O+S+T+U #define ACTION_1256 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1257: x<-K+O+S+T+V #define ACTION_1257 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1258: x<-K+O+S+T+W #define ACTION_1258 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1259: x<-K+O+S+U+V #define ACTION_1259 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1260: x<-K+O+S+U+W #define ACTION_1260 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1261: x<-K+O+S+V+W #define ACTION_1261 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1262: x<-K+O+T+U+W #define ACTION_1262 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1263: x<-K+O+T+V+W #define ACTION_1263 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1264: x<-K+O+U+V+W #define ACTION_1264 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1265: x<-K+P+Q+R+T #define ACTION_1265 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1266: x<-K+P+Q+R+U #define ACTION_1266 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1267: x<-K+P+Q+R+V #define ACTION_1267 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1268: x<-K+P+Q+R+W #define ACTION_1268 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1269: x<-K+P+Q+S+T #define ACTION_1269 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1270: x<-K+P+Q+S+U #define ACTION_1270 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1271: x<-K+P+Q+S+V #define ACTION_1271 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1272: x<-K+P+Q+S+W #define ACTION_1272 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1273: x<-K+P+Q+T+U #define ACTION_1273 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1274: x<-K+P+Q+T+V #define ACTION_1274 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1275: x<-K+P+Q+T+W #define ACTION_1275 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1276: x<-K+P+Q+U+V #define ACTION_1276 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1277: x<-K+P+Q+U+W #define ACTION_1277 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1278: x<-K+P+Q+V+W #define ACTION_1278 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1279: x<-K+P+R+S+T #define ACTION_1279 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1280: x<-K+P+R+S+U #define ACTION_1280 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1281: x<-K+P+R+S+V #define ACTION_1281 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1282: x<-K+P+R+S+W #define ACTION_1282 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1283: x<-K+P+R+T+U #define ACTION_1283 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1284: x<-K+P+R+T+V #define ACTION_1284 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1285: x<-K+P+R+T+W #define ACTION_1285 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1286: x<-K+P+R+U+V #define ACTION_1286 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1287: x<-K+P+R+U+W #define ACTION_1287 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1288: x<-K+P+R+V+W #define ACTION_1288 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1289: x<-K+P+S+T+U #define ACTION_1289 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1290: x<-K+P+S+T+V #define ACTION_1290 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1291: x<-K+P+S+T+W #define ACTION_1291 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1292: x<-K+P+S+U+V #define ACTION_1292 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1293: x<-K+P+S+U+W #define ACTION_1293 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1294: x<-K+P+S+V+W #define ACTION_1294 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1295: x<-K+P+T+U+W #define ACTION_1295 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1296: x<-K+P+T+V+W #define ACTION_1296 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1297: x<-K+P+U+V+W #define ACTION_1297 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1298: x<-K+Q+R+T+U #define ACTION_1298 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1299: x<-K+Q+R+T+V #define ACTION_1299 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1300: x<-K+Q+R+T+W #define ACTION_1300 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1301: x<-K+Q+R+U+V #define ACTION_1301 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1302: x<-K+Q+R+U+W #define ACTION_1302 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1303: x<-K+Q+R+V+W #define ACTION_1303 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1304: x<-K+Q+S+T+U #define ACTION_1304 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1305: x<-K+Q+S+T+V #define ACTION_1305 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1306: x<-K+Q+S+T+W #define ACTION_1306 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1307: x<-K+Q+S+U+V #define ACTION_1307 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1308: x<-K+Q+S+U+W #define ACTION_1308 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1309: x<-K+Q+S+V+W #define ACTION_1309 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1310: x<-K+Q+T+U+W #define ACTION_1310 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1311: x<-K+Q+T+V+W #define ACTION_1311 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1312: x<-K+Q+U+V+W #define ACTION_1312 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1313: x<-K+R+S+T+U #define ACTION_1313 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1314: x<-K+R+S+T+V #define ACTION_1314 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1315: x<-K+R+S+T+W #define ACTION_1315 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1316: x<-K+R+S+U+V #define ACTION_1316 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1317: x<-K+R+S+U+W #define ACTION_1317 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1318: x<-K+R+S+V+W #define ACTION_1318 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1319: x<-K+R+T+U+W #define ACTION_1319 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1320: x<-K+R+T+V+W #define ACTION_1320 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1321: x<-K+R+U+V+W #define ACTION_1321 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1322: x<-K+S+T+U+W #define ACTION_1322 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1323: x<-K+S+T+V+W #define ACTION_1323 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1324: x<-K+S+U+V+W #define ACTION_1324 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1325: x<-L+M+N+O+T #define ACTION_1325 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1326: x<-L+M+N+O+U #define ACTION_1326 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1327: x<-L+M+N+O+V #define ACTION_1327 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1328: x<-L+M+N+O+W #define ACTION_1328 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1329: x<-L+M+N+P+T #define ACTION_1329 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1330: x<-L+M+N+P+U #define ACTION_1330 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1331: x<-L+M+N+P+V #define ACTION_1331 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1332: x<-L+M+N+P+W #define ACTION_1332 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1333: x<-L+M+N+R+T #define ACTION_1333 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1334: x<-L+M+N+R+U #define ACTION_1334 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1335: x<-L+M+N+R+V #define ACTION_1335 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1336: x<-L+M+N+R+W #define ACTION_1336 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1337: x<-L+M+N+S+T #define ACTION_1337 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1338: x<-L+M+N+S+U #define ACTION_1338 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1339: x<-L+M+N+S+V #define ACTION_1339 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1340: x<-L+M+N+S+W #define ACTION_1340 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1341: x<-L+M+N+T+U #define ACTION_1341 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1342: x<-L+M+N+T+V #define ACTION_1342 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1343: x<-L+M+N+T+W #define ACTION_1343 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1344: x<-L+M+N+U+V #define ACTION_1344 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1345: x<-L+M+N+U+W #define ACTION_1345 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1346: x<-L+M+N+V+W #define ACTION_1346 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1347: x<-L+M+O+P+T #define ACTION_1347 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1348: x<-L+M+O+P+U #define ACTION_1348 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1349: x<-L+M+O+P+V #define ACTION_1349 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1350: x<-L+M+O+P+W #define ACTION_1350 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1351: x<-L+M+O+Q+T #define ACTION_1351 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1352: x<-L+M+O+Q+U #define ACTION_1352 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1353: x<-L+M+O+Q+V #define ACTION_1353 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1354: x<-L+M+O+Q+W #define ACTION_1354 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1355: x<-L+M+O+S+T #define ACTION_1355 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1356: x<-L+M+O+S+U #define ACTION_1356 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1357: x<-L+M+O+S+V #define ACTION_1357 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1358: x<-L+M+O+S+W #define ACTION_1358 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1359: x<-L+M+O+T+U #define ACTION_1359 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1360: x<-L+M+O+T+V #define ACTION_1360 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1361: x<-L+M+O+T+W #define ACTION_1361 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1362: x<-L+M+O+U+V #define ACTION_1362 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1363: x<-L+M+O+U+W #define ACTION_1363 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1364: x<-L+M+O+V+W #define ACTION_1364 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1365: x<-L+M+P+Q+T #define ACTION_1365 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1366: x<-L+M+P+Q+U #define ACTION_1366 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1367: x<-L+M+P+Q+V #define ACTION_1367 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1368: x<-L+M+P+Q+W #define ACTION_1368 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1369: x<-L+M+P+R+T #define ACTION_1369 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1370: x<-L+M+P+R+U #define ACTION_1370 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1371: x<-L+M+P+R+V #define ACTION_1371 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1372: x<-L+M+P+R+W #define ACTION_1372 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1373: x<-L+M+P+T+U #define ACTION_1373 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1374: x<-L+M+P+T+V #define ACTION_1374 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1375: x<-L+M+P+T+W #define ACTION_1375 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1376: x<-L+M+P+U+V #define ACTION_1376 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1377: x<-L+M+P+U+W #define ACTION_1377 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1378: x<-L+M+P+V+W #define ACTION_1378 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1379: x<-L+M+Q+R+T #define ACTION_1379 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1380: x<-L+M+Q+R+U #define ACTION_1380 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1381: x<-L+M+Q+R+V #define ACTION_1381 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1382: x<-L+M+Q+R+W #define ACTION_1382 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1383: x<-L+M+Q+S+T #define ACTION_1383 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1384: x<-L+M+Q+S+U #define ACTION_1384 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1385: x<-L+M+Q+S+V #define ACTION_1385 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1386: x<-L+M+Q+S+W #define ACTION_1386 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1387: x<-L+M+Q+T+U #define ACTION_1387 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1388: x<-L+M+Q+T+V #define ACTION_1388 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1389: x<-L+M+Q+T+W #define ACTION_1389 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1390: x<-L+M+Q+U+V #define ACTION_1390 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1391: x<-L+M+Q+U+W #define ACTION_1391 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1392: x<-L+M+Q+V+W #define ACTION_1392 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1393: x<-L+M+R+S+T #define ACTION_1393 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1394: x<-L+M+R+S+U #define ACTION_1394 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1395: x<-L+M+R+S+V #define ACTION_1395 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1396: x<-L+M+R+S+W #define ACTION_1396 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1397: x<-L+M+R+T+U #define ACTION_1397 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1398: x<-L+M+R+T+V #define ACTION_1398 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1399: x<-L+M+R+T+W #define ACTION_1399 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1400: x<-L+M+R+U+V #define ACTION_1400 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1401: x<-L+M+R+U+W #define ACTION_1401 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1402: x<-L+M+R+V+W #define ACTION_1402 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1403: x<-L+M+S+T+U #define ACTION_1403 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1404: x<-L+M+S+T+V #define ACTION_1404 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1405: x<-L+M+S+T+W #define ACTION_1405 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1406: x<-L+M+S+U+V #define ACTION_1406 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1407: x<-L+M+S+U+W #define ACTION_1407 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1408: x<-L+M+S+V+W #define ACTION_1408 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1409: x<-L+M+T+U+W #define ACTION_1409 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1410: x<-L+M+T+V+W #define ACTION_1410 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1411: x<-L+M+U+V+W #define ACTION_1411 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r - 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1412: x<-L+N+O+Q+T #define ACTION_1412 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1413: x<-L+N+O+Q+U #define ACTION_1413 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1414: x<-L+N+O+Q+V #define ACTION_1414 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1415: x<-L+N+O+Q+W #define ACTION_1415 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1416: x<-L+N+O+T+U #define ACTION_1416 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1417: x<-L+N+O+T+V #define ACTION_1417 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1418: x<-L+N+O+T+W #define ACTION_1418 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1419: x<-L+N+O+U+V #define ACTION_1419 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1420: x<-L+N+O+U+W #define ACTION_1420 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1421: x<-L+N+O+V+W #define ACTION_1421 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1422: x<-L+N+P+Q+T #define ACTION_1422 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1423: x<-L+N+P+Q+U #define ACTION_1423 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1424: x<-L+N+P+Q+V #define ACTION_1424 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1425: x<-L+N+P+Q+W #define ACTION_1425 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1426: x<-L+N+P+R+T #define ACTION_1426 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1427: x<-L+N+P+R+U #define ACTION_1427 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1428: x<-L+N+P+R+V #define ACTION_1428 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1429: x<-L+N+P+R+W #define ACTION_1429 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1430: x<-L+N+P+S+T #define ACTION_1430 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1431: x<-L+N+P+S+U #define ACTION_1431 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1432: x<-L+N+P+S+V #define ACTION_1432 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1433: x<-L+N+P+S+W #define ACTION_1433 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1434: x<-L+N+P+T+U #define ACTION_1434 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1435: x<-L+N+P+T+V #define ACTION_1435 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1436: x<-L+N+P+T+W #define ACTION_1436 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1437: x<-L+N+P+U+V #define ACTION_1437 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1438: x<-L+N+P+U+W #define ACTION_1438 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1439: x<-L+N+P+V+W #define ACTION_1439 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1440: x<-L+N+Q+R+T #define ACTION_1440 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1441: x<-L+N+Q+R+U #define ACTION_1441 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1442: x<-L+N+Q+R+V #define ACTION_1442 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1443: x<-L+N+Q+R+W #define ACTION_1443 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1444: x<-L+N+Q+S+T #define ACTION_1444 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1445: x<-L+N+Q+S+U #define ACTION_1445 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1446: x<-L+N+Q+S+V #define ACTION_1446 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1447: x<-L+N+Q+S+W #define ACTION_1447 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1448: x<-L+N+Q+T+U #define ACTION_1448 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1449: x<-L+N+Q+T+V #define ACTION_1449 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1450: x<-L+N+Q+T+W #define ACTION_1450 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1451: x<-L+N+Q+U+V #define ACTION_1451 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1452: x<-L+N+Q+U+W #define ACTION_1452 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1453: x<-L+N+Q+V+W #define ACTION_1453 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1454: x<-L+N+R+S+T #define ACTION_1454 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1455: x<-L+N+R+S+U #define ACTION_1455 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1456: x<-L+N+R+S+V #define ACTION_1456 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1457: x<-L+N+R+S+W #define ACTION_1457 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1458: x<-L+N+R+T+U #define ACTION_1458 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1459: x<-L+N+R+T+V #define ACTION_1459 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1460: x<-L+N+R+T+W #define ACTION_1460 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1461: x<-L+N+R+U+V #define ACTION_1461 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1462: x<-L+N+R+U+W #define ACTION_1462 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1463: x<-L+N+R+V+W #define ACTION_1463 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1464: x<-L+N+S+T+U #define ACTION_1464 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1465: x<-L+N+S+T+V #define ACTION_1465 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1466: x<-L+N+S+T+W #define ACTION_1466 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1467: x<-L+N+S+U+V #define ACTION_1467 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1468: x<-L+N+S+U+W #define ACTION_1468 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1469: x<-L+N+S+V+W #define ACTION_1469 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1470: x<-L+N+T+U+W #define ACTION_1470 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1471: x<-L+N+T+V+W #define ACTION_1471 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1472: x<-L+N+U+V+W #define ACTION_1472 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1473: x<-L+O+P+S+T #define ACTION_1473 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1474: x<-L+O+P+S+U #define ACTION_1474 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1475: x<-L+O+P+S+V #define ACTION_1475 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1476: x<-L+O+P+S+W #define ACTION_1476 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1477: x<-L+O+P+T+U #define ACTION_1477 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1478: x<-L+O+P+T+V #define ACTION_1478 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1479: x<-L+O+P+T+W #define ACTION_1479 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1480: x<-L+O+P+U+V #define ACTION_1480 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1481: x<-L+O+P+U+W #define ACTION_1481 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1482: x<-L+O+P+V+W #define ACTION_1482 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1483: x<-L+O+Q+T+U #define ACTION_1483 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1484: x<-L+O+Q+T+V #define ACTION_1484 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1485: x<-L+O+Q+T+W #define ACTION_1485 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1486: x<-L+O+Q+U+V #define ACTION_1486 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1487: x<-L+O+Q+U+W #define ACTION_1487 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1488: x<-L+O+Q+V+W #define ACTION_1488 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1489: x<-L+O+S+T+U #define ACTION_1489 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1490: x<-L+O+S+T+V #define ACTION_1490 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1491: x<-L+O+S+T+W #define ACTION_1491 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1492: x<-L+O+S+U+V #define ACTION_1492 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1493: x<-L+O+S+U+W #define ACTION_1493 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1494: x<-L+O+S+V+W #define ACTION_1494 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1495: x<-L+O+T+U+W #define ACTION_1495 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1496: x<-L+O+T+V+W #define ACTION_1496 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1497: x<-L+O+U+V+W #define ACTION_1497 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)));continue; // Action 1498: x<-L+P+Q+R+T #define ACTION_1498 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1499: x<-L+P+Q+R+U #define ACTION_1499 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1500: x<-L+P+Q+R+V #define ACTION_1500 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1501: x<-L+P+Q+R+W #define ACTION_1501 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1502: x<-L+P+Q+S+T #define ACTION_1502 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1503: x<-L+P+Q+S+U #define ACTION_1503 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1504: x<-L+P+Q+S+V #define ACTION_1504 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1505: x<-L+P+Q+S+W #define ACTION_1505 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1506: x<-L+P+Q+T+U #define ACTION_1506 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1507: x<-L+P+Q+T+V #define ACTION_1507 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1508: x<-L+P+Q+T+W #define ACTION_1508 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1509: x<-L+P+Q+U+V #define ACTION_1509 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1510: x<-L+P+Q+U+W #define ACTION_1510 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1511: x<-L+P+Q+V+W #define ACTION_1511 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1512: x<-L+P+R+S+T #define ACTION_1512 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1513: x<-L+P+R+S+U #define ACTION_1513 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1514: x<-L+P+R+S+V #define ACTION_1514 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1515: x<-L+P+R+S+W #define ACTION_1515 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1516: x<-L+P+R+T+U #define ACTION_1516 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1517: x<-L+P+R+T+V #define ACTION_1517 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1518: x<-L+P+R+T+W #define ACTION_1518 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1519: x<-L+P+R+U+V #define ACTION_1519 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1520: x<-L+P+R+U+W #define ACTION_1520 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1521: x<-L+P+R+V+W #define ACTION_1521 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1522: x<-L+P+S+T+U #define ACTION_1522 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1523: x<-L+P+S+T+V #define ACTION_1523 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1524: x<-L+P+S+T+W #define ACTION_1524 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1525: x<-L+P+S+U+V #define ACTION_1525 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1526: x<-L+P+S+U+W #define ACTION_1526 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1527: x<-L+P+S+V+W #define ACTION_1527 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1528: x<-L+P+T+U+W #define ACTION_1528 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1529: x<-L+P+T+V+W #define ACTION_1529 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1530: x<-L+P+U+V+W #define ACTION_1530 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1531: x<-L+Q+R+T+U #define ACTION_1531 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1532: x<-L+Q+R+T+V #define ACTION_1532 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1533: x<-L+Q+R+T+W #define ACTION_1533 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1534: x<-L+Q+R+U+V #define ACTION_1534 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1535: x<-L+Q+R+U+W #define ACTION_1535 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1536: x<-L+Q+R+V+W #define ACTION_1536 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1537: x<-L+Q+S+T+U #define ACTION_1537 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1538: x<-L+Q+S+T+V #define ACTION_1538 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1539: x<-L+Q+S+T+W #define ACTION_1539 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1540: x<-L+Q+S+U+V #define ACTION_1540 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1541: x<-L+Q+S+U+W #define ACTION_1541 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1542: x<-L+Q+S+V+W #define ACTION_1542 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1543: x<-L+Q+T+U+W #define ACTION_1543 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1544: x<-L+Q+T+V+W #define ACTION_1544 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1545: x<-L+Q+U+V+W #define ACTION_1545 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)));continue; // Action 1546: x<-L+R+S+T+U #define ACTION_1546 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1547: x<-L+R+S+T+V #define ACTION_1547 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1548: x<-L+R+S+T+W #define ACTION_1548 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1549: x<-L+R+S+U+V #define ACTION_1549 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1550: x<-L+R+S+U+W #define ACTION_1550 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1551: x<-L+R+S+V+W #define ACTION_1551 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1552: x<-L+R+T+U+W #define ACTION_1552 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1553: x<-L+R+T+V+W #define ACTION_1553 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1554: x<-L+R+U+V+W #define ACTION_1554 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)));continue; // Action 1555: x<-L+S+T+U+W #define ACTION_1555 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1556: x<-L+S+T+V+W #define ACTION_1556 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1557: x<-L+S+U+V+W #define ACTION_1557 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)));continue; // Action 1558: x<-M+N+O+Q+T #define ACTION_1558 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1559: x<-M+N+O+Q+U #define ACTION_1559 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1560: x<-M+N+O+Q+V #define ACTION_1560 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1561: x<-M+N+O+Q+W #define ACTION_1561 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1562: x<-M+N+O+T+U #define ACTION_1562 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1563: x<-M+N+O+T+V #define ACTION_1563 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1564: x<-M+N+O+T+W #define ACTION_1564 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1565: x<-M+N+O+U+V #define ACTION_1565 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1566: x<-M+N+O+U+W #define ACTION_1566 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1567: x<-M+N+O+V+W #define ACTION_1567 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1568: x<-M+N+P+Q+T #define ACTION_1568 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1569: x<-M+N+P+Q+U #define ACTION_1569 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1570: x<-M+N+P+Q+V #define ACTION_1570 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1571: x<-M+N+P+Q+W #define ACTION_1571 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1572: x<-M+N+P+R+T #define ACTION_1572 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1573: x<-M+N+P+R+U #define ACTION_1573 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1574: x<-M+N+P+R+V #define ACTION_1574 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1575: x<-M+N+P+R+W #define ACTION_1575 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1576: x<-M+N+P+T+U #define ACTION_1576 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1577: x<-M+N+P+T+V #define ACTION_1577 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1578: x<-M+N+P+T+W #define ACTION_1578 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1579: x<-M+N+P+U+V #define ACTION_1579 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1580: x<-M+N+P+U+W #define ACTION_1580 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1581: x<-M+N+P+V+W #define ACTION_1581 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1582: x<-M+N+Q+R+T #define ACTION_1582 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1583: x<-M+N+Q+R+U #define ACTION_1583 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1584: x<-M+N+Q+R+V #define ACTION_1584 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1585: x<-M+N+Q+R+W #define ACTION_1585 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1586: x<-M+N+Q+S+T #define ACTION_1586 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1587: x<-M+N+Q+S+U #define ACTION_1587 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1588: x<-M+N+Q+S+V #define ACTION_1588 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1589: x<-M+N+Q+S+W #define ACTION_1589 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1590: x<-M+N+Q+T+U #define ACTION_1590 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1591: x<-M+N+Q+T+V #define ACTION_1591 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1592: x<-M+N+Q+T+W #define ACTION_1592 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1593: x<-M+N+Q+U+V #define ACTION_1593 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1594: x<-M+N+Q+U+W #define ACTION_1594 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1595: x<-M+N+Q+V+W #define ACTION_1595 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1596: x<-M+N+R+S+T #define ACTION_1596 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1597: x<-M+N+R+S+U #define ACTION_1597 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1598: x<-M+N+R+S+V #define ACTION_1598 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1599: x<-M+N+R+S+W #define ACTION_1599 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1600: x<-M+N+R+T+U #define ACTION_1600 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1601: x<-M+N+R+T+V #define ACTION_1601 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1602: x<-M+N+R+T+W #define ACTION_1602 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1603: x<-M+N+R+U+V #define ACTION_1603 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1604: x<-M+N+R+U+W #define ACTION_1604 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1605: x<-M+N+R+V+W #define ACTION_1605 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1606: x<-M+N+S+T+U #define ACTION_1606 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1607: x<-M+N+S+T+V #define ACTION_1607 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1608: x<-M+N+S+T+W #define ACTION_1608 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1609: x<-M+N+S+U+V #define ACTION_1609 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1610: x<-M+N+S+U+W #define ACTION_1610 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1611: x<-M+N+S+V+W #define ACTION_1611 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1612: x<-M+N+T+U+W #define ACTION_1612 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1613: x<-M+N+T+V+W #define ACTION_1613 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1614: x<-M+N+U+V+W #define ACTION_1614 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1615: x<-M+O+P+Q+T #define ACTION_1615 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1616: x<-M+O+P+Q+U #define ACTION_1616 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1617: x<-M+O+P+Q+V #define ACTION_1617 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1618: x<-M+O+P+Q+W #define ACTION_1618 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1619: x<-M+O+P+R+T #define ACTION_1619 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1620: x<-M+O+P+R+U #define ACTION_1620 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1621: x<-M+O+P+R+V #define ACTION_1621 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1622: x<-M+O+P+R+W #define ACTION_1622 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1623: x<-M+O+P+T+U #define ACTION_1623 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1624: x<-M+O+P+T+V #define ACTION_1624 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1625: x<-M+O+P+T+W #define ACTION_1625 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1626: x<-M+O+P+U+V #define ACTION_1626 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1627: x<-M+O+P+U+W #define ACTION_1627 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1628: x<-M+O+P+V+W #define ACTION_1628 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1629: x<-M+O+Q+R+T #define ACTION_1629 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1630: x<-M+O+Q+R+U #define ACTION_1630 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1631: x<-M+O+Q+R+V #define ACTION_1631 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1632: x<-M+O+Q+R+W #define ACTION_1632 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1633: x<-M+O+Q+S+T #define ACTION_1633 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1634: x<-M+O+Q+S+U #define ACTION_1634 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1635: x<-M+O+Q+S+V #define ACTION_1635 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1636: x<-M+O+Q+S+W #define ACTION_1636 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1637: x<-M+O+Q+T+U #define ACTION_1637 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1638: x<-M+O+Q+T+V #define ACTION_1638 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1639: x<-M+O+Q+T+W #define ACTION_1639 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1640: x<-M+O+Q+U+V #define ACTION_1640 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1641: x<-M+O+Q+U+W #define ACTION_1641 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1642: x<-M+O+Q+V+W #define ACTION_1642 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1643: x<-M+O+R+S+T #define ACTION_1643 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1644: x<-M+O+R+S+U #define ACTION_1644 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1645: x<-M+O+R+S+V #define ACTION_1645 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1646: x<-M+O+R+S+W #define ACTION_1646 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1647: x<-M+O+R+T+U #define ACTION_1647 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1648: x<-M+O+R+T+V #define ACTION_1648 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1649: x<-M+O+R+T+W #define ACTION_1649 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1650: x<-M+O+R+U+V #define ACTION_1650 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1651: x<-M+O+R+U+W #define ACTION_1651 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1652: x<-M+O+R+V+W #define ACTION_1652 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1653: x<-M+O+S+T+U #define ACTION_1653 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1654: x<-M+O+S+T+V #define ACTION_1654 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1655: x<-M+O+S+T+W #define ACTION_1655 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1656: x<-M+O+S+U+V #define ACTION_1656 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1657: x<-M+O+S+U+W #define ACTION_1657 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1658: x<-M+O+S+V+W #define ACTION_1658 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1659: x<-M+O+T+U+W #define ACTION_1659 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1660: x<-M+O+T+V+W #define ACTION_1660 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1661: x<-M+O+U+V+W #define ACTION_1661 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1662: x<-M+P+Q+T+U #define ACTION_1662 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1663: x<-M+P+Q+T+V #define ACTION_1663 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1664: x<-M+P+Q+T+W #define ACTION_1664 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1665: x<-M+P+Q+U+V #define ACTION_1665 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1666: x<-M+P+Q+U+W #define ACTION_1666 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1667: x<-M+P+Q+V+W #define ACTION_1667 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1668: x<-M+P+R+T+U #define ACTION_1668 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1669: x<-M+P+R+T+V #define ACTION_1669 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1670: x<-M+P+R+T+W #define ACTION_1670 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1671: x<-M+P+R+U+V #define ACTION_1671 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1672: x<-M+P+R+U+W #define ACTION_1672 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1673: x<-M+P+R+V+W #define ACTION_1673 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1674: x<-M+P+T+U+W #define ACTION_1674 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1675: x<-M+P+T+V+W #define ACTION_1675 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1676: x<-M+P+U+V+W #define ACTION_1676 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1677: x<-M+Q+R+T+U #define ACTION_1677 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1678: x<-M+Q+R+T+V #define ACTION_1678 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1679: x<-M+Q+R+T+W #define ACTION_1679 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1680: x<-M+Q+R+U+V #define ACTION_1680 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1681: x<-M+Q+R+U+W #define ACTION_1681 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1682: x<-M+Q+R+V+W #define ACTION_1682 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1683: x<-M+Q+S+T+U #define ACTION_1683 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1684: x<-M+Q+S+T+V #define ACTION_1684 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1685: x<-M+Q+S+T+W #define ACTION_1685 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1686: x<-M+Q+S+U+V #define ACTION_1686 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1687: x<-M+Q+S+U+W #define ACTION_1687 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1688: x<-M+Q+S+V+W #define ACTION_1688 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1689: x<-M+Q+T+U+W #define ACTION_1689 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1690: x<-M+Q+T+V+W #define ACTION_1690 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1691: x<-M+Q+U+V+W #define ACTION_1691 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1692: x<-M+R+S+T+U #define ACTION_1692 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1693: x<-M+R+S+T+V #define ACTION_1693 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1694: x<-M+R+S+T+W #define ACTION_1694 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1695: x<-M+R+S+U+V #define ACTION_1695 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1696: x<-M+R+S+U+W #define ACTION_1696 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1697: x<-M+R+S+V+W #define ACTION_1697 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1698: x<-M+R+T+U+W #define ACTION_1698 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1699: x<-M+R+T+V+W #define ACTION_1699 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1700: x<-M+R+U+V+W #define ACTION_1700 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1701: x<-M+S+T+U+W #define ACTION_1701 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1702: x<-M+S+T+V+W #define ACTION_1702 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1703: x<-M+S+U+V+W #define ACTION_1703 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)));continue; // Action 1704: x<-N+O+Q+R+T #define ACTION_1704 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1705: x<-N+O+Q+R+U #define ACTION_1705 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1706: x<-N+O+Q+R+V #define ACTION_1706 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1707: x<-N+O+Q+R+W #define ACTION_1707 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1708: x<-N+O+Q+S+T #define ACTION_1708 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1709: x<-N+O+Q+S+U #define ACTION_1709 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1710: x<-N+O+Q+S+V #define ACTION_1710 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1711: x<-N+O+Q+S+W #define ACTION_1711 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1712: x<-N+O+Q+T+U #define ACTION_1712 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1713: x<-N+O+Q+T+V #define ACTION_1713 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1714: x<-N+O+Q+T+W #define ACTION_1714 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1715: x<-N+O+Q+U+V #define ACTION_1715 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1716: x<-N+O+Q+U+W #define ACTION_1716 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1717: x<-N+O+Q+V+W #define ACTION_1717 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1718: x<-N+O+R+S+T #define ACTION_1718 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1719: x<-N+O+R+S+U #define ACTION_1719 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1720: x<-N+O+R+S+V #define ACTION_1720 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1721: x<-N+O+R+S+W #define ACTION_1721 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1722: x<-N+O+R+T+U #define ACTION_1722 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1723: x<-N+O+R+T+V #define ACTION_1723 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1724: x<-N+O+R+T+W #define ACTION_1724 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1725: x<-N+O+R+U+V #define ACTION_1725 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1726: x<-N+O+R+U+W #define ACTION_1726 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1727: x<-N+O+R+V+W #define ACTION_1727 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1728: x<-N+O+S+T+U #define ACTION_1728 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1729: x<-N+O+S+T+V #define ACTION_1729 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1730: x<-N+O+S+T+W #define ACTION_1730 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1731: x<-N+O+S+U+V #define ACTION_1731 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1732: x<-N+O+S+U+W #define ACTION_1732 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1733: x<-N+O+S+V+W #define ACTION_1733 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1734: x<-N+O+T+U+W #define ACTION_1734 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1735: x<-N+O+T+V+W #define ACTION_1735 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1736: x<-N+O+U+V+W #define ACTION_1736 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)));continue; // Action 1737: x<-N+P+Q+R+T #define ACTION_1737 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1738: x<-N+P+Q+R+U #define ACTION_1738 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1739: x<-N+P+Q+R+V #define ACTION_1739 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1740: x<-N+P+Q+R+W #define ACTION_1740 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1741: x<-N+P+Q+S+T #define ACTION_1741 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1742: x<-N+P+Q+S+U #define ACTION_1742 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1743: x<-N+P+Q+S+V #define ACTION_1743 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1744: x<-N+P+Q+S+W #define ACTION_1744 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1745: x<-N+P+Q+T+U #define ACTION_1745 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1746: x<-N+P+Q+T+V #define ACTION_1746 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1747: x<-N+P+Q+T+W #define ACTION_1747 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1748: x<-N+P+Q+U+V #define ACTION_1748 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1749: x<-N+P+Q+U+W #define ACTION_1749 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1750: x<-N+P+Q+V+W #define ACTION_1750 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1751: x<-N+P+R+S+T #define ACTION_1751 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1752: x<-N+P+R+S+U #define ACTION_1752 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1753: x<-N+P+R+S+V #define ACTION_1753 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1754: x<-N+P+R+S+W #define ACTION_1754 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1755: x<-N+P+R+T+U #define ACTION_1755 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1756: x<-N+P+R+T+V #define ACTION_1756 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1757: x<-N+P+R+T+W #define ACTION_1757 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1758: x<-N+P+R+U+V #define ACTION_1758 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1759: x<-N+P+R+U+W #define ACTION_1759 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1760: x<-N+P+R+V+W #define ACTION_1760 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1761: x<-N+P+S+T+U #define ACTION_1761 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1762: x<-N+P+S+T+V #define ACTION_1762 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1763: x<-N+P+S+T+W #define ACTION_1763 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1764: x<-N+P+S+U+V #define ACTION_1764 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1765: x<-N+P+S+U+W #define ACTION_1765 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1766: x<-N+P+S+V+W #define ACTION_1766 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1767: x<-N+P+T+U+W #define ACTION_1767 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1768: x<-N+P+T+V+W #define ACTION_1768 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1769: x<-N+P+U+V+W #define ACTION_1769 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1770: x<-N+Q+R+T+U #define ACTION_1770 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1771: x<-N+Q+R+T+V #define ACTION_1771 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1772: x<-N+Q+R+T+W #define ACTION_1772 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1773: x<-N+Q+R+U+V #define ACTION_1773 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1774: x<-N+Q+R+U+W #define ACTION_1774 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1775: x<-N+Q+R+V+W #define ACTION_1775 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1776: x<-N+Q+S+T+U #define ACTION_1776 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1777: x<-N+Q+S+T+V #define ACTION_1777 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1778: x<-N+Q+S+T+W #define ACTION_1778 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1779: x<-N+Q+S+U+V #define ACTION_1779 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1780: x<-N+Q+S+U+W #define ACTION_1780 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1781: x<-N+Q+S+V+W #define ACTION_1781 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1782: x<-N+Q+T+U+W #define ACTION_1782 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1783: x<-N+Q+T+V+W #define ACTION_1783 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1784: x<-N+Q+U+V+W #define ACTION_1784 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)));continue; // Action 1785: x<-N+R+S+T+U #define ACTION_1785 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1786: x<-N+R+S+T+V #define ACTION_1786 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1787: x<-N+R+S+T+W #define ACTION_1787 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1788: x<-N+R+S+U+V #define ACTION_1788 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1789: x<-N+R+S+U+W #define ACTION_1789 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1790: x<-N+R+S+V+W #define ACTION_1790 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1791: x<-N+R+T+U+W #define ACTION_1791 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1792: x<-N+R+T+V+W #define ACTION_1792 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1793: x<-N+R+U+V+W #define ACTION_1793 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)));continue; // Action 1794: x<-N+S+T+U+W #define ACTION_1794 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1795: x<-N+S+T+V+W #define ACTION_1795 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1796: x<-N+S+U+V+W #define ACTION_1796 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)));continue; // Action 1797: x<-O+P+Q+R+T #define ACTION_1797 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1798: x<-O+P+Q+R+U #define ACTION_1798 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1799: x<-O+P+Q+R+V #define ACTION_1799 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1800: x<-O+P+Q+R+W #define ACTION_1800 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1801: x<-O+P+Q+S+T #define ACTION_1801 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1802: x<-O+P+Q+S+U #define ACTION_1802 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1803: x<-O+P+Q+S+V #define ACTION_1803 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1804: x<-O+P+Q+S+W #define ACTION_1804 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1805: x<-O+P+Q+T+U #define ACTION_1805 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1806: x<-O+P+Q+T+V #define ACTION_1806 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1807: x<-O+P+Q+T+W #define ACTION_1807 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1808: x<-O+P+Q+U+V #define ACTION_1808 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1809: x<-O+P+Q+U+W #define ACTION_1809 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1810: x<-O+P+Q+V+W #define ACTION_1810 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1811: x<-O+P+R+S+T #define ACTION_1811 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1812: x<-O+P+R+S+U #define ACTION_1812 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1813: x<-O+P+R+S+V #define ACTION_1813 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1814: x<-O+P+R+S+W #define ACTION_1814 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s - 1, r + 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1815: x<-O+P+R+T+U #define ACTION_1815 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1816: x<-O+P+R+T+V #define ACTION_1816 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1817: x<-O+P+R+T+W #define ACTION_1817 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1818: x<-O+P+R+U+V #define ACTION_1818 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1819: x<-O+P+R+U+W #define ACTION_1819 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1820: x<-O+P+R+V+W #define ACTION_1820 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1821: x<-O+P+S+T+U #define ACTION_1821 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1822: x<-O+P+S+T+V #define ACTION_1822 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1823: x<-O+P+S+T+W #define ACTION_1823 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1824: x<-O+P+S+U+V #define ACTION_1824 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1825: x<-O+P+S+U+W #define ACTION_1825 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1826: x<-O+P+S+V+W #define ACTION_1826 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1827: x<-O+P+T+U+W #define ACTION_1827 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1828: x<-O+P+T+V+W #define ACTION_1828 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1829: x<-O+P+U+V+W #define ACTION_1829 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)));continue; // Action 1830: x<-O+Q+R+T+U #define ACTION_1830 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1831: x<-O+Q+R+T+V #define ACTION_1831 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1832: x<-O+Q+R+T+W #define ACTION_1832 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1833: x<-O+Q+R+U+V #define ACTION_1833 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1834: x<-O+Q+R+U+W #define ACTION_1834 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1835: x<-O+Q+R+V+W #define ACTION_1835 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1836: x<-O+Q+S+T+U #define ACTION_1836 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1837: x<-O+Q+S+T+V #define ACTION_1837 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1838: x<-O+Q+S+T+W #define ACTION_1838 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1839: x<-O+Q+S+U+V #define ACTION_1839 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1840: x<-O+Q+S+U+W #define ACTION_1840 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1841: x<-O+Q+S+V+W #define ACTION_1841 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1842: x<-O+Q+T+U+W #define ACTION_1842 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1843: x<-O+Q+T+V+W #define ACTION_1843 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1844: x<-O+Q+U+V+W #define ACTION_1844 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)));continue; // Action 1845: x<-O+R+S+T+U #define ACTION_1845 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1846: x<-O+R+S+T+V #define ACTION_1846 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1847: x<-O+R+S+T+W #define ACTION_1847 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1848: x<-O+R+S+U+V #define ACTION_1848 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1849: x<-O+R+S+U+W #define ACTION_1849 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1850: x<-O+R+S+V+W #define ACTION_1850 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1851: x<-O+R+T+U+W #define ACTION_1851 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1852: x<-O+R+T+V+W #define ACTION_1852 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1853: x<-O+R+U+V+W #define ACTION_1853 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)));continue; // Action 1854: x<-O+S+T+U+W #define ACTION_1854 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 1855: x<-O+S+T+V+W #define ACTION_1855 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 1856: x<-O+S+U+V+W #define ACTION_1856 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)));continue; // Action 1857: x<-P+Q+R+T+U #define ACTION_1857 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1858: x<-P+Q+R+T+V #define ACTION_1858 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1859: x<-P+Q+R+T+W #define ACTION_1859 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1860: x<-P+Q+R+U+V #define ACTION_1860 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1861: x<-P+Q+R+U+W #define ACTION_1861 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1862: x<-P+Q+R+V+W #define ACTION_1862 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1863: x<-P+Q+S+T+U #define ACTION_1863 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1864: x<-P+Q+S+T+V #define ACTION_1864 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1865: x<-P+Q+S+T+W #define ACTION_1865 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1866: x<-P+Q+S+U+V #define ACTION_1866 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1867: x<-P+Q+S+U+W #define ACTION_1867 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1868: x<-P+Q+S+V+W #define ACTION_1868 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1869: x<-P+Q+T+U+W #define ACTION_1869 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1870: x<-P+Q+T+V+W #define ACTION_1870 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1871: x<-P+Q+U+V+W #define ACTION_1871 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)));continue; // Action 1872: x<-P+R+S+T+U #define ACTION_1872 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1873: x<-P+R+S+T+V #define ACTION_1873 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1874: x<-P+R+S+T+W #define ACTION_1874 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1875: x<-P+R+S+U+V #define ACTION_1875 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1876: x<-P+R+S+U+W #define ACTION_1876 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1877: x<-P+R+S+V+W #define ACTION_1877 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1878: x<-P+R+T+U+W #define ACTION_1878 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1879: x<-P+R+T+V+W #define ACTION_1879 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1880: x<-P+R+U+V+W #define ACTION_1880 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)));continue; // Action 1881: x<-P+S+T+U+W #define ACTION_1881 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 1882: x<-P+S+T+V+W #define ACTION_1882 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 1883: x<-P+S+U+V+W #define ACTION_1883 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)));continue; // Action 1884: x<-Q+R+T+U+W #define ACTION_1884 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1885: x<-Q+R+T+V+W #define ACTION_1885 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1886: x<-Q+R+U+V+W #define ACTION_1886 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1887: x<-Q+S+T+U+W #define ACTION_1887 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1888: x<-Q+S+T+V+W #define ACTION_1888 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1889: x<-Q+S+U+V+W #define ACTION_1889 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)));continue; // Action 1890: x<-R+S+T+U+W #define ACTION_1890 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 1891: x<-R+S+T+V+W #define ACTION_1891 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 1892: x<-R+S+U+V+W #define ACTION_1892 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)));continue; // Action 1893: x<-K+L+N+O+T+U #define ACTION_1893 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1894: x<-K+L+N+O+T+V #define ACTION_1894 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1895: x<-K+L+N+O+T+W #define ACTION_1895 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1896: x<-K+L+N+O+U+V #define ACTION_1896 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1897: x<-K+L+N+O+U+W #define ACTION_1897 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1898: x<-K+L+N+O+V+W #define ACTION_1898 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1899: x<-K+L+N+P+T+U #define ACTION_1899 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1900: x<-K+L+N+P+T+V #define ACTION_1900 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1901: x<-K+L+N+P+T+W #define ACTION_1901 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1902: x<-K+L+N+P+U+V #define ACTION_1902 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1903: x<-K+L+N+P+U+W #define ACTION_1903 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1904: x<-K+L+N+P+V+W #define ACTION_1904 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1905: x<-K+L+N+R+T+U #define ACTION_1905 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1906: x<-K+L+N+R+T+V #define ACTION_1906 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1907: x<-K+L+N+R+T+W #define ACTION_1907 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1908: x<-K+L+N+R+U+V #define ACTION_1908 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1909: x<-K+L+N+R+U+W #define ACTION_1909 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1910: x<-K+L+N+R+V+W #define ACTION_1910 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1911: x<-K+L+N+S+T+U #define ACTION_1911 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1912: x<-K+L+N+S+T+V #define ACTION_1912 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1913: x<-K+L+N+S+T+W #define ACTION_1913 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1914: x<-K+L+N+S+U+V #define ACTION_1914 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1915: x<-K+L+N+S+U+W #define ACTION_1915 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1916: x<-K+L+N+S+V+W #define ACTION_1916 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1917: x<-K+L+N+T+U+W #define ACTION_1917 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1918: x<-K+L+N+T+V+W #define ACTION_1918 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1919: x<-K+L+N+U+V+W #define ACTION_1919 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1920: x<-K+L+O+P+T+U #define ACTION_1920 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1921: x<-K+L+O+P+T+V #define ACTION_1921 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1922: x<-K+L+O+P+T+W #define ACTION_1922 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1923: x<-K+L+O+P+U+V #define ACTION_1923 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1924: x<-K+L+O+P+U+W #define ACTION_1924 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1925: x<-K+L+O+P+V+W #define ACTION_1925 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1926: x<-K+L+O+Q+T+U #define ACTION_1926 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1927: x<-K+L+O+Q+T+V #define ACTION_1927 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1928: x<-K+L+O+Q+T+W #define ACTION_1928 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1929: x<-K+L+O+Q+U+V #define ACTION_1929 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1930: x<-K+L+O+Q+U+W #define ACTION_1930 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1931: x<-K+L+O+Q+V+W #define ACTION_1931 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1932: x<-K+L+O+S+T+U #define ACTION_1932 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1933: x<-K+L+O+S+T+V #define ACTION_1933 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1934: x<-K+L+O+S+T+W #define ACTION_1934 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1935: x<-K+L+O+S+U+V #define ACTION_1935 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1936: x<-K+L+O+S+U+W #define ACTION_1936 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1937: x<-K+L+O+S+V+W #define ACTION_1937 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1938: x<-K+L+O+T+U+W #define ACTION_1938 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1939: x<-K+L+O+T+V+W #define ACTION_1939 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1940: x<-K+L+O+U+V+W #define ACTION_1940 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1941: x<-K+L+P+Q+T+U #define ACTION_1941 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1942: x<-K+L+P+Q+T+V #define ACTION_1942 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1943: x<-K+L+P+Q+T+W #define ACTION_1943 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1944: x<-K+L+P+Q+U+V #define ACTION_1944 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1945: x<-K+L+P+Q+U+W #define ACTION_1945 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1946: x<-K+L+P+Q+V+W #define ACTION_1946 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1947: x<-K+L+P+R+T+U #define ACTION_1947 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1948: x<-K+L+P+R+T+V #define ACTION_1948 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1949: x<-K+L+P+R+T+W #define ACTION_1949 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1950: x<-K+L+P+R+U+V #define ACTION_1950 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1951: x<-K+L+P+R+U+W #define ACTION_1951 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1952: x<-K+L+P+R+V+W #define ACTION_1952 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1953: x<-K+L+P+T+U+W #define ACTION_1953 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1954: x<-K+L+P+T+V+W #define ACTION_1954 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1955: x<-K+L+P+U+V+W #define ACTION_1955 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1956: x<-K+L+Q+R+T+U #define ACTION_1956 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1957: x<-K+L+Q+R+T+V #define ACTION_1957 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1958: x<-K+L+Q+R+T+W #define ACTION_1958 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1959: x<-K+L+Q+R+U+V #define ACTION_1959 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1960: x<-K+L+Q+R+U+W #define ACTION_1960 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1961: x<-K+L+Q+R+V+W #define ACTION_1961 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1962: x<-K+L+Q+S+T+U #define ACTION_1962 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1963: x<-K+L+Q+S+T+V #define ACTION_1963 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1964: x<-K+L+Q+S+T+W #define ACTION_1964 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1965: x<-K+L+Q+S+U+V #define ACTION_1965 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1966: x<-K+L+Q+S+U+W #define ACTION_1966 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1967: x<-K+L+Q+S+V+W #define ACTION_1967 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1968: x<-K+L+Q+T+U+W #define ACTION_1968 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1969: x<-K+L+Q+T+V+W #define ACTION_1969 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1970: x<-K+L+Q+U+V+W #define ACTION_1970 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1971: x<-K+L+R+S+T+U #define ACTION_1971 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1972: x<-K+L+R+S+T+V #define ACTION_1972 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1973: x<-K+L+R+S+T+W #define ACTION_1973 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1974: x<-K+L+R+S+U+V #define ACTION_1974 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1975: x<-K+L+R+S+U+W #define ACTION_1975 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1976: x<-K+L+R+S+V+W #define ACTION_1976 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1977: x<-K+L+R+T+U+W #define ACTION_1977 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1978: x<-K+L+R+T+V+W #define ACTION_1978 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1979: x<-K+L+R+U+V+W #define ACTION_1979 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1980: x<-K+L+S+T+U+W #define ACTION_1980 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1981: x<-K+L+S+T+V+W #define ACTION_1981 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1982: x<-K+L+S+U+V+W #define ACTION_1982 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1983: x<-K+M+N+O+T+U #define ACTION_1983 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1984: x<-K+M+N+O+T+V #define ACTION_1984 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1985: x<-K+M+N+O+T+W #define ACTION_1985 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1986: x<-K+M+N+O+U+V #define ACTION_1986 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1987: x<-K+M+N+O+U+W #define ACTION_1987 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1988: x<-K+M+N+O+V+W #define ACTION_1988 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1989: x<-K+M+N+P+T+U #define ACTION_1989 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1990: x<-K+M+N+P+T+V #define ACTION_1990 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1991: x<-K+M+N+P+T+W #define ACTION_1991 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1992: x<-K+M+N+P+U+V #define ACTION_1992 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1993: x<-K+M+N+P+U+W #define ACTION_1993 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1994: x<-K+M+N+P+V+W #define ACTION_1994 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1995: x<-K+M+N+R+T+U #define ACTION_1995 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1996: x<-K+M+N+R+T+V #define ACTION_1996 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1997: x<-K+M+N+R+T+W #define ACTION_1997 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1998: x<-K+M+N+R+U+V #define ACTION_1998 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 1999: x<-K+M+N+R+U+W #define ACTION_1999 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2000: x<-K+M+N+R+V+W #define ACTION_2000 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2001: x<-K+M+N+S+T+U #define ACTION_2001 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2002: x<-K+M+N+S+T+V #define ACTION_2002 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2003: x<-K+M+N+S+T+W #define ACTION_2003 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2004: x<-K+M+N+S+U+V #define ACTION_2004 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2005: x<-K+M+N+S+U+W #define ACTION_2005 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2006: x<-K+M+N+S+V+W #define ACTION_2006 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2007: x<-K+M+N+T+U+W #define ACTION_2007 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2008: x<-K+M+N+T+V+W #define ACTION_2008 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2009: x<-K+M+N+U+V+W #define ACTION_2009 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2010: x<-K+M+O+P+T+U #define ACTION_2010 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2011: x<-K+M+O+P+T+V #define ACTION_2011 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2012: x<-K+M+O+P+T+W #define ACTION_2012 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2013: x<-K+M+O+P+U+V #define ACTION_2013 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2014: x<-K+M+O+P+U+W #define ACTION_2014 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2015: x<-K+M+O+P+V+W #define ACTION_2015 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2016: x<-K+M+O+Q+T+U #define ACTION_2016 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2017: x<-K+M+O+Q+T+V #define ACTION_2017 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2018: x<-K+M+O+Q+T+W #define ACTION_2018 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2019: x<-K+M+O+Q+U+V #define ACTION_2019 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2020: x<-K+M+O+Q+U+W #define ACTION_2020 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2021: x<-K+M+O+Q+V+W #define ACTION_2021 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2022: x<-K+M+O+S+T+U #define ACTION_2022 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2023: x<-K+M+O+S+T+V #define ACTION_2023 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2024: x<-K+M+O+S+T+W #define ACTION_2024 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2025: x<-K+M+O+S+U+V #define ACTION_2025 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2026: x<-K+M+O+S+U+W #define ACTION_2026 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2027: x<-K+M+O+S+V+W #define ACTION_2027 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2028: x<-K+M+O+T+U+W #define ACTION_2028 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2029: x<-K+M+O+T+V+W #define ACTION_2029 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2030: x<-K+M+O+U+V+W #define ACTION_2030 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2031: x<-K+M+P+Q+T+U #define ACTION_2031 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2032: x<-K+M+P+Q+T+V #define ACTION_2032 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2033: x<-K+M+P+Q+T+W #define ACTION_2033 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2034: x<-K+M+P+Q+U+V #define ACTION_2034 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2035: x<-K+M+P+Q+U+W #define ACTION_2035 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2036: x<-K+M+P+Q+V+W #define ACTION_2036 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2037: x<-K+M+P+R+T+U #define ACTION_2037 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2038: x<-K+M+P+R+T+V #define ACTION_2038 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2039: x<-K+M+P+R+T+W #define ACTION_2039 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2040: x<-K+M+P+R+U+V #define ACTION_2040 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2041: x<-K+M+P+R+U+W #define ACTION_2041 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2042: x<-K+M+P+R+V+W #define ACTION_2042 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2043: x<-K+M+P+T+U+W #define ACTION_2043 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2044: x<-K+M+P+T+V+W #define ACTION_2044 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2045: x<-K+M+P+U+V+W #define ACTION_2045 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2046: x<-K+M+Q+R+T+U #define ACTION_2046 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2047: x<-K+M+Q+R+T+V #define ACTION_2047 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2048: x<-K+M+Q+R+T+W #define ACTION_2048 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2049: x<-K+M+Q+R+U+V #define ACTION_2049 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2050: x<-K+M+Q+R+U+W #define ACTION_2050 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2051: x<-K+M+Q+R+V+W #define ACTION_2051 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2052: x<-K+M+Q+S+T+U #define ACTION_2052 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2053: x<-K+M+Q+S+T+V #define ACTION_2053 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2054: x<-K+M+Q+S+T+W #define ACTION_2054 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2055: x<-K+M+Q+S+U+V #define ACTION_2055 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2056: x<-K+M+Q+S+U+W #define ACTION_2056 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2057: x<-K+M+Q+S+V+W #define ACTION_2057 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2058: x<-K+M+Q+T+U+W #define ACTION_2058 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2059: x<-K+M+Q+T+V+W #define ACTION_2059 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2060: x<-K+M+Q+U+V+W #define ACTION_2060 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2061: x<-K+M+R+S+T+U #define ACTION_2061 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2062: x<-K+M+R+S+T+V #define ACTION_2062 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2063: x<-K+M+R+S+T+W #define ACTION_2063 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2064: x<-K+M+R+S+U+V #define ACTION_2064 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2065: x<-K+M+R+S+U+W #define ACTION_2065 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2066: x<-K+M+R+S+V+W #define ACTION_2066 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2067: x<-K+M+R+T+U+W #define ACTION_2067 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2068: x<-K+M+R+T+V+W #define ACTION_2068 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2069: x<-K+M+R+U+V+W #define ACTION_2069 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2070: x<-K+M+S+T+U+W #define ACTION_2070 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2071: x<-K+M+S+T+V+W #define ACTION_2071 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2072: x<-K+M+S+U+V+W #define ACTION_2072 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2073: x<-K+N+O+R+T+U #define ACTION_2073 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2074: x<-K+N+O+R+T+V #define ACTION_2074 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2075: x<-K+N+O+R+T+W #define ACTION_2075 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2076: x<-K+N+O+R+U+V #define ACTION_2076 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2077: x<-K+N+O+R+U+W #define ACTION_2077 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2078: x<-K+N+O+R+V+W #define ACTION_2078 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2079: x<-K+N+O+S+T+U #define ACTION_2079 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2080: x<-K+N+O+S+T+V #define ACTION_2080 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2081: x<-K+N+O+S+T+W #define ACTION_2081 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2082: x<-K+N+O+S+U+V #define ACTION_2082 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2083: x<-K+N+O+S+U+W #define ACTION_2083 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2084: x<-K+N+O+S+V+W #define ACTION_2084 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2085: x<-K+N+O+T+U+W #define ACTION_2085 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2086: x<-K+N+O+T+V+W #define ACTION_2086 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2087: x<-K+N+O+U+V+W #define ACTION_2087 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2088: x<-K+N+P+R+T+U #define ACTION_2088 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2089: x<-K+N+P+R+T+V #define ACTION_2089 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2090: x<-K+N+P+R+T+W #define ACTION_2090 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2091: x<-K+N+P+R+U+V #define ACTION_2091 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2092: x<-K+N+P+R+U+W #define ACTION_2092 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2093: x<-K+N+P+R+V+W #define ACTION_2093 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2094: x<-K+N+P+S+T+U #define ACTION_2094 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2095: x<-K+N+P+S+T+V #define ACTION_2095 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2096: x<-K+N+P+S+T+W #define ACTION_2096 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2097: x<-K+N+P+S+U+V #define ACTION_2097 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2098: x<-K+N+P+S+U+W #define ACTION_2098 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2099: x<-K+N+P+S+V+W #define ACTION_2099 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2100: x<-K+N+P+T+U+W #define ACTION_2100 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2101: x<-K+N+P+T+V+W #define ACTION_2101 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2102: x<-K+N+P+U+V+W #define ACTION_2102 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2103: x<-K+N+R+T+U+W #define ACTION_2103 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2104: x<-K+N+R+T+V+W #define ACTION_2104 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2105: x<-K+N+R+U+V+W #define ACTION_2105 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2106: x<-K+N+S+T+U+W #define ACTION_2106 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2107: x<-K+N+S+T+V+W #define ACTION_2107 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2108: x<-K+N+S+U+V+W #define ACTION_2108 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2109: x<-K+O+P+S+T+U #define ACTION_2109 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2110: x<-K+O+P+S+T+V #define ACTION_2110 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2111: x<-K+O+P+S+T+W #define ACTION_2111 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2112: x<-K+O+P+S+U+V #define ACTION_2112 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2113: x<-K+O+P+S+U+W #define ACTION_2113 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2114: x<-K+O+P+S+V+W #define ACTION_2114 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2115: x<-K+O+P+T+U+W #define ACTION_2115 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2116: x<-K+O+P+T+V+W #define ACTION_2116 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2117: x<-K+O+P+U+V+W #define ACTION_2117 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2118: x<-K+O+Q+R+T+U #define ACTION_2118 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2119: x<-K+O+Q+R+T+V #define ACTION_2119 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2120: x<-K+O+Q+R+T+W #define ACTION_2120 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2121: x<-K+O+Q+R+U+V #define ACTION_2121 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2122: x<-K+O+Q+R+U+W #define ACTION_2122 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2123: x<-K+O+Q+R+V+W #define ACTION_2123 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2124: x<-K+O+Q+S+T+U #define ACTION_2124 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2125: x<-K+O+Q+S+T+V #define ACTION_2125 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2126: x<-K+O+Q+S+T+W #define ACTION_2126 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2127: x<-K+O+Q+S+U+V #define ACTION_2127 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2128: x<-K+O+Q+S+U+W #define ACTION_2128 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2129: x<-K+O+Q+S+V+W #define ACTION_2129 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2130: x<-K+O+Q+T+U+W #define ACTION_2130 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2131: x<-K+O+Q+T+V+W #define ACTION_2131 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2132: x<-K+O+Q+U+V+W #define ACTION_2132 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2133: x<-K+O+R+S+T+U #define ACTION_2133 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2134: x<-K+O+R+S+T+V #define ACTION_2134 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2135: x<-K+O+R+S+T+W #define ACTION_2135 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2136: x<-K+O+R+S+U+V #define ACTION_2136 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2137: x<-K+O+R+S+U+W #define ACTION_2137 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2138: x<-K+O+R+S+V+W #define ACTION_2138 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2139: x<-K+O+R+T+U+W #define ACTION_2139 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2140: x<-K+O+R+T+V+W #define ACTION_2140 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2141: x<-K+O+R+U+V+W #define ACTION_2141 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2142: x<-K+O+S+T+U+W #define ACTION_2142 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2143: x<-K+O+S+T+V+W #define ACTION_2143 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2144: x<-K+O+S+U+V+W #define ACTION_2144 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2145: x<-K+P+Q+R+T+U #define ACTION_2145 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2146: x<-K+P+Q+R+T+V #define ACTION_2146 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2147: x<-K+P+Q+R+T+W #define ACTION_2147 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2148: x<-K+P+Q+R+U+V #define ACTION_2148 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2149: x<-K+P+Q+R+U+W #define ACTION_2149 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2150: x<-K+P+Q+R+V+W #define ACTION_2150 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2151: x<-K+P+Q+S+T+U #define ACTION_2151 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2152: x<-K+P+Q+S+T+V #define ACTION_2152 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2153: x<-K+P+Q+S+T+W #define ACTION_2153 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2154: x<-K+P+Q+S+U+V #define ACTION_2154 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2155: x<-K+P+Q+S+U+W #define ACTION_2155 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2156: x<-K+P+Q+S+V+W #define ACTION_2156 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2157: x<-K+P+Q+T+U+W #define ACTION_2157 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2158: x<-K+P+Q+T+V+W #define ACTION_2158 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2159: x<-K+P+Q+U+V+W #define ACTION_2159 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2160: x<-K+P+R+S+T+U #define ACTION_2160 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2161: x<-K+P+R+S+T+V #define ACTION_2161 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2162: x<-K+P+R+S+T+W #define ACTION_2162 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2163: x<-K+P+R+S+U+V #define ACTION_2163 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2164: x<-K+P+R+S+U+W #define ACTION_2164 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2165: x<-K+P+R+S+V+W #define ACTION_2165 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2166: x<-K+P+R+T+U+W #define ACTION_2166 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2167: x<-K+P+R+T+V+W #define ACTION_2167 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2168: x<-K+P+R+U+V+W #define ACTION_2168 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2169: x<-K+P+S+T+U+W #define ACTION_2169 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2170: x<-K+P+S+T+V+W #define ACTION_2170 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2171: x<-K+P+S+U+V+W #define ACTION_2171 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2172: x<-K+Q+R+T+U+W #define ACTION_2172 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2173: x<-K+Q+R+T+V+W #define ACTION_2173 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2174: x<-K+Q+R+U+V+W #define ACTION_2174 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2175: x<-K+Q+S+T+U+W #define ACTION_2175 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2176: x<-K+Q+S+T+V+W #define ACTION_2176 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2177: x<-K+Q+S+U+V+W #define ACTION_2177 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2178: x<-K+R+S+T+U+W #define ACTION_2178 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2179: x<-K+R+S+T+V+W #define ACTION_2179 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2180: x<-K+R+S+U+V+W #define ACTION_2180 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2181: x<-L+M+N+O+T+U #define ACTION_2181 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2182: x<-L+M+N+O+T+V #define ACTION_2182 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2183: x<-L+M+N+O+T+W #define ACTION_2183 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2184: x<-L+M+N+O+U+V #define ACTION_2184 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2185: x<-L+M+N+O+U+W #define ACTION_2185 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2186: x<-L+M+N+O+V+W #define ACTION_2186 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2187: x<-L+M+N+P+T+U #define ACTION_2187 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2188: x<-L+M+N+P+T+V #define ACTION_2188 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2189: x<-L+M+N+P+T+W #define ACTION_2189 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2190: x<-L+M+N+P+U+V #define ACTION_2190 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2191: x<-L+M+N+P+U+W #define ACTION_2191 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2192: x<-L+M+N+P+V+W #define ACTION_2192 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2193: x<-L+M+N+R+T+U #define ACTION_2193 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2194: x<-L+M+N+R+T+V #define ACTION_2194 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2195: x<-L+M+N+R+T+W #define ACTION_2195 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2196: x<-L+M+N+R+U+V #define ACTION_2196 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2197: x<-L+M+N+R+U+W #define ACTION_2197 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2198: x<-L+M+N+R+V+W #define ACTION_2198 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2199: x<-L+M+N+S+T+U #define ACTION_2199 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2200: x<-L+M+N+S+T+V #define ACTION_2200 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2201: x<-L+M+N+S+T+W #define ACTION_2201 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2202: x<-L+M+N+S+U+V #define ACTION_2202 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2203: x<-L+M+N+S+U+W #define ACTION_2203 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2204: x<-L+M+N+S+V+W #define ACTION_2204 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2205: x<-L+M+N+T+U+W #define ACTION_2205 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2206: x<-L+M+N+T+V+W #define ACTION_2206 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2207: x<-L+M+N+U+V+W #define ACTION_2207 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2208: x<-L+M+O+P+T+U #define ACTION_2208 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2209: x<-L+M+O+P+T+V #define ACTION_2209 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2210: x<-L+M+O+P+T+W #define ACTION_2210 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2211: x<-L+M+O+P+U+V #define ACTION_2211 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2212: x<-L+M+O+P+U+W #define ACTION_2212 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2213: x<-L+M+O+P+V+W #define ACTION_2213 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2214: x<-L+M+O+Q+T+U #define ACTION_2214 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2215: x<-L+M+O+Q+T+V #define ACTION_2215 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2216: x<-L+M+O+Q+T+W #define ACTION_2216 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2217: x<-L+M+O+Q+U+V #define ACTION_2217 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2218: x<-L+M+O+Q+U+W #define ACTION_2218 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2219: x<-L+M+O+Q+V+W #define ACTION_2219 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2220: x<-L+M+O+S+T+U #define ACTION_2220 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2221: x<-L+M+O+S+T+V #define ACTION_2221 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2222: x<-L+M+O+S+T+W #define ACTION_2222 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2223: x<-L+M+O+S+U+V #define ACTION_2223 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2224: x<-L+M+O+S+U+W #define ACTION_2224 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2225: x<-L+M+O+S+V+W #define ACTION_2225 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2226: x<-L+M+O+T+U+W #define ACTION_2226 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2227: x<-L+M+O+T+V+W #define ACTION_2227 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2228: x<-L+M+O+U+V+W #define ACTION_2228 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2229: x<-L+M+P+Q+T+U #define ACTION_2229 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2230: x<-L+M+P+Q+T+V #define ACTION_2230 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2231: x<-L+M+P+Q+T+W #define ACTION_2231 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2232: x<-L+M+P+Q+U+V #define ACTION_2232 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2233: x<-L+M+P+Q+U+W #define ACTION_2233 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2234: x<-L+M+P+Q+V+W #define ACTION_2234 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2235: x<-L+M+P+R+T+U #define ACTION_2235 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2236: x<-L+M+P+R+T+V #define ACTION_2236 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2237: x<-L+M+P+R+T+W #define ACTION_2237 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2238: x<-L+M+P+R+U+V #define ACTION_2238 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2239: x<-L+M+P+R+U+W #define ACTION_2239 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2240: x<-L+M+P+R+V+W #define ACTION_2240 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2241: x<-L+M+P+T+U+W #define ACTION_2241 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2242: x<-L+M+P+T+V+W #define ACTION_2242 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2243: x<-L+M+P+U+V+W #define ACTION_2243 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2244: x<-L+M+Q+R+T+U #define ACTION_2244 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2245: x<-L+M+Q+R+T+V #define ACTION_2245 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2246: x<-L+M+Q+R+T+W #define ACTION_2246 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2247: x<-L+M+Q+R+U+V #define ACTION_2247 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2248: x<-L+M+Q+R+U+W #define ACTION_2248 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2249: x<-L+M+Q+R+V+W #define ACTION_2249 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2250: x<-L+M+Q+S+T+U #define ACTION_2250 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2251: x<-L+M+Q+S+T+V #define ACTION_2251 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2252: x<-L+M+Q+S+T+W #define ACTION_2252 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2253: x<-L+M+Q+S+U+V #define ACTION_2253 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2254: x<-L+M+Q+S+U+W #define ACTION_2254 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2255: x<-L+M+Q+S+V+W #define ACTION_2255 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2256: x<-L+M+Q+T+U+W #define ACTION_2256 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2257: x<-L+M+Q+T+V+W #define ACTION_2257 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2258: x<-L+M+Q+U+V+W #define ACTION_2258 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2259: x<-L+M+R+S+T+U #define ACTION_2259 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2260: x<-L+M+R+S+T+V #define ACTION_2260 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2261: x<-L+M+R+S+T+W #define ACTION_2261 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2262: x<-L+M+R+S+U+V #define ACTION_2262 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2263: x<-L+M+R+S+U+W #define ACTION_2263 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2264: x<-L+M+R+S+V+W #define ACTION_2264 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2265: x<-L+M+R+T+U+W #define ACTION_2265 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2266: x<-L+M+R+T+V+W #define ACTION_2266 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2267: x<-L+M+R+U+V+W #define ACTION_2267 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2268: x<-L+M+S+T+U+W #define ACTION_2268 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2269: x<-L+M+S+T+V+W #define ACTION_2269 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2270: x<-L+M+S+U+V+W #define ACTION_2270 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2271: x<-L+N+O+Q+T+U #define ACTION_2271 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2272: x<-L+N+O+Q+T+V #define ACTION_2272 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2273: x<-L+N+O+Q+T+W #define ACTION_2273 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2274: x<-L+N+O+Q+U+V #define ACTION_2274 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2275: x<-L+N+O+Q+U+W #define ACTION_2275 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2276: x<-L+N+O+Q+V+W #define ACTION_2276 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2277: x<-L+N+O+T+U+W #define ACTION_2277 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2278: x<-L+N+O+T+V+W #define ACTION_2278 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2279: x<-L+N+O+U+V+W #define ACTION_2279 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2280: x<-L+N+P+Q+T+U #define ACTION_2280 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2281: x<-L+N+P+Q+T+V #define ACTION_2281 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2282: x<-L+N+P+Q+T+W #define ACTION_2282 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2283: x<-L+N+P+Q+U+V #define ACTION_2283 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2284: x<-L+N+P+Q+U+W #define ACTION_2284 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2285: x<-L+N+P+Q+V+W #define ACTION_2285 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2286: x<-L+N+P+R+T+U #define ACTION_2286 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2287: x<-L+N+P+R+T+V #define ACTION_2287 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2288: x<-L+N+P+R+T+W #define ACTION_2288 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2289: x<-L+N+P+R+U+V #define ACTION_2289 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2290: x<-L+N+P+R+U+W #define ACTION_2290 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2291: x<-L+N+P+R+V+W #define ACTION_2291 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2292: x<-L+N+P+S+T+U #define ACTION_2292 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2293: x<-L+N+P+S+T+V #define ACTION_2293 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2294: x<-L+N+P+S+T+W #define ACTION_2294 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2295: x<-L+N+P+S+U+V #define ACTION_2295 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2296: x<-L+N+P+S+U+W #define ACTION_2296 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2297: x<-L+N+P+S+V+W #define ACTION_2297 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2298: x<-L+N+P+T+U+W #define ACTION_2298 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2299: x<-L+N+P+T+V+W #define ACTION_2299 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2300: x<-L+N+P+U+V+W #define ACTION_2300 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2301: x<-L+N+Q+R+T+U #define ACTION_2301 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2302: x<-L+N+Q+R+T+V #define ACTION_2302 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2303: x<-L+N+Q+R+T+W #define ACTION_2303 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2304: x<-L+N+Q+R+U+V #define ACTION_2304 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2305: x<-L+N+Q+R+U+W #define ACTION_2305 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2306: x<-L+N+Q+R+V+W #define ACTION_2306 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2307: x<-L+N+Q+S+T+U #define ACTION_2307 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2308: x<-L+N+Q+S+T+V #define ACTION_2308 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2309: x<-L+N+Q+S+T+W #define ACTION_2309 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2310: x<-L+N+Q+S+U+V #define ACTION_2310 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2311: x<-L+N+Q+S+U+W #define ACTION_2311 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2312: x<-L+N+Q+S+V+W #define ACTION_2312 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2313: x<-L+N+Q+T+U+W #define ACTION_2313 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2314: x<-L+N+Q+T+V+W #define ACTION_2314 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2315: x<-L+N+Q+U+V+W #define ACTION_2315 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2316: x<-L+N+R+S+T+U #define ACTION_2316 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2317: x<-L+N+R+S+T+V #define ACTION_2317 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2318: x<-L+N+R+S+T+W #define ACTION_2318 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2319: x<-L+N+R+S+U+V #define ACTION_2319 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2320: x<-L+N+R+S+U+W #define ACTION_2320 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2321: x<-L+N+R+S+V+W #define ACTION_2321 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2322: x<-L+N+R+T+U+W #define ACTION_2322 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2323: x<-L+N+R+T+V+W #define ACTION_2323 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2324: x<-L+N+R+U+V+W #define ACTION_2324 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2325: x<-L+N+S+T+U+W #define ACTION_2325 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2326: x<-L+N+S+T+V+W #define ACTION_2326 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2327: x<-L+N+S+U+V+W #define ACTION_2327 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2328: x<-L+O+P+S+T+U #define ACTION_2328 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2329: x<-L+O+P+S+T+V #define ACTION_2329 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2330: x<-L+O+P+S+T+W #define ACTION_2330 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2331: x<-L+O+P+S+U+V #define ACTION_2331 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2332: x<-L+O+P+S+U+W #define ACTION_2332 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2333: x<-L+O+P+S+V+W #define ACTION_2333 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2334: x<-L+O+P+T+U+W #define ACTION_2334 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2335: x<-L+O+P+T+V+W #define ACTION_2335 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2336: x<-L+O+P+U+V+W #define ACTION_2336 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2337: x<-L+O+Q+T+U+W #define ACTION_2337 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2338: x<-L+O+Q+T+V+W #define ACTION_2338 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2339: x<-L+O+Q+U+V+W #define ACTION_2339 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2340: x<-L+O+S+T+U+W #define ACTION_2340 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2341: x<-L+O+S+T+V+W #define ACTION_2341 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2342: x<-L+O+S+U+V+W #define ACTION_2342 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2343: x<-L+P+Q+R+T+U #define ACTION_2343 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2344: x<-L+P+Q+R+T+V #define ACTION_2344 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2345: x<-L+P+Q+R+T+W #define ACTION_2345 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2346: x<-L+P+Q+R+U+V #define ACTION_2346 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2347: x<-L+P+Q+R+U+W #define ACTION_2347 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2348: x<-L+P+Q+R+V+W #define ACTION_2348 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2349: x<-L+P+Q+S+T+U #define ACTION_2349 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2350: x<-L+P+Q+S+T+V #define ACTION_2350 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2351: x<-L+P+Q+S+T+W #define ACTION_2351 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2352: x<-L+P+Q+S+U+V #define ACTION_2352 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2353: x<-L+P+Q+S+U+W #define ACTION_2353 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2354: x<-L+P+Q+S+V+W #define ACTION_2354 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2355: x<-L+P+Q+T+U+W #define ACTION_2355 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2356: x<-L+P+Q+T+V+W #define ACTION_2356 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2357: x<-L+P+Q+U+V+W #define ACTION_2357 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2358: x<-L+P+R+S+T+U #define ACTION_2358 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2359: x<-L+P+R+S+T+V #define ACTION_2359 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2360: x<-L+P+R+S+T+W #define ACTION_2360 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2361: x<-L+P+R+S+U+V #define ACTION_2361 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2362: x<-L+P+R+S+U+W #define ACTION_2362 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2363: x<-L+P+R+S+V+W #define ACTION_2363 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2364: x<-L+P+R+T+U+W #define ACTION_2364 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2365: x<-L+P+R+T+V+W #define ACTION_2365 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2366: x<-L+P+R+U+V+W #define ACTION_2366 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2367: x<-L+P+S+T+U+W #define ACTION_2367 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2368: x<-L+P+S+T+V+W #define ACTION_2368 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2369: x<-L+P+S+U+V+W #define ACTION_2369 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2370: x<-L+Q+R+T+U+W #define ACTION_2370 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2371: x<-L+Q+R+T+V+W #define ACTION_2371 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2372: x<-L+Q+R+U+V+W #define ACTION_2372 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2373: x<-L+Q+S+T+U+W #define ACTION_2373 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2374: x<-L+Q+S+T+V+W #define ACTION_2374 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2375: x<-L+Q+S+U+V+W #define ACTION_2375 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2376: x<-L+R+S+T+U+W #define ACTION_2376 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2377: x<-L+R+S+T+V+W #define ACTION_2377 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2378: x<-L+R+S+U+V+W #define ACTION_2378 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2379: x<-M+N+O+Q+T+U #define ACTION_2379 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2380: x<-M+N+O+Q+T+V #define ACTION_2380 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2381: x<-M+N+O+Q+T+W #define ACTION_2381 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2382: x<-M+N+O+Q+U+V #define ACTION_2382 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2383: x<-M+N+O+Q+U+W #define ACTION_2383 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2384: x<-M+N+O+Q+V+W #define ACTION_2384 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2385: x<-M+N+O+T+U+W #define ACTION_2385 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2386: x<-M+N+O+T+V+W #define ACTION_2386 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2387: x<-M+N+O+U+V+W #define ACTION_2387 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2388: x<-M+N+P+Q+T+U #define ACTION_2388 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2389: x<-M+N+P+Q+T+V #define ACTION_2389 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2390: x<-M+N+P+Q+T+W #define ACTION_2390 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2391: x<-M+N+P+Q+U+V #define ACTION_2391 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2392: x<-M+N+P+Q+U+W #define ACTION_2392 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2393: x<-M+N+P+Q+V+W #define ACTION_2393 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2394: x<-M+N+P+R+T+U #define ACTION_2394 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2395: x<-M+N+P+R+T+V #define ACTION_2395 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2396: x<-M+N+P+R+T+W #define ACTION_2396 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2397: x<-M+N+P+R+U+V #define ACTION_2397 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2398: x<-M+N+P+R+U+W #define ACTION_2398 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2399: x<-M+N+P+R+V+W #define ACTION_2399 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2400: x<-M+N+P+T+U+W #define ACTION_2400 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2401: x<-M+N+P+T+V+W #define ACTION_2401 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2402: x<-M+N+P+U+V+W #define ACTION_2402 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2403: x<-M+N+Q+R+T+U #define ACTION_2403 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2404: x<-M+N+Q+R+T+V #define ACTION_2404 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2405: x<-M+N+Q+R+T+W #define ACTION_2405 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2406: x<-M+N+Q+R+U+V #define ACTION_2406 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2407: x<-M+N+Q+R+U+W #define ACTION_2407 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2408: x<-M+N+Q+R+V+W #define ACTION_2408 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2409: x<-M+N+Q+S+T+U #define ACTION_2409 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2410: x<-M+N+Q+S+T+V #define ACTION_2410 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2411: x<-M+N+Q+S+T+W #define ACTION_2411 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2412: x<-M+N+Q+S+U+V #define ACTION_2412 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2413: x<-M+N+Q+S+U+W #define ACTION_2413 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2414: x<-M+N+Q+S+V+W #define ACTION_2414 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2415: x<-M+N+Q+T+U+W #define ACTION_2415 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2416: x<-M+N+Q+T+V+W #define ACTION_2416 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2417: x<-M+N+Q+U+V+W #define ACTION_2417 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2418: x<-M+N+R+S+T+U #define ACTION_2418 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2419: x<-M+N+R+S+T+V #define ACTION_2419 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2420: x<-M+N+R+S+T+W #define ACTION_2420 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2421: x<-M+N+R+S+U+V #define ACTION_2421 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2422: x<-M+N+R+S+U+W #define ACTION_2422 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2423: x<-M+N+R+S+V+W #define ACTION_2423 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2424: x<-M+N+R+T+U+W #define ACTION_2424 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2425: x<-M+N+R+T+V+W #define ACTION_2425 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2426: x<-M+N+R+U+V+W #define ACTION_2426 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2427: x<-M+N+S+T+U+W #define ACTION_2427 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2428: x<-M+N+S+T+V+W #define ACTION_2428 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2429: x<-M+N+S+U+V+W #define ACTION_2429 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2430: x<-M+O+P+Q+T+U #define ACTION_2430 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2431: x<-M+O+P+Q+T+V #define ACTION_2431 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2432: x<-M+O+P+Q+T+W #define ACTION_2432 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2433: x<-M+O+P+Q+U+V #define ACTION_2433 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2434: x<-M+O+P+Q+U+W #define ACTION_2434 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2435: x<-M+O+P+Q+V+W #define ACTION_2435 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2436: x<-M+O+P+R+T+U #define ACTION_2436 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2437: x<-M+O+P+R+T+V #define ACTION_2437 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2438: x<-M+O+P+R+T+W #define ACTION_2438 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2439: x<-M+O+P+R+U+V #define ACTION_2439 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2440: x<-M+O+P+R+U+W #define ACTION_2440 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2441: x<-M+O+P+R+V+W #define ACTION_2441 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2442: x<-M+O+P+T+U+W #define ACTION_2442 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2443: x<-M+O+P+T+V+W #define ACTION_2443 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2444: x<-M+O+P+U+V+W #define ACTION_2444 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2445: x<-M+O+Q+R+T+U #define ACTION_2445 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2446: x<-M+O+Q+R+T+V #define ACTION_2446 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2447: x<-M+O+Q+R+T+W #define ACTION_2447 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2448: x<-M+O+Q+R+U+V #define ACTION_2448 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2449: x<-M+O+Q+R+U+W #define ACTION_2449 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2450: x<-M+O+Q+R+V+W #define ACTION_2450 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2451: x<-M+O+Q+S+T+U #define ACTION_2451 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2452: x<-M+O+Q+S+T+V #define ACTION_2452 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2453: x<-M+O+Q+S+T+W #define ACTION_2453 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2454: x<-M+O+Q+S+U+V #define ACTION_2454 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2455: x<-M+O+Q+S+U+W #define ACTION_2455 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2456: x<-M+O+Q+S+V+W #define ACTION_2456 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2457: x<-M+O+Q+T+U+W #define ACTION_2457 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2458: x<-M+O+Q+T+V+W #define ACTION_2458 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2459: x<-M+O+Q+U+V+W #define ACTION_2459 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2460: x<-M+O+R+S+T+U #define ACTION_2460 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2461: x<-M+O+R+S+T+V #define ACTION_2461 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2462: x<-M+O+R+S+T+W #define ACTION_2462 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2463: x<-M+O+R+S+U+V #define ACTION_2463 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2464: x<-M+O+R+S+U+W #define ACTION_2464 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2465: x<-M+O+R+S+V+W #define ACTION_2465 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2466: x<-M+O+R+T+U+W #define ACTION_2466 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2467: x<-M+O+R+T+V+W #define ACTION_2467 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2468: x<-M+O+R+U+V+W #define ACTION_2468 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2469: x<-M+O+S+T+U+W #define ACTION_2469 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2470: x<-M+O+S+T+V+W #define ACTION_2470 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2471: x<-M+O+S+U+V+W #define ACTION_2471 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2472: x<-M+P+Q+T+U+W #define ACTION_2472 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2473: x<-M+P+Q+T+V+W #define ACTION_2473 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2474: x<-M+P+Q+U+V+W #define ACTION_2474 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2475: x<-M+P+R+T+U+W #define ACTION_2475 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2476: x<-M+P+R+T+V+W #define ACTION_2476 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2477: x<-M+P+R+U+V+W #define ACTION_2477 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2478: x<-M+Q+R+T+U+W #define ACTION_2478 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2479: x<-M+Q+R+T+V+W #define ACTION_2479 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2480: x<-M+Q+R+U+V+W #define ACTION_2480 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2481: x<-M+Q+S+T+U+W #define ACTION_2481 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2482: x<-M+Q+S+T+V+W #define ACTION_2482 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2483: x<-M+Q+S+U+V+W #define ACTION_2483 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2484: x<-M+R+S+T+U+W #define ACTION_2484 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2485: x<-M+R+S+T+V+W #define ACTION_2485 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2486: x<-M+R+S+U+V+W #define ACTION_2486 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2487: x<-N+O+Q+R+T+U #define ACTION_2487 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2488: x<-N+O+Q+R+T+V #define ACTION_2488 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2489: x<-N+O+Q+R+T+W #define ACTION_2489 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2490: x<-N+O+Q+R+U+V #define ACTION_2490 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2491: x<-N+O+Q+R+U+W #define ACTION_2491 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2492: x<-N+O+Q+R+V+W #define ACTION_2492 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2493: x<-N+O+Q+S+T+U #define ACTION_2493 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2494: x<-N+O+Q+S+T+V #define ACTION_2494 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2495: x<-N+O+Q+S+T+W #define ACTION_2495 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2496: x<-N+O+Q+S+U+V #define ACTION_2496 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2497: x<-N+O+Q+S+U+W #define ACTION_2497 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2498: x<-N+O+Q+S+V+W #define ACTION_2498 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2499: x<-N+O+Q+T+U+W #define ACTION_2499 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2500: x<-N+O+Q+T+V+W #define ACTION_2500 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2501: x<-N+O+Q+U+V+W #define ACTION_2501 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2502: x<-N+O+R+S+T+U #define ACTION_2502 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2503: x<-N+O+R+S+T+V #define ACTION_2503 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2504: x<-N+O+R+S+T+W #define ACTION_2504 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2505: x<-N+O+R+S+U+V #define ACTION_2505 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2506: x<-N+O+R+S+U+W #define ACTION_2506 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2507: x<-N+O+R+S+V+W #define ACTION_2507 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2508: x<-N+O+R+T+U+W #define ACTION_2508 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2509: x<-N+O+R+T+V+W #define ACTION_2509 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2510: x<-N+O+R+U+V+W #define ACTION_2510 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2511: x<-N+O+S+T+U+W #define ACTION_2511 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2512: x<-N+O+S+T+V+W #define ACTION_2512 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2513: x<-N+O+S+U+V+W #define ACTION_2513 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2514: x<-N+P+Q+R+T+U #define ACTION_2514 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2515: x<-N+P+Q+R+T+V #define ACTION_2515 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2516: x<-N+P+Q+R+T+W #define ACTION_2516 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2517: x<-N+P+Q+R+U+V #define ACTION_2517 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2518: x<-N+P+Q+R+U+W #define ACTION_2518 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2519: x<-N+P+Q+R+V+W #define ACTION_2519 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2520: x<-N+P+Q+S+T+U #define ACTION_2520 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2521: x<-N+P+Q+S+T+V #define ACTION_2521 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2522: x<-N+P+Q+S+T+W #define ACTION_2522 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2523: x<-N+P+Q+S+U+V #define ACTION_2523 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2524: x<-N+P+Q+S+U+W #define ACTION_2524 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2525: x<-N+P+Q+S+V+W #define ACTION_2525 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2526: x<-N+P+Q+T+U+W #define ACTION_2526 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2527: x<-N+P+Q+T+V+W #define ACTION_2527 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2528: x<-N+P+Q+U+V+W #define ACTION_2528 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2529: x<-N+P+R+S+T+U #define ACTION_2529 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2530: x<-N+P+R+S+T+V #define ACTION_2530 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2531: x<-N+P+R+S+T+W #define ACTION_2531 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2532: x<-N+P+R+S+U+V #define ACTION_2532 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2533: x<-N+P+R+S+U+W #define ACTION_2533 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2534: x<-N+P+R+S+V+W #define ACTION_2534 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2535: x<-N+P+R+T+U+W #define ACTION_2535 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2536: x<-N+P+R+T+V+W #define ACTION_2536 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2537: x<-N+P+R+U+V+W #define ACTION_2537 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2538: x<-N+P+S+T+U+W #define ACTION_2538 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2539: x<-N+P+S+T+V+W #define ACTION_2539 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2540: x<-N+P+S+U+V+W #define ACTION_2540 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2541: x<-N+Q+R+T+U+W #define ACTION_2541 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2542: x<-N+Q+R+T+V+W #define ACTION_2542 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2543: x<-N+Q+R+U+V+W #define ACTION_2543 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2544: x<-N+Q+S+T+U+W #define ACTION_2544 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2545: x<-N+Q+S+T+V+W #define ACTION_2545 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2546: x<-N+Q+S+U+V+W #define ACTION_2546 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2547: x<-N+R+S+T+U+W #define ACTION_2547 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2548: x<-N+R+S+T+V+W #define ACTION_2548 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2549: x<-N+R+S+U+V+W #define ACTION_2549 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2550: x<-O+P+Q+R+T+U #define ACTION_2550 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2551: x<-O+P+Q+R+T+V #define ACTION_2551 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2552: x<-O+P+Q+R+T+W #define ACTION_2552 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2553: x<-O+P+Q+R+U+V #define ACTION_2553 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2554: x<-O+P+Q+R+U+W #define ACTION_2554 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2555: x<-O+P+Q+R+V+W #define ACTION_2555 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2556: x<-O+P+Q+S+T+U #define ACTION_2556 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2557: x<-O+P+Q+S+T+V #define ACTION_2557 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2558: x<-O+P+Q+S+T+W #define ACTION_2558 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2559: x<-O+P+Q+S+U+V #define ACTION_2559 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2560: x<-O+P+Q+S+U+W #define ACTION_2560 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2561: x<-O+P+Q+S+V+W #define ACTION_2561 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2562: x<-O+P+Q+T+U+W #define ACTION_2562 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2563: x<-O+P+Q+T+V+W #define ACTION_2563 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2564: x<-O+P+Q+U+V+W #define ACTION_2564 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2565: x<-O+P+R+S+T+U #define ACTION_2565 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2566: x<-O+P+R+S+T+V #define ACTION_2566 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2567: x<-O+P+R+S+T+W #define ACTION_2567 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c - 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2568: x<-O+P+R+S+U+V #define ACTION_2568 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r - 2, c + 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2569: x<-O+P+R+S+U+W #define ACTION_2569 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2570: x<-O+P+R+S+V+W #define ACTION_2570 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s - 1, r + 2, c + 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2571: x<-O+P+R+T+U+W #define ACTION_2571 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2572: x<-O+P+R+T+V+W #define ACTION_2572 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2573: x<-O+P+R+U+V+W #define ACTION_2573 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2574: x<-O+P+S+T+U+W #define ACTION_2574 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2575: x<-O+P+S+T+V+W #define ACTION_2575 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2576: x<-O+P+S+U+V+W #define ACTION_2576 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2577: x<-O+Q+R+T+U+W #define ACTION_2577 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2578: x<-O+Q+R+T+V+W #define ACTION_2578 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2579: x<-O+Q+R+U+V+W #define ACTION_2579 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2580: x<-O+Q+S+T+U+W #define ACTION_2580 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2581: x<-O+Q+S+T+V+W #define ACTION_2581 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2582: x<-O+Q+S+U+V+W #define ACTION_2582 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c)));continue; // Action 2583: x<-O+R+S+T+U+W #define ACTION_2583 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)));continue; // Action 2584: x<-O+R+S+T+V+W #define ACTION_2584 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)));continue; // Action 2585: x<-O+R+S+U+V+W #define ACTION_2585 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c)));continue; // Action 2586: x<-P+Q+R+T+U+W #define ACTION_2586 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2587: x<-P+Q+R+T+V+W #define ACTION_2587 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2588: x<-P+Q+R+U+V+W #define ACTION_2588 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2589: x<-P+Q+S+T+U+W #define ACTION_2589 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2590: x<-P+Q+S+T+V+W #define ACTION_2590 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2591: x<-P+Q+S+U+V+W #define ACTION_2591 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c - 2)), img_labels(s - 1, r, c + 2)));continue; // Action 2592: x<-P+R+S+T+U+W #define ACTION_2592 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)));continue; // Action 2593: x<-P+R+S+T+V+W #define ACTION_2593 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c - 2)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)));continue; // Action 2594: x<-P+R+S+U+V+W #define ACTION_2594 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c + 2), img_labels(s - 1, r + 2, c)), img_labels(s - 1, r, c + 2)));continue; // Action 2595: x<-K+L+N+O+T+U+W #define ACTION_2595 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2596: x<-K+L+N+O+T+V+W #define ACTION_2596 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2597: x<-K+L+N+O+U+V+W #define ACTION_2597 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2598: x<-K+L+N+P+T+U+W #define ACTION_2598 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2599: x<-K+L+N+P+T+V+W #define ACTION_2599 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2600: x<-K+L+N+P+U+V+W #define ACTION_2600 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2601: x<-K+L+N+R+T+U+W #define ACTION_2601 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2602: x<-K+L+N+R+T+V+W #define ACTION_2602 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2603: x<-K+L+N+R+U+V+W #define ACTION_2603 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2604: x<-K+L+N+S+T+U+W #define ACTION_2604 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2605: x<-K+L+N+S+T+V+W #define ACTION_2605 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2606: x<-K+L+N+S+U+V+W #define ACTION_2606 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2607: x<-K+L+O+P+T+U+W #define ACTION_2607 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2608: x<-K+L+O+P+T+V+W #define ACTION_2608 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2609: x<-K+L+O+P+U+V+W #define ACTION_2609 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2610: x<-K+L+O+Q+T+U+W #define ACTION_2610 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2611: x<-K+L+O+Q+T+V+W #define ACTION_2611 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2612: x<-K+L+O+Q+U+V+W #define ACTION_2612 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2613: x<-K+L+O+S+T+U+W #define ACTION_2613 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2614: x<-K+L+O+S+T+V+W #define ACTION_2614 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2615: x<-K+L+O+S+U+V+W #define ACTION_2615 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2616: x<-K+L+P+Q+T+U+W #define ACTION_2616 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2617: x<-K+L+P+Q+T+V+W #define ACTION_2617 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2618: x<-K+L+P+Q+U+V+W #define ACTION_2618 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2619: x<-K+L+P+R+T+U+W #define ACTION_2619 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2620: x<-K+L+P+R+T+V+W #define ACTION_2620 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2621: x<-K+L+P+R+U+V+W #define ACTION_2621 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2622: x<-K+L+Q+R+T+U+W #define ACTION_2622 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2623: x<-K+L+Q+R+T+V+W #define ACTION_2623 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2624: x<-K+L+Q+R+U+V+W #define ACTION_2624 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2625: x<-K+L+Q+S+T+U+W #define ACTION_2625 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2626: x<-K+L+Q+S+T+V+W #define ACTION_2626 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2627: x<-K+L+Q+S+U+V+W #define ACTION_2627 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2628: x<-K+L+R+S+T+U+W #define ACTION_2628 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2629: x<-K+L+R+S+T+V+W #define ACTION_2629 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2630: x<-K+L+R+S+U+V+W #define ACTION_2630 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2631: x<-K+M+N+O+T+U+W #define ACTION_2631 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2632: x<-K+M+N+O+T+V+W #define ACTION_2632 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2633: x<-K+M+N+O+U+V+W #define ACTION_2633 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2634: x<-K+M+N+P+T+U+W #define ACTION_2634 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2635: x<-K+M+N+P+T+V+W #define ACTION_2635 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2636: x<-K+M+N+P+U+V+W #define ACTION_2636 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2637: x<-K+M+N+R+T+U+W #define ACTION_2637 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2638: x<-K+M+N+R+T+V+W #define ACTION_2638 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2639: x<-K+M+N+R+U+V+W #define ACTION_2639 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2640: x<-K+M+N+S+T+U+W #define ACTION_2640 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2641: x<-K+M+N+S+T+V+W #define ACTION_2641 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2642: x<-K+M+N+S+U+V+W #define ACTION_2642 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2643: x<-K+M+O+P+T+U+W #define ACTION_2643 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2644: x<-K+M+O+P+T+V+W #define ACTION_2644 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2645: x<-K+M+O+P+U+V+W #define ACTION_2645 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2646: x<-K+M+O+Q+T+U+W #define ACTION_2646 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2647: x<-K+M+O+Q+T+V+W #define ACTION_2647 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2648: x<-K+M+O+Q+U+V+W #define ACTION_2648 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2649: x<-K+M+O+S+T+U+W #define ACTION_2649 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2650: x<-K+M+O+S+T+V+W #define ACTION_2650 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2651: x<-K+M+O+S+U+V+W #define ACTION_2651 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2652: x<-K+M+P+Q+T+U+W #define ACTION_2652 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2653: x<-K+M+P+Q+T+V+W #define ACTION_2653 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2654: x<-K+M+P+Q+U+V+W #define ACTION_2654 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2655: x<-K+M+P+R+T+U+W #define ACTION_2655 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2656: x<-K+M+P+R+T+V+W #define ACTION_2656 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2657: x<-K+M+P+R+U+V+W #define ACTION_2657 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2658: x<-K+M+Q+R+T+U+W #define ACTION_2658 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2659: x<-K+M+Q+R+T+V+W #define ACTION_2659 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2660: x<-K+M+Q+R+U+V+W #define ACTION_2660 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2661: x<-K+M+Q+S+T+U+W #define ACTION_2661 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2662: x<-K+M+Q+S+T+V+W #define ACTION_2662 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2663: x<-K+M+Q+S+U+V+W #define ACTION_2663 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2664: x<-K+M+R+S+T+U+W #define ACTION_2664 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2665: x<-K+M+R+S+T+V+W #define ACTION_2665 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2666: x<-K+M+R+S+U+V+W #define ACTION_2666 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2667: x<-K+N+O+R+T+U+W #define ACTION_2667 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2668: x<-K+N+O+R+T+V+W #define ACTION_2668 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2669: x<-K+N+O+R+U+V+W #define ACTION_2669 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2670: x<-K+N+O+S+T+U+W #define ACTION_2670 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2671: x<-K+N+O+S+T+V+W #define ACTION_2671 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2672: x<-K+N+O+S+U+V+W #define ACTION_2672 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2673: x<-K+N+P+R+T+U+W #define ACTION_2673 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2674: x<-K+N+P+R+T+V+W #define ACTION_2674 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2675: x<-K+N+P+R+U+V+W #define ACTION_2675 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2676: x<-K+N+P+S+T+U+W #define ACTION_2676 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2677: x<-K+N+P+S+T+V+W #define ACTION_2677 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2678: x<-K+N+P+S+U+V+W #define ACTION_2678 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2679: x<-K+O+P+S+T+U+W #define ACTION_2679 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2680: x<-K+O+P+S+T+V+W #define ACTION_2680 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2681: x<-K+O+P+S+U+V+W #define ACTION_2681 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2682: x<-K+O+Q+R+T+U+W #define ACTION_2682 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2683: x<-K+O+Q+R+T+V+W #define ACTION_2683 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2684: x<-K+O+Q+R+U+V+W #define ACTION_2684 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2685: x<-K+O+Q+S+T+U+W #define ACTION_2685 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2686: x<-K+O+Q+S+T+V+W #define ACTION_2686 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2687: x<-K+O+Q+S+U+V+W #define ACTION_2687 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2688: x<-K+O+R+S+T+U+W #define ACTION_2688 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2689: x<-K+O+R+S+T+V+W #define ACTION_2689 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2690: x<-K+O+R+S+U+V+W #define ACTION_2690 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2691: x<-K+P+Q+R+T+U+W #define ACTION_2691 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2692: x<-K+P+Q+R+T+V+W #define ACTION_2692 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2693: x<-K+P+Q+R+U+V+W #define ACTION_2693 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2694: x<-K+P+Q+S+T+U+W #define ACTION_2694 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2695: x<-K+P+Q+S+T+V+W #define ACTION_2695 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2696: x<-K+P+Q+S+U+V+W #define ACTION_2696 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2697: x<-K+P+R+S+T+U+W #define ACTION_2697 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2698: x<-K+P+R+S+T+V+W #define ACTION_2698 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2699: x<-K+P+R+S+U+V+W #define ACTION_2699 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c - 2)));continue; // Action 2700: x<-L+M+N+O+T+U+W #define ACTION_2700 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2701: x<-L+M+N+O+T+V+W #define ACTION_2701 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2702: x<-L+M+N+O+U+V+W #define ACTION_2702 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2703: x<-L+M+N+P+T+U+W #define ACTION_2703 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2704: x<-L+M+N+P+T+V+W #define ACTION_2704 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2705: x<-L+M+N+P+U+V+W #define ACTION_2705 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2706: x<-L+M+N+R+T+U+W #define ACTION_2706 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2707: x<-L+M+N+R+T+V+W #define ACTION_2707 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2708: x<-L+M+N+R+U+V+W #define ACTION_2708 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2709: x<-L+M+N+S+T+U+W #define ACTION_2709 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2710: x<-L+M+N+S+T+V+W #define ACTION_2710 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2711: x<-L+M+N+S+U+V+W #define ACTION_2711 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2712: x<-L+M+O+P+T+U+W #define ACTION_2712 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2713: x<-L+M+O+P+T+V+W #define ACTION_2713 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2714: x<-L+M+O+P+U+V+W #define ACTION_2714 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2715: x<-L+M+O+Q+T+U+W #define ACTION_2715 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2716: x<-L+M+O+Q+T+V+W #define ACTION_2716 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2717: x<-L+M+O+Q+U+V+W #define ACTION_2717 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2718: x<-L+M+O+S+T+U+W #define ACTION_2718 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2719: x<-L+M+O+S+T+V+W #define ACTION_2719 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2720: x<-L+M+O+S+U+V+W #define ACTION_2720 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2721: x<-L+M+P+Q+T+U+W #define ACTION_2721 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2722: x<-L+M+P+Q+T+V+W #define ACTION_2722 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2723: x<-L+M+P+Q+U+V+W #define ACTION_2723 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2724: x<-L+M+P+R+T+U+W #define ACTION_2724 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2725: x<-L+M+P+R+T+V+W #define ACTION_2725 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2726: x<-L+M+P+R+U+V+W #define ACTION_2726 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2727: x<-L+M+Q+R+T+U+W #define ACTION_2727 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2728: x<-L+M+Q+R+T+V+W #define ACTION_2728 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2729: x<-L+M+Q+R+U+V+W #define ACTION_2729 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2730: x<-L+M+Q+S+T+U+W #define ACTION_2730 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2731: x<-L+M+Q+S+T+V+W #define ACTION_2731 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2732: x<-L+M+Q+S+U+V+W #define ACTION_2732 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2733: x<-L+M+R+S+T+U+W #define ACTION_2733 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2734: x<-L+M+R+S+T+V+W #define ACTION_2734 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2735: x<-L+M+R+S+U+V+W #define ACTION_2735 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r - 2, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2736: x<-L+N+O+Q+T+U+W #define ACTION_2736 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2737: x<-L+N+O+Q+T+V+W #define ACTION_2737 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2738: x<-L+N+O+Q+U+V+W #define ACTION_2738 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2739: x<-L+N+P+Q+T+U+W #define ACTION_2739 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2740: x<-L+N+P+Q+T+V+W #define ACTION_2740 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2741: x<-L+N+P+Q+U+V+W #define ACTION_2741 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2742: x<-L+N+P+R+T+U+W #define ACTION_2742 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2743: x<-L+N+P+R+T+V+W #define ACTION_2743 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2744: x<-L+N+P+R+U+V+W #define ACTION_2744 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2745: x<-L+N+P+S+T+U+W #define ACTION_2745 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2746: x<-L+N+P+S+T+V+W #define ACTION_2746 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2747: x<-L+N+P+S+U+V+W #define ACTION_2747 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2748: x<-L+N+Q+R+T+U+W #define ACTION_2748 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2749: x<-L+N+Q+R+T+V+W #define ACTION_2749 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2750: x<-L+N+Q+R+U+V+W #define ACTION_2750 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2751: x<-L+N+Q+S+T+U+W #define ACTION_2751 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2752: x<-L+N+Q+S+T+V+W #define ACTION_2752 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2753: x<-L+N+Q+S+U+V+W #define ACTION_2753 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2754: x<-L+N+R+S+T+U+W #define ACTION_2754 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2755: x<-L+N+R+S+T+V+W #define ACTION_2755 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2756: x<-L+N+R+S+U+V+W #define ACTION_2756 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2757: x<-L+O+P+S+T+U+W #define ACTION_2757 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2758: x<-L+O+P+S+T+V+W #define ACTION_2758 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2759: x<-L+O+P+S+U+V+W #define ACTION_2759 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c)));continue; // Action 2760: x<-L+P+Q+R+T+U+W #define ACTION_2760 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2761: x<-L+P+Q+R+T+V+W #define ACTION_2761 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2762: x<-L+P+Q+R+U+V+W #define ACTION_2762 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2763: x<-L+P+Q+S+T+U+W #define ACTION_2763 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2764: x<-L+P+Q+S+T+V+W #define ACTION_2764 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2765: x<-L+P+Q+S+U+V+W #define ACTION_2765 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2766: x<-L+P+R+S+T+U+W #define ACTION_2766 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2767: x<-L+P+R+S+T+V+W #define ACTION_2767 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2768: x<-L+P+R+S+U+V+W #define ACTION_2768 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r - 2, c)));continue; // Action 2769: x<-M+N+O+Q+T+U+W #define ACTION_2769 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2770: x<-M+N+O+Q+T+V+W #define ACTION_2770 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2771: x<-M+N+O+Q+U+V+W #define ACTION_2771 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2772: x<-M+N+P+Q+T+U+W #define ACTION_2772 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2773: x<-M+N+P+Q+T+V+W #define ACTION_2773 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2774: x<-M+N+P+Q+U+V+W #define ACTION_2774 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2775: x<-M+N+P+R+T+U+W #define ACTION_2775 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2776: x<-M+N+P+R+T+V+W #define ACTION_2776 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2777: x<-M+N+P+R+U+V+W #define ACTION_2777 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2778: x<-M+N+Q+R+T+U+W #define ACTION_2778 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2779: x<-M+N+Q+R+T+V+W #define ACTION_2779 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2780: x<-M+N+Q+R+U+V+W #define ACTION_2780 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2781: x<-M+N+Q+S+T+U+W #define ACTION_2781 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2782: x<-M+N+Q+S+T+V+W #define ACTION_2782 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2783: x<-M+N+Q+S+U+V+W #define ACTION_2783 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2784: x<-M+N+R+S+T+U+W #define ACTION_2784 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2785: x<-M+N+R+S+T+V+W #define ACTION_2785 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2786: x<-M+N+R+S+U+V+W #define ACTION_2786 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c - 2)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2787: x<-M+O+P+Q+T+U+W #define ACTION_2787 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2788: x<-M+O+P+Q+T+V+W #define ACTION_2788 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2789: x<-M+O+P+Q+U+V+W #define ACTION_2789 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c - 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2790: x<-M+O+P+R+T+U+W #define ACTION_2790 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2791: x<-M+O+P+R+T+V+W #define ACTION_2791 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2792: x<-M+O+P+R+U+V+W #define ACTION_2792 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r, c + 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2793: x<-M+O+Q+R+T+U+W #define ACTION_2793 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2794: x<-M+O+Q+R+T+V+W #define ACTION_2794 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2795: x<-M+O+Q+R+U+V+W #define ACTION_2795 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2796: x<-M+O+Q+S+T+U+W #define ACTION_2796 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2797: x<-M+O+Q+S+T+V+W #define ACTION_2797 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2798: x<-M+O+Q+S+U+V+W #define ACTION_2798 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2799: x<-M+O+R+S+T+U+W #define ACTION_2799 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2800: x<-M+O+R+S+T+V+W #define ACTION_2800 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2801: x<-M+O+R+S+U+V+W #define ACTION_2801 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r - 2, c + 2)));continue; // Action 2802: x<-N+O+Q+R+T+U+W #define ACTION_2802 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2803: x<-N+O+Q+R+T+V+W #define ACTION_2803 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2804: x<-N+O+Q+R+U+V+W #define ACTION_2804 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2805: x<-N+O+Q+S+T+U+W #define ACTION_2805 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2806: x<-N+O+Q+S+T+V+W #define ACTION_2806 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2807: x<-N+O+Q+S+U+V+W #define ACTION_2807 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2808: x<-N+O+R+S+T+U+W #define ACTION_2808 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2809: x<-N+O+R+S+T+V+W #define ACTION_2809 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2810: x<-N+O+R+S+U+V+W #define ACTION_2810 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c)), img_labels(s - 1, r, c - 2)));continue; // Action 2811: x<-N+P+Q+R+T+U+W #define ACTION_2811 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2812: x<-N+P+Q+R+T+V+W #define ACTION_2812 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2813: x<-N+P+Q+R+U+V+W #define ACTION_2813 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2814: x<-N+P+Q+S+T+U+W #define ACTION_2814 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2815: x<-N+P+Q+S+T+V+W #define ACTION_2815 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2816: x<-N+P+Q+S+U+V+W #define ACTION_2816 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2817: x<-N+P+R+S+T+U+W #define ACTION_2817 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2818: x<-N+P+R+S+T+V+W #define ACTION_2818 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2819: x<-N+P+R+S+U+V+W #define ACTION_2819 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c - 2)));continue; // Action 2820: x<-O+P+Q+R+T+U+W #define ACTION_2820 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2821: x<-O+P+Q+R+T+V+W #define ACTION_2821 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2822: x<-O+P+Q+R+U+V+W #define ACTION_2822 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2823: x<-O+P+Q+S+T+U+W #define ACTION_2823 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2824: x<-O+P+Q+S+T+V+W #define ACTION_2824 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2825: x<-O+P+Q+S+U+V+W #define ACTION_2825 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c - 2), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2826: x<-O+P+R+S+T+U+W #define ACTION_2826 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2827: x<-O+P+R+S+T+V+W #define ACTION_2827 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c - 2), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; // Action 2828: x<-O+P+R+S+U+V+W #define ACTION_2828 img_labels(s, r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s, r, c - 2), img_labels(s, r - 2, c + 2)), LabelsSolver::MemMerge(img_labels(s, r - 2, c), img_labels(s - 1, r + 2, c + 2))), LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(s - 1, r + 2, c), img_labels(s - 1, r, c + 2)), img_labels(s - 1, r, c)));continue; ================================================ FILE: include/labeling3D_EPDT_26c_tree.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany if (CONDITION_LC) { if (CONDITION_OB) { if (CONDITION_OC) { if (CONDITION_XA) { NODE_1: if (CONDITION_OD) { ACTION_3 } else { if (CONDITION_PC) { ACTION_3 } else { if (CONDITION_RB) { ACTION_3 } else { NODE_2: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_33 } else { ACTION_3 } } else { ACTION_3 } } } } } else { if (CONDITION_XB) { goto NODE_1; } else { if (CONDITION_XC) { goto NODE_1; } else { if (CONDITION_XD) { if (CONDITION_OD) { ACTION_3 } else { if (CONDITION_PC) { ACTION_3 } else { if (CONDITION_RB) { ACTION_3 } else { NODE_3: if (CONDITION_SA) { ACTION_33 } else { ACTION_3 } } } } } else { ACTION_0 } } } } } else { if (CONDITION_OD) { NODE_4: if (CONDITION_RA) { NODE_5: if (CONDITION_XA) { ACTION_3 } else { NODE_6: if (CONDITION_XB) { ACTION_3 } else { NODE_7: if (CONDITION_XC) { ACTION_3 } else { NODE_8: if (CONDITION_XD) { ACTION_3 } else { ACTION_0 } } } } } else { NODE_9: if (CONDITION_NB) { NODE_10: if (CONDITION_ND) { goto NODE_5; } else { NODE_11: if (CONDITION_QB) { if (CONDITION_WD) { goto NODE_5; } else { NODE_12: if (CONDITION_XC) { ACTION_31 } else { NODE_13: if (CONDITION_XA) { ACTION_3 } else { NODE_14: if (CONDITION_XB) { ACTION_3 } else { goto NODE_8; } } } } } else { goto NODE_5; } } } else { if (CONDITION_OA) { goto NODE_10; } else { NODE_15: if (CONDITION_WB) { goto NODE_10; } else { if (CONDITION_ND) { NODE_16: if (CONDITION_XA) { ACTION_28 } else { if (CONDITION_XC) { ACTION_28 } else { goto NODE_14; } } } else { NODE_17: if (CONDITION_WD) { NODE_18: if (CONDITION_XA) { ACTION_37 } else { if (CONDITION_XC) { ACTION_37 } else { goto NODE_14; } } } else { NODE_19: if (CONDITION_QB) { goto NODE_12; } else { goto NODE_5; } } } } } } } } else { if (CONDITION_PC) { if (CONDITION_RB) { goto NODE_4; } else { if (CONDITION_ND) { if (CONDITION_NB) { goto NODE_5; } else { if (CONDITION_OA) { goto NODE_5; } else { if (CONDITION_WB) { goto NODE_5; } else { if (CONDITION_XA) { ACTION_28 } else { if (CONDITION_XC) { ACTION_28 } else { if (CONDITION_RA) { NODE_20: if (CONDITION_XD) { ACTION_28 } else { NODE_21: if (CONDITION_XB) { ACTION_3 } else { ACTION_0 } } } else { goto NODE_14; } } } } } } } else { if (CONDITION_WD) { if (CONDITION_NB) { goto NODE_5; } else { if (CONDITION_OA) { goto NODE_5; } else { if (CONDITION_WB) { goto NODE_5; } else { if (CONDITION_XA) { ACTION_37 } else { if (CONDITION_XC) { ACTION_37 } else { NODE_22: if (CONDITION_RA) { NODE_23: if (CONDITION_XD) { ACTION_32 } else { goto NODE_21; } } else { goto NODE_14; } } } } } } } else { NODE_24: if (CONDITION_RA) { NODE_25: if (CONDITION_XC) { ACTION_32 } else { if (CONDITION_XD) { ACTION_32 } else { NODE_26: if (CONDITION_XA) { ACTION_3 } else { goto NODE_21; } } } } else { goto NODE_19; } } } } } else { if (CONDITION_SA) { if (CONDITION_RB) { if (CONDITION_RA) { NODE_27: if (CONDITION_WD) { if (CONDITION_NB) { goto NODE_5; } else { if (CONDITION_OA) { goto NODE_5; } else { if (CONDITION_WB) { goto NODE_5; } else { if (CONDITION_XA) { ACTION_32 } else { if (CONDITION_XC) { ACTION_32 } else { goto NODE_23; } } } } } } else { if (CONDITION_ND) { if (CONDITION_NB) { goto NODE_5; } else { if (CONDITION_OA) { goto NODE_5; } else { if (CONDITION_WB) { goto NODE_5; } else { if (CONDITION_XA) { ACTION_28 } else { if (CONDITION_XC) { ACTION_28 } else { goto NODE_20; } } } } } } else { goto NODE_25; } } } else { NODE_28: if (CONDITION_XD) { if (CONDITION_XC) { NODE_29: if (CONDITION_QB) { if (CONDITION_ND) { if (CONDITION_NB) { ACTION_32 } else { if (CONDITION_OA) { ACTION_32 } else { NODE_30: if (CONDITION_WB) { ACTION_32 } else { ACTION_170 } } } } else { if (CONDITION_WD) { if (CONDITION_NB) { ACTION_32 } else { if (CONDITION_OA) { ACTION_32 } else { if (CONDITION_WB) { ACTION_32 } else { ACTION_190 } } } } else { ACTION_190 } } } else { if (CONDITION_NB) { ACTION_32 } else { if (CONDITION_OA) { ACTION_32 } else { if (CONDITION_WB) { ACTION_32 } else { NODE_31: if (CONDITION_ND) { ACTION_170 } else { NODE_32: if (CONDITION_WD) { ACTION_200 } else { ACTION_32 } } } } } } } else { if (CONDITION_NB) { ACTION_32 } else { if (CONDITION_OA) { ACTION_32 } else { if (CONDITION_WB) { ACTION_32 } else { if (CONDITION_XA) { goto NODE_31; } else { ACTION_32 } } } } } } else { if (CONDITION_XC) { goto NODE_29; } else { if (CONDITION_XB) { NODE_33: if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_OA) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { if (CONDITION_XA) { NODE_34: if (CONDITION_ND) { ACTION_28 } else { NODE_35: if (CONDITION_WD) { ACTION_37 } else { ACTION_3 } } } else { ACTION_3 } } } } } else { if (CONDITION_XA) { if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_OA) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { goto NODE_34; } } } } else { ACTION_0 } } } } } } else { if (CONDITION_XD) { if (CONDITION_ND) { if (CONDITION_NB) { ACTION_33 } else { if (CONDITION_OA) { ACTION_33 } else { if (CONDITION_WB) { ACTION_33 } else { if (CONDITION_RA) { ACTION_171 } else { NODE_36: if (CONDITION_XA) { ACTION_171 } else { NODE_37: if (CONDITION_XC) { ACTION_171 } else { ACTION_33 } } } } } } } else { if (CONDITION_WD) { if (CONDITION_NB) { ACTION_33 } else { if (CONDITION_OA) { ACTION_33 } else { if (CONDITION_WB) { ACTION_33 } else { if (CONDITION_RA) { ACTION_196 } else { if (CONDITION_XA) { ACTION_204 } else { if (CONDITION_XC) { ACTION_204 } else { ACTION_33 } } } } } } } else { NODE_38: if (CONDITION_RA) { ACTION_196 } else { NODE_39: if (CONDITION_QB) { NODE_40: if (CONDITION_XC) { ACTION_191 } else { ACTION_33 } } else { ACTION_33 } } } } } else { if (CONDITION_XB) { if (CONDITION_XC) { NODE_41: if (CONDITION_ND) { if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_OA) { ACTION_3 } else { NODE_42: if (CONDITION_WB) { ACTION_3 } else { ACTION_28 } } } } else { if (CONDITION_WD) { if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_OA) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { ACTION_37 } } } } else { NODE_43: if (CONDITION_QB) { ACTION_31 } else { if (CONDITION_RA) { ACTION_32 } else { ACTION_3 } } } } } else { goto NODE_33; } } else { if (CONDITION_XA) { if (CONDITION_NB) { NODE_44: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WD) { ACTION_3 } else { NODE_45: if (CONDITION_XC) { goto NODE_43; } else { ACTION_3 } } } } else { if (CONDITION_OA) { goto NODE_44; } else { if (CONDITION_WB) { goto NODE_44; } else { if (CONDITION_ND) { ACTION_28 } else { if (CONDITION_WD) { ACTION_37 } else { goto NODE_45; } } } } } } else { if (CONDITION_XC) { goto NODE_41; } else { ACTION_0 } } } } } } else { if (CONDITION_RA) { goto NODE_27; } else { if (CONDITION_RB) { goto NODE_28; } else { goto NODE_9; } } } } } } } else { if (CONDITION_OD) { if (CONDITION_OA) { if (CONDITION_XA) { NODE_46: if (CONDITION_LD) { NODE_47: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_OC) { ACTION_3 } else { NODE_48: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_3 } else { NODE_49: if (CONDITION_WD) { ACTION_3 } else { NODE_50: if (CONDITION_XC) { ACTION_31 } else { ACTION_3 } } } } else { ACTION_3 } } } } else { if (CONDITION_PA) { goto NODE_47; } else { if (CONDITION_UD) { goto NODE_47; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_ND) { ACTION_27 } else { if (CONDITION_OC) { ACTION_27 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_27 } else { NODE_51: if (CONDITION_WD) { ACTION_27 } else { NODE_52: if (CONDITION_XC) { ACTION_160 } else { ACTION_27 } } } } else { ACTION_27 } } } } else { if (CONDITION_VC) { if (CONDITION_ND) { ACTION_36 } else { if (CONDITION_OC) { ACTION_36 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_36 } else { NODE_53: if (CONDITION_WD) { ACTION_36 } else { NODE_54: if (CONDITION_XC) { ACTION_194 } else { ACTION_36 } } } } else { ACTION_36 } } } } else { goto NODE_47; } } } else { goto NODE_47; } } } } } else { if (CONDITION_XD) { goto NODE_46; } else { if (CONDITION_XC) { if (CONDITION_LD) { NODE_55: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_OC) { ACTION_3 } else { NODE_56: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_3 } else { NODE_57: if (CONDITION_WD) { ACTION_3 } else { ACTION_31 } } } else { ACTION_3 } } } } else { if (CONDITION_PA) { goto NODE_55; } else { if (CONDITION_UD) { goto NODE_55; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_ND) { ACTION_27 } else { if (CONDITION_OC) { ACTION_27 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_27 } else { if (CONDITION_WD) { ACTION_27 } else { ACTION_160 } } } else { ACTION_27 } } } } else { if (CONDITION_VC) { if (CONDITION_ND) { ACTION_36 } else { if (CONDITION_OC) { ACTION_36 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_36 } else { if (CONDITION_WD) { ACTION_36 } else { ACTION_194 } } } else { ACTION_36 } } } } else { goto NODE_55; } } } else { goto NODE_55; } } } } } else { if (CONDITION_XB) { if (CONDITION_LD) { ACTION_3 } else { if (CONDITION_PA) { ACTION_3 } else { if (CONDITION_UD) { ACTION_3 } else { NODE_58: if (CONDITION_MC) { ACTION_27 } else { NODE_59: if (CONDITION_VC) { ACTION_36 } else { ACTION_3 } } } } } } else { ACTION_0 } } } } } else { if (CONDITION_PA) { if (CONDITION_LD) { NODE_60: if (CONDITION_OC) { goto NODE_5; } else { if (CONDITION_RA) { goto NODE_5; } else { if (CONDITION_NB) { goto NODE_10; } else { goto NODE_15; } } } } else { if (CONDITION_UD) { goto NODE_60; } else { if (CONDITION_OC) { if (CONDITION_NB) { goto NODE_5; } else { if (CONDITION_WB) { goto NODE_5; } else { if (CONDITION_XA) { ACTION_29 } else { if (CONDITION_XB) { ACTION_29 } else { NODE_61: if (CONDITION_XC) { ACTION_6 } else { NODE_62: if (CONDITION_XD) { ACTION_6 } else { ACTION_0 } } } } } } } else { if (CONDITION_XB) { if (CONDITION_RA) { NODE_63: if (CONDITION_NB) { NODE_64: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WD) { ACTION_3 } else { ACTION_29 } } } else { NODE_65: if (CONDITION_WB) { goto NODE_64; } else { ACTION_29 } } } else { if (CONDITION_NB) { NODE_66: if (CONDITION_ND) { ACTION_29 } else { NODE_67: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_29 } else { NODE_68: if (CONDITION_XC) { ACTION_177 } else { ACTION_29 } } } else { ACTION_29 } } } else { NODE_69: if (CONDITION_WB) { goto NODE_66; } else { if (CONDITION_ND) { NODE_70: if (CONDITION_XA) { ACTION_167 } else { NODE_71: if (CONDITION_XC) { ACTION_167 } else { ACTION_29 } } } else { if (CONDITION_WD) { NODE_72: if (CONDITION_XA) { ACTION_182 } else { if (CONDITION_XC) { ACTION_182 } else { ACTION_29 } } } else { NODE_73: if (CONDITION_QB) { goto NODE_68; } else { ACTION_29 } } } } } } } else { if (CONDITION_XA) { if (CONDITION_RA) { goto NODE_63; } else { if (CONDITION_NB) { goto NODE_66; } else { if (CONDITION_WB) { goto NODE_66; } else { if (CONDITION_ND) { ACTION_167 } else { NODE_74: if (CONDITION_WD) { ACTION_182 } else { goto NODE_73; } } } } } } else { if (CONDITION_XC) { if (CONDITION_RA) { NODE_75: if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { NODE_76: if (CONDITION_NB) { ACTION_29 } else { if (CONDITION_WB) { ACTION_29 } else { ACTION_6 } } } } } else { if (CONDITION_NB) { NODE_77: if (CONDITION_ND) { ACTION_29 } else { if (CONDITION_QB) { NODE_78: if (CONDITION_WD) { ACTION_29 } else { ACTION_177 } } else { ACTION_29 } } } else { if (CONDITION_ND) { ACTION_48 } else { if (CONDITION_QB) { if (CONDITION_WB) { goto NODE_78; } else { ACTION_58 } } else { if (CONDITION_WB) { ACTION_29 } else { NODE_79: if (CONDITION_WD) { ACTION_64 } else { ACTION_6 } } } } } } } else { goto NODE_62; } } } } } } } else { if (CONDITION_OC) { if (CONDITION_NB) { NODE_80: if (CONDITION_LD) { goto NODE_5; } else { if (CONDITION_UD) { goto NODE_5; } else { NODE_81: if (CONDITION_XB) { goto NODE_58; } else { NODE_82: if (CONDITION_XA) { ACTION_3 } else { goto NODE_7; } } } } } else { if (CONDITION_WB) { goto NODE_80; } else { if (CONDITION_XA) { NODE_83: if (CONDITION_LD) { ACTION_29 } else { if (CONDITION_UD) { ACTION_29 } else { NODE_84: if (CONDITION_XB) { NODE_85: if (CONDITION_MC) { ACTION_158 } else { NODE_86: if (CONDITION_VC) { ACTION_181 } else { ACTION_29 } } } else { ACTION_29 } } } } else { if (CONDITION_XB) { NODE_87: if (CONDITION_LD) { ACTION_29 } else { if (CONDITION_UD) { ACTION_29 } else { goto NODE_85; } } } else { goto NODE_61; } } } } } else { if (CONDITION_RA) { if (CONDITION_LD) { NODE_88: if (CONDITION_XA) { goto NODE_63; } else { if (CONDITION_XB) { goto NODE_63; } else { NODE_89: if (CONDITION_XD) { if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { if (CONDITION_XC) { goto NODE_76; } else { ACTION_6 } } } } else { if (CONDITION_XC) { goto NODE_75; } else { ACTION_0 } } } } } else { if (CONDITION_UD) { goto NODE_88; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_NB) { NODE_90: if (CONDITION_ND) { ACTION_27 } else { if (CONDITION_WD) { ACTION_27 } else { ACTION_158 } } } else { if (CONDITION_WB) { goto NODE_90; } else { ACTION_158 } } } else { if (CONDITION_VC) { if (CONDITION_NB) { NODE_91: if (CONDITION_ND) { ACTION_36 } else { if (CONDITION_WD) { ACTION_36 } else { ACTION_181 } } } else { if (CONDITION_WB) { goto NODE_91; } else { ACTION_181 } } } else { goto NODE_63; } } } else { if (CONDITION_XA) { goto NODE_63; } else { goto NODE_89; } } } } } else { if (CONDITION_NB) { NODE_92: if (CONDITION_XA) { if (CONDITION_LD) { goto NODE_66; } else { if (CONDITION_UD) { goto NODE_66; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_ND) { ACTION_158 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_158 } else { if (CONDITION_XC) { ACTION_571 } else { ACTION_158 } } } else { ACTION_158 } } } else { if (CONDITION_VC) { if (CONDITION_ND) { ACTION_181 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_181 } else { if (CONDITION_XC) { ACTION_644 } else { ACTION_181 } } } else { ACTION_181 } } } else { goto NODE_66; } } } else { goto NODE_66; } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { goto NODE_83; } else { if (CONDITION_QB) { if (CONDITION_WD) { goto NODE_83; } else { NODE_93: if (CONDITION_LD) { ACTION_177 } else { if (CONDITION_UD) { ACTION_177 } else { if (CONDITION_XB) { NODE_94: if (CONDITION_MC) { ACTION_571 } else { if (CONDITION_VC) { ACTION_644 } else { ACTION_177 } } } else { ACTION_177 } } } } } else { goto NODE_83; } } } else { NODE_95: if (CONDITION_XB) { goto NODE_87; } else { goto NODE_62; } } } } else { if (CONDITION_WB) { goto NODE_92; } else { if (CONDITION_ND) { if (CONDITION_XA) { if (CONDITION_LD) { ACTION_167 } else { if (CONDITION_UD) { ACTION_167 } else { if (CONDITION_XB) { NODE_96: if (CONDITION_MC) { ACTION_562 } else { if (CONDITION_VC) { ACTION_607 } else { ACTION_167 } } } else { ACTION_167 } } } } else { if (CONDITION_XC) { if (CONDITION_XB) { if (CONDITION_LD) { ACTION_167 } else { if (CONDITION_UD) { ACTION_167 } else { goto NODE_96; } } } else { ACTION_48 } } else { goto NODE_95; } } } else { if (CONDITION_XA) { if (CONDITION_WD) { if (CONDITION_LD) { ACTION_182 } else { if (CONDITION_UD) { ACTION_182 } else { if (CONDITION_XB) { NODE_97: if (CONDITION_MC) { ACTION_576 } else { if (CONDITION_VC) { ACTION_655 } else { ACTION_182 } } } else { ACTION_182 } } } } else { if (CONDITION_QB) { if (CONDITION_XC) { goto NODE_93; } else { goto NODE_83; } } else { goto NODE_83; } } } else { if (CONDITION_XB) { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_LD) { ACTION_177 } else { if (CONDITION_UD) { ACTION_177 } else { goto NODE_94; } } } else { if (CONDITION_WD) { if (CONDITION_LD) { ACTION_182 } else { if (CONDITION_UD) { ACTION_182 } else { goto NODE_97; } } } else { goto NODE_87; } } } else { goto NODE_87; } } else { NODE_98: if (CONDITION_XC) { NODE_99: if (CONDITION_QB) { ACTION_58 } else { goto NODE_79; } } else { goto NODE_62; } } } } } } } } } } } else { if (CONDITION_OA) { if (CONDITION_OC) { NODE_100: if (CONDITION_RB) { if (CONDITION_LD) { goto NODE_5; } else { if (CONDITION_UD) { goto NODE_5; } else { if (CONDITION_PC) { if (CONDITION_PA) { goto NODE_5; } else { goto NODE_81; } } else { if (CONDITION_MC) { if (CONDITION_XB) { ACTION_27 } else { if (CONDITION_PA) { if (CONDITION_XD) { ACTION_27 } else { NODE_101: if (CONDITION_XA) { ACTION_3 } else { NODE_102: if (CONDITION_XC) { ACTION_3 } else { ACTION_0 } } } } else { goto NODE_82; } } } else { if (CONDITION_PA) { NODE_103: if (CONDITION_XB) { ACTION_30 } else { NODE_104: if (CONDITION_XD) { ACTION_30 } else { goto NODE_101; } } } else { if (CONDITION_VC) { if (CONDITION_XB) { ACTION_36 } else { goto NODE_82; } } else { goto NODE_5; } } } } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_PA) { if (CONDITION_PC) { NODE_105: if (CONDITION_LD) { ACTION_3 } else { if (CONDITION_UD) { ACTION_3 } else { ACTION_30 } } } else { if (CONDITION_LD) { ACTION_33 } else { if (CONDITION_UD) { ACTION_33 } else { ACTION_185 } } } } else { NODE_106: if (CONDITION_LD) { ACTION_33 } else { if (CONDITION_UD) { ACTION_33 } else { NODE_107: if (CONDITION_XB) { if (CONDITION_MC) { ACTION_162 } else { if (CONDITION_VC) { ACTION_203 } else { ACTION_33 } } } else { ACTION_33 } } } } } else { if (CONDITION_XB) { NODE_108: if (CONDITION_LD) { NODE_109: if (CONDITION_PA) { ACTION_3 } else { if (CONDITION_PC) { ACTION_30 } else { ACTION_3 } } } else { if (CONDITION_UD) { goto NODE_109; } else { if (CONDITION_PA) { ACTION_30 } else { NODE_110: if (CONDITION_MC) { if (CONDITION_PC) { ACTION_159 } else { ACTION_27 } } else { if (CONDITION_PC) { NODE_111: if (CONDITION_VC) { ACTION_188 } else { ACTION_30 } } else { goto NODE_59; } } } } } } else { goto NODE_101; } } } else { if (CONDITION_LD) { NODE_112: if (CONDITION_PA) { goto NODE_5; } else { if (CONDITION_PC) { goto NODE_103; } else { goto NODE_5; } } } else { if (CONDITION_UD) { goto NODE_112; } else { if (CONDITION_PA) { goto NODE_103; } else { if (CONDITION_XB) { goto NODE_110; } else { if (CONDITION_PC) { goto NODE_104; } else { goto NODE_82; } } } } } } } } else { if (CONDITION_PC) { if (CONDITION_PA) { if (CONDITION_LD) { NODE_113: if (CONDITION_ND) { goto NODE_5; } else { if (CONDITION_WD) { goto NODE_5; } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { goto NODE_5; } else { goto NODE_12; } } else { goto NODE_5; } } else { goto NODE_24; } } } } else { if (CONDITION_UD) { goto NODE_113; } else { NODE_114: if (CONDITION_XB) { NODE_115: if (CONDITION_RA) { if (CONDITION_RB) { NODE_116: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WD) { ACTION_3 } else { ACTION_30 } } } else { if (CONDITION_ND) { ACTION_30 } else { if (CONDITION_WD) { ACTION_30 } else { NODE_117: if (CONDITION_XC) { ACTION_184 } else { NODE_118: if (CONDITION_XD) { ACTION_184 } else { ACTION_30 } } } } } } else { NODE_119: if (CONDITION_ND) { ACTION_30 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_30 } else { NODE_120: if (CONDITION_XC) { ACTION_183 } else { ACTION_30 } } } else { ACTION_30 } } } } else { NODE_121: if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_116; } else { goto NODE_119; } } else { if (CONDITION_XC) { NODE_122: if (CONDITION_RA) { goto NODE_116; } else { NODE_123: if (CONDITION_ND) { ACTION_30 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_30 } else { ACTION_183 } } else { ACTION_30 } } } } else { NODE_124: if (CONDITION_XA) { ACTION_3 } else { ACTION_0 } } } } else { if (CONDITION_XD) { NODE_125: if (CONDITION_ND) { ACTION_30 } else { if (CONDITION_WD) { ACTION_30 } else { NODE_126: if (CONDITION_RA) { ACTION_184 } else { NODE_127: if (CONDITION_QB) { goto NODE_120; } else { ACTION_30 } } } } } else { NODE_128: if (CONDITION_XA) { goto NODE_44; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WD) { ACTION_3 } else { goto NODE_43; } } } else { ACTION_0 } } } } } } } } else { if (CONDITION_LD) { goto NODE_114; } else { if (CONDITION_UD) { goto NODE_114; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_129: if (CONDITION_ND) { ACTION_27 } else { if (CONDITION_WD) { ACTION_27 } else { ACTION_159 } } } else { if (CONDITION_ND) { ACTION_159 } else { if (CONDITION_WD) { ACTION_159 } else { if (CONDITION_XC) { ACTION_578 } else { NODE_130: if (CONDITION_XD) { ACTION_578 } else { ACTION_159 } } } } } } else { NODE_131: if (CONDITION_ND) { ACTION_159 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_159 } else { NODE_132: if (CONDITION_XC) { ACTION_577 } else { ACTION_159 } } } else { ACTION_159 } } } } else { if (CONDITION_VC) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_133: if (CONDITION_ND) { ACTION_36 } else { if (CONDITION_WD) { ACTION_36 } else { ACTION_188 } } } else { if (CONDITION_ND) { ACTION_188 } else { if (CONDITION_WD) { ACTION_188 } else { if (CONDITION_XC) { ACTION_665 } else { NODE_134: if (CONDITION_XD) { ACTION_665 } else { ACTION_188 } } } } } } else { NODE_135: if (CONDITION_ND) { ACTION_188 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_188 } else { NODE_136: if (CONDITION_XC) { ACTION_660 } else { ACTION_188 } } } else { ACTION_188 } } } } else { goto NODE_115; } } } else { goto NODE_121; } } } } } else { if (CONDITION_UD) { NODE_137: if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_138: if (CONDITION_ND) { ACTION_3 } else { NODE_139: if (CONDITION_WD) { ACTION_3 } else { ACTION_32 } } } else { if (CONDITION_ND) { ACTION_33 } else { NODE_140: if (CONDITION_WD) { ACTION_33 } else { ACTION_196 } } } } else { NODE_141: if (CONDITION_ND) { ACTION_33 } else { NODE_142: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_33 } else { goto NODE_40; } } else { ACTION_33 } } } } else { NODE_143: if (CONDITION_XC) { NODE_144: if (CONDITION_ND) { NODE_145: if (CONDITION_RA) { ACTION_3 } else { NODE_146: if (CONDITION_RB) { ACTION_32 } else { ACTION_3 } } } else { if (CONDITION_WD) { goto NODE_145; } else { if (CONDITION_RA) { ACTION_32 } else { if (CONDITION_QB) { NODE_147: if (CONDITION_RB) { ACTION_190 } else { ACTION_31 } } else { goto NODE_146; } } } } } else { goto NODE_26; } } } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { goto NODE_5; } else { if (CONDITION_WD) { goto NODE_5; } else { goto NODE_25; } } } else { if (CONDITION_XD) { NODE_148: if (CONDITION_ND) { ACTION_32 } else { NODE_149: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_32 } else { NODE_150: if (CONDITION_XC) { ACTION_190 } else { ACTION_32 } } } else { ACTION_32 } } } else { if (CONDITION_XC) { NODE_151: if (CONDITION_ND) { ACTION_32 } else { NODE_152: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_32 } else { ACTION_190 } } else { ACTION_32 } } } else { goto NODE_26; } } } } else { if (CONDITION_ND) { goto NODE_5; } else { if (CONDITION_WD) { goto NODE_5; } else { goto NODE_24; } } } } } else { if (CONDITION_LD) { goto NODE_137; } else { if (CONDITION_MC) { if (CONDITION_XB) { if (CONDITION_XD) { NODE_153: if (CONDITION_RB) { NODE_154: if (CONDITION_RA) { if (CONDITION_ND) { ACTION_27 } else { if (CONDITION_WD) { ACTION_27 } else { ACTION_161 } } } else { if (CONDITION_ND) { ACTION_161 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_161 } else { NODE_155: if (CONDITION_XC) { ACTION_583 } else { ACTION_161 } } } else { ACTION_161 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_162 } else { if (CONDITION_WD) { ACTION_162 } else { if (CONDITION_RA) { ACTION_589 } else { NODE_156: if (CONDITION_QB) { NODE_157: if (CONDITION_XC) { ACTION_584 } else { ACTION_162 } } else { ACTION_162 } } } } } else { if (CONDITION_ND) { ACTION_27 } else { if (CONDITION_WD) { ACTION_27 } else { if (CONDITION_RA) { ACTION_161 } else { NODE_158: if (CONDITION_QB) { goto NODE_52; } else { ACTION_27 } } } } } } } else { if (CONDITION_XC) { NODE_159: if (CONDITION_ND) { NODE_160: if (CONDITION_RA) { ACTION_27 } else { NODE_161: if (CONDITION_RB) { ACTION_161 } else { ACTION_27 } } } else { if (CONDITION_WD) { goto NODE_160; } else { if (CONDITION_RA) { ACTION_161 } else { if (CONDITION_QB) { NODE_162: if (CONDITION_RB) { ACTION_583 } else { ACTION_160 } } else { goto NODE_161; } } } } } else { ACTION_27 } } } else { if (CONDITION_XD) { if (CONDITION_PA) { goto NODE_153; } else { if (CONDITION_RB) { NODE_163: if (CONDITION_RA) { goto NODE_138; } else { goto NODE_148; } } else { if (CONDITION_SA) { NODE_164: if (CONDITION_ND) { ACTION_33 } else { if (CONDITION_WD) { ACTION_33 } else { goto NODE_38; } } } else { NODE_165: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WD) { ACTION_3 } else { NODE_166: if (CONDITION_RA) { ACTION_32 } else { NODE_167: if (CONDITION_QB) { goto NODE_50; } else { ACTION_3 } } } } } } } } else { NODE_168: if (CONDITION_XA) { if (CONDITION_XC) { goto NODE_144; } else { ACTION_3 } } else { NODE_169: if (CONDITION_XC) { goto NODE_144; } else { ACTION_0 } } } } } else { if (CONDITION_PA) { if (CONDITION_XB) { if (CONDITION_XD) { NODE_170: if (CONDITION_RB) { if (CONDITION_RA) { NODE_171: if (CONDITION_ND) { ACTION_30 } else { if (CONDITION_WD) { ACTION_30 } else { ACTION_184 } } } else { NODE_172: if (CONDITION_ND) { ACTION_184 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_184 } else { NODE_173: if (CONDITION_XC) { ACTION_656 } else { ACTION_184 } } } else { ACTION_184 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_185 } else { if (CONDITION_WD) { ACTION_185 } else { if (CONDITION_RA) { ACTION_662 } else { if (CONDITION_QB) { NODE_174: if (CONDITION_XC) { ACTION_657 } else { ACTION_185 } } else { ACTION_185 } } } } } else { goto NODE_125; } } } else { if (CONDITION_XC) { if (CONDITION_ND) { NODE_175: if (CONDITION_RA) { ACTION_30 } else { NODE_176: if (CONDITION_RB) { ACTION_184 } else { ACTION_30 } } } else { if (CONDITION_WD) { goto NODE_175; } else { if (CONDITION_RA) { ACTION_184 } else { if (CONDITION_QB) { NODE_177: if (CONDITION_RB) { ACTION_656 } else { ACTION_183 } } else { goto NODE_176; } } } } } else { ACTION_30 } } } else { if (CONDITION_XD) { goto NODE_170; } else { goto NODE_168; } } } else { if (CONDITION_VC) { if (CONDITION_XB) { if (CONDITION_XD) { if (CONDITION_RB) { NODE_178: if (CONDITION_RA) { if (CONDITION_ND) { ACTION_36 } else { if (CONDITION_WD) { ACTION_36 } else { ACTION_199 } } } else { if (CONDITION_ND) { ACTION_199 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_199 } else { NODE_179: if (CONDITION_XC) { ACTION_679 } else { ACTION_199 } } } else { ACTION_199 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_203 } else { if (CONDITION_WD) { ACTION_203 } else { if (CONDITION_RA) { ACTION_693 } else { NODE_180: if (CONDITION_QB) { NODE_181: if (CONDITION_XC) { ACTION_683 } else { ACTION_203 } } else { ACTION_203 } } } } } else { if (CONDITION_ND) { ACTION_36 } else { if (CONDITION_WD) { ACTION_36 } else { if (CONDITION_RA) { ACTION_199 } else { NODE_182: if (CONDITION_QB) { goto NODE_54; } else { ACTION_36 } } } } } } } else { if (CONDITION_XC) { NODE_183: if (CONDITION_ND) { NODE_184: if (CONDITION_RA) { ACTION_36 } else { NODE_185: if (CONDITION_RB) { ACTION_199 } else { ACTION_36 } } } else { if (CONDITION_WD) { goto NODE_184; } else { if (CONDITION_RA) { ACTION_199 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_679 } else { ACTION_194 } } else { goto NODE_185; } } } } } else { ACTION_36 } } } else { if (CONDITION_SA) { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_163; } else { if (CONDITION_XC) { if (CONDITION_RA) { goto NODE_138; } else { goto NODE_151; } } else { goto NODE_124; } } } else { if (CONDITION_XD) { goto NODE_164; } else { goto NODE_128; } } } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WD) { ACTION_3 } else { NODE_186: if (CONDITION_XC) { ACTION_32 } else { NODE_187: if (CONDITION_XD) { ACTION_32 } else { ACTION_3 } } } } } else { if (CONDITION_XD) { goto NODE_148; } else { if (CONDITION_XC) { goto NODE_151; } else { ACTION_3 } } } } else { if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WD) { ACTION_3 } else { if (CONDITION_RA) { goto NODE_186; } else { goto NODE_167; } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { goto NODE_163; } else { goto NODE_165; } } else { goto NODE_169; } } } } } else { goto NODE_137; } } } } } } } } else { if (CONDITION_WB) { NODE_188: if (CONDITION_OC) { goto NODE_100; } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_PA) { if (CONDITION_LD) { NODE_189: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WD) { ACTION_3 } else { if (CONDITION_RB) { NODE_190: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_3 } else { goto NODE_50; } } else { ACTION_3 } } else { goto NODE_166; } } } } else { if (CONDITION_UD) { goto NODE_189; } else { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_7 } else { if (CONDITION_WD) { ACTION_7 } else { if (CONDITION_XA) { ACTION_30 } else { if (CONDITION_XB) { ACTION_30 } else { NODE_191: if (CONDITION_XC) { ACTION_30 } else { ACTION_7 } } } } } } else { NODE_192: if (CONDITION_ND) { ACTION_66 } else { if (CONDITION_WD) { ACTION_66 } else { if (CONDITION_XA) { ACTION_184 } else { if (CONDITION_XB) { ACTION_184 } else { NODE_193: if (CONDITION_XC) { ACTION_184 } else { ACTION_66 } } } } } } } else { NODE_194: if (CONDITION_XA) { goto NODE_119; } else { if (CONDITION_XB) { goto NODE_119; } else { NODE_195: if (CONDITION_XC) { goto NODE_123; } else { ACTION_7 } } } } } } } else { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { NODE_196: if (CONDITION_LD) { ACTION_3 } else { if (CONDITION_UD) { ACTION_3 } else { NODE_197: if (CONDITION_XB) { goto NODE_58; } else { ACTION_3 } } } } else { if (CONDITION_WD) { goto NODE_196; } else { if (CONDITION_XA) { NODE_198: if (CONDITION_LD) { ACTION_30 } else { if (CONDITION_UD) { ACTION_30 } else { if (CONDITION_XB) { NODE_199: if (CONDITION_MC) { ACTION_159 } else { goto NODE_111; } } else { ACTION_30 } } } } else { if (CONDITION_XC) { goto NODE_198; } else { if (CONDITION_XB) { NODE_200: if (CONDITION_LD) { ACTION_30 } else { if (CONDITION_UD) { ACTION_30 } else { goto NODE_199; } } } else { ACTION_7 } } } } } } else { if (CONDITION_ND) { goto NODE_198; } else { if (CONDITION_WD) { goto NODE_198; } else { if (CONDITION_XA) { NODE_201: if (CONDITION_LD) { ACTION_184 } else { if (CONDITION_UD) { ACTION_184 } else { if (CONDITION_XB) { NODE_202: if (CONDITION_MC) { ACTION_578 } else { NODE_203: if (CONDITION_VC) { ACTION_665 } else { ACTION_184 } } } else { ACTION_184 } } } } else { if (CONDITION_XC) { goto NODE_201; } else { if (CONDITION_XB) { NODE_204: if (CONDITION_LD) { ACTION_184 } else { if (CONDITION_UD) { ACTION_184 } else { goto NODE_202; } } } else { ACTION_66 } } } } } } } else { if (CONDITION_LD) { goto NODE_194; } else { if (CONDITION_UD) { goto NODE_194; } else { if (CONDITION_XB) { if (CONDITION_MC) { goto NODE_131; } else { if (CONDITION_VC) { goto NODE_135; } else { goto NODE_119; } } } else { NODE_205: if (CONDITION_XA) { goto NODE_119; } else { goto NODE_195; } } } } } } } else { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_RA) { if (CONDITION_LD) { goto NODE_138; } else { if (CONDITION_UD) { goto NODE_138; } else { goto NODE_192; } } } else { if (CONDITION_LD) { goto NODE_148; } else { if (CONDITION_UD) { goto NODE_148; } else { if (CONDITION_XA) { goto NODE_172; } else { if (CONDITION_XB) { goto NODE_172; } else { if (CONDITION_XC) { NODE_206: if (CONDITION_ND) { ACTION_184 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_184 } else { ACTION_656 } } else { ACTION_184 } } } else { ACTION_66 } } } } } } } else { if (CONDITION_XB) { if (CONDITION_LD) { goto NODE_163; } else { if (CONDITION_UD) { goto NODE_163; } else { if (CONDITION_MC) { goto NODE_154; } else { if (CONDITION_VC) { goto NODE_178; } else { goto NODE_163; } } } } } else { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_9 } else { if (CONDITION_WD) { ACTION_9 } else { if (CONDITION_XA) { ACTION_32 } else { NODE_207: if (CONDITION_XC) { ACTION_32 } else { ACTION_9 } } } } } else { if (CONDITION_XA) { goto NODE_148; } else { NODE_208: if (CONDITION_XC) { goto NODE_151; } else { ACTION_9 } } } } } } else { if (CONDITION_PA) { if (CONDITION_SA) { if (CONDITION_LD) { goto NODE_164; } else { if (CONDITION_UD) { goto NODE_164; } else { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_324 } else { if (CONDITION_WD) { ACTION_324 } else { if (CONDITION_XA) { ACTION_662 } else { if (CONDITION_XB) { ACTION_662 } else { if (CONDITION_XC) { ACTION_662 } else { ACTION_324 } } } } } } else { if (CONDITION_XA) { NODE_209: if (CONDITION_ND) { ACTION_185 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_185 } else { goto NODE_174; } } else { ACTION_185 } } } else { if (CONDITION_XB) { goto NODE_209; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_185 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_185 } else { ACTION_657 } } else { ACTION_185 } } } else { ACTION_67 } } } } } } } else { if (CONDITION_LD) { goto NODE_165; } else { if (CONDITION_UD) { goto NODE_165; } else { if (CONDITION_RA) { goto NODE_192; } else { goto NODE_194; } } } } } else { if (CONDITION_SA) { if (CONDITION_RA) { if (CONDITION_ND) { goto NODE_106; } else { if (CONDITION_WD) { goto NODE_106; } else { if (CONDITION_XA) { NODE_210: if (CONDITION_LD) { ACTION_196 } else { if (CONDITION_UD) { ACTION_196 } else { NODE_211: if (CONDITION_XB) { NODE_212: if (CONDITION_MC) { ACTION_589 } else { if (CONDITION_VC) { ACTION_693 } else { ACTION_196 } } } else { ACTION_196 } } } } else { if (CONDITION_XC) { goto NODE_210; } else { if (CONDITION_XB) { NODE_213: if (CONDITION_LD) { ACTION_196 } else { if (CONDITION_UD) { ACTION_196 } else { goto NODE_212; } } } else { ACTION_78 } } } } } } else { if (CONDITION_LD) { NODE_214: if (CONDITION_XA) { goto NODE_141; } else { if (CONDITION_XB) { goto NODE_141; } else { NODE_215: if (CONDITION_XC) { if (CONDITION_ND) { ACTION_33 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_33 } else { ACTION_191 } } else { ACTION_33 } } } else { ACTION_10 } } } } else { if (CONDITION_UD) { goto NODE_214; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_ND) { ACTION_162 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_162 } else { goto NODE_157; } } else { ACTION_162 } } } else { if (CONDITION_VC) { if (CONDITION_ND) { ACTION_203 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_203 } else { goto NODE_181; } } else { ACTION_203 } } } else { goto NODE_141; } } } else { if (CONDITION_XA) { goto NODE_141; } else { goto NODE_215; } } } } } } else { if (CONDITION_RA) { if (CONDITION_ND) { goto NODE_196; } else { if (CONDITION_WD) { goto NODE_196; } else { if (CONDITION_XA) { NODE_216: if (CONDITION_LD) { ACTION_32 } else { if (CONDITION_UD) { ACTION_32 } else { NODE_217: if (CONDITION_XB) { NODE_218: if (CONDITION_MC) { ACTION_161 } else { NODE_219: if (CONDITION_VC) { ACTION_199 } else { ACTION_32 } } } else { ACTION_32 } } } } else { if (CONDITION_XC) { goto NODE_216; } else { if (CONDITION_XB) { NODE_220: if (CONDITION_LD) { ACTION_32 } else { if (CONDITION_UD) { ACTION_32 } else { goto NODE_218; } } } else { ACTION_9 } } } } } } else { if (CONDITION_LD) { NODE_221: if (CONDITION_XA) { NODE_222: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_QB) { goto NODE_49; } else { ACTION_3 } } } else { if (CONDITION_XB) { goto NODE_222; } else { NODE_223: if (CONDITION_XC) { if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_QB) { goto NODE_57; } else { ACTION_3 } } } else { ACTION_1 } } } } else { if (CONDITION_UD) { goto NODE_221; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_ND) { ACTION_27 } else { if (CONDITION_QB) { goto NODE_51; } else { ACTION_27 } } } else { if (CONDITION_VC) { if (CONDITION_ND) { ACTION_36 } else { if (CONDITION_QB) { goto NODE_53; } else { ACTION_36 } } } else { goto NODE_222; } } } else { if (CONDITION_XA) { goto NODE_222; } else { goto NODE_223; } } } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_XB) { if (CONDITION_UD) { NODE_224: if (CONDITION_PA) { if (CONDITION_ND) { NODE_225: if (CONDITION_PC) { ACTION_3 } else { goto NODE_145; } } else { if (CONDITION_WD) { goto NODE_225; } else { if (CONDITION_QB) { if (CONDITION_RB) { if (CONDITION_PC) { if (CONDITION_RA) { ACTION_3 } else { ACTION_31 } } else { NODE_226: if (CONDITION_RA) { ACTION_31 } else { ACTION_190 } } } else { ACTION_31 } } else { if (CONDITION_PC) { NODE_227: if (CONDITION_RA) { NODE_228: if (CONDITION_RB) { ACTION_3 } else { ACTION_32 } } else { ACTION_3 } } else { if (CONDITION_RA) { ACTION_32 } else { goto NODE_146; } } } } } } else { NODE_229: if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_116; } else { goto NODE_171; } } else { goto NODE_123; } } else { goto NODE_144; } } } else { if (CONDITION_LD) { goto NODE_224; } else { if (CONDITION_PA) { if (CONDITION_RB) { if (CONDITION_PC) { goto NODE_122; } else { if (CONDITION_RA) { goto NODE_171; } else { goto NODE_206; } } } else { if (CONDITION_ND) { ACTION_30 } else { if (CONDITION_WD) { ACTION_30 } else { if (CONDITION_QB) { ACTION_183 } else { if (CONDITION_RA) { ACTION_184 } else { ACTION_30 } } } } } } else { if (CONDITION_MC) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_129; } else { if (CONDITION_ND) { ACTION_159 } else { if (CONDITION_WD) { ACTION_159 } else { ACTION_578 } } } } else { if (CONDITION_ND) { ACTION_159 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_159 } else { ACTION_577 } } else { ACTION_159 } } } } else { goto NODE_159; } } else { if (CONDITION_VC) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_133; } else { if (CONDITION_ND) { ACTION_188 } else { if (CONDITION_WD) { ACTION_188 } else { ACTION_665 } } } } else { if (CONDITION_ND) { ACTION_188 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_188 } else { ACTION_660 } } else { ACTION_188 } } } } else { goto NODE_183; } } else { goto NODE_229; } } } } } } else { if (CONDITION_ND) { NODE_230: if (CONDITION_RA) { ACTION_3 } else { NODE_231: if (CONDITION_RB) { NODE_232: if (CONDITION_PA) { if (CONDITION_PC) { goto NODE_105; } else { ACTION_32 } } else { ACTION_32 } } else { ACTION_3 } } } else { if (CONDITION_WD) { goto NODE_230; } else { if (CONDITION_RA) { NODE_233: if (CONDITION_PA) { if (CONDITION_PC) { if (CONDITION_RB) { goto NODE_105; } else { ACTION_32 } } else { ACTION_32 } } else { ACTION_32 } } else { if (CONDITION_QB) { NODE_234: if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_PC) { NODE_235: if (CONDITION_LD) { ACTION_31 } else { if (CONDITION_UD) { ACTION_31 } else { ACTION_183 } } } else { ACTION_190 } } else { ACTION_190 } } else { ACTION_31 } } else { goto NODE_231; } } } } } } else { if (CONDITION_XA) { if (CONDITION_XB) { NODE_236: if (CONDITION_LD) { NODE_237: if (CONDITION_PA) { ACTION_3 } else { NODE_238: if (CONDITION_PC) { NODE_239: if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_116; } else { ACTION_30 } } else { ACTION_30 } } else { ACTION_3 } } } else { if (CONDITION_UD) { goto NODE_237; } else { if (CONDITION_PA) { if (CONDITION_PC) { goto NODE_239; } else { ACTION_30 } } else { if (CONDITION_MC) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_129; } else { ACTION_159 } } else { ACTION_159 } } else { ACTION_27 } } else { if (CONDITION_VC) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_133; } else { ACTION_188 } } else { ACTION_188 } } else { ACTION_36 } } else { goto NODE_238; } } } } } } else { ACTION_3 } } else { if (CONDITION_XB) { goto NODE_236; } else { ACTION_0 } } } } } } else { if (CONDITION_NB) { goto NODE_188; } else { if (CONDITION_OC) { if (CONDITION_XA) { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_PC) { NODE_240: if (CONDITION_LD) { ACTION_3 } else { if (CONDITION_UD) { ACTION_3 } else { ACTION_29 } } } else { NODE_241: if (CONDITION_LD) { ACTION_29 } else { if (CONDITION_UD) { ACTION_29 } else { ACTION_176 } } } } else { goto NODE_83; } } else { if (CONDITION_PC) { if (CONDITION_PA) { goto NODE_241; } else { if (CONDITION_LD) { ACTION_176 } else { if (CONDITION_UD) { ACTION_176 } else { if (CONDITION_XB) { NODE_242: if (CONDITION_MC) { ACTION_570 } else { NODE_243: if (CONDITION_VC) { ACTION_640 } else { ACTION_176 } } } else { ACTION_176 } } } } } else { if (CONDITION_SA) { if (CONDITION_LD) { ACTION_178 } else { if (CONDITION_UD) { ACTION_178 } else { if (CONDITION_PA) { ACTION_637 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_572 } else { if (CONDITION_VC) { ACTION_648 } else { ACTION_178 } } } else { ACTION_178 } } } } } else { if (CONDITION_LD) { ACTION_29 } else { if (CONDITION_UD) { ACTION_29 } else { if (CONDITION_PA) { ACTION_176 } else { goto NODE_84; } } } } } } } else { if (CONDITION_XB) { if (CONDITION_PC) { if (CONDITION_PA) { if (CONDITION_RB) { goto NODE_240; } else { goto NODE_241; } } else { if (CONDITION_RB) { goto NODE_87; } else { if (CONDITION_LD) { ACTION_176 } else { if (CONDITION_UD) { ACTION_176 } else { goto NODE_242; } } } } } else { if (CONDITION_LD) { ACTION_29 } else { if (CONDITION_UD) { ACTION_29 } else { if (CONDITION_MC) { ACTION_158 } else { if (CONDITION_PA) { ACTION_176 } else { goto NODE_86; } } } } } } else { if (CONDITION_PA) { if (CONDITION_PC) { if (CONDITION_RB) { goto NODE_240; } else { ACTION_29 } } else { ACTION_29 } } else { ACTION_29 } } } } else { if (CONDITION_XB) { if (CONDITION_LD) { NODE_244: if (CONDITION_PC) { if (CONDITION_PA) { if (CONDITION_RB) { ACTION_3 } else { ACTION_29 } } else { NODE_245: if (CONDITION_RB) { ACTION_29 } else { ACTION_176 } } } else { if (CONDITION_RB) { ACTION_29 } else { NODE_246: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_178 } else { ACTION_29 } } else { ACTION_29 } } } } else { if (CONDITION_UD) { goto NODE_244; } else { if (CONDITION_PA) { if (CONDITION_PC) { goto NODE_245; } else { if (CONDITION_RB) { ACTION_176 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_637 } else { ACTION_176 } } else { ACTION_176 } } } } else { if (CONDITION_MC) { if (CONDITION_RB) { ACTION_158 } else { if (CONDITION_PC) { ACTION_570 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_572 } else { ACTION_158 } } else { ACTION_158 } } } } else { if (CONDITION_RB) { goto NODE_86; } else { if (CONDITION_PC) { goto NODE_243; } else { if (CONDITION_VC) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_648 } else { ACTION_181 } } else { ACTION_181 } } else { goto NODE_246; } } } } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { NODE_247: if (CONDITION_PA) { NODE_248: if (CONDITION_PC) { ACTION_6 } else { ACTION_57 } } else { ACTION_6 } } else { NODE_249: if (CONDITION_PC) { ACTION_57 } else { if (CONDITION_PA) { if (CONDITION_SA) { ACTION_292 } else { ACTION_57 } } else { NODE_250: if (CONDITION_SA) { ACTION_60 } else { ACTION_6 } } } } } else { NODE_251: if (CONDITION_XC) { ACTION_6 } else { ACTION_0 } } } } } else { if (CONDITION_ND) { if (CONDITION_XA) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_PA) { NODE_252: if (CONDITION_LD) { ACTION_3 } else { if (CONDITION_UD) { ACTION_3 } else { ACTION_28 } } } else { if (CONDITION_LD) { ACTION_28 } else { if (CONDITION_UD) { ACTION_28 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_157 } else { if (CONDITION_VC) { ACTION_174 } else { ACTION_28 } } } else { ACTION_28 } } } } } else { NODE_253: if (CONDITION_PA) { NODE_254: if (CONDITION_LD) { ACTION_28 } else { if (CONDITION_UD) { ACTION_28 } else { ACTION_168 } } } else { if (CONDITION_LD) { ACTION_168 } else { if (CONDITION_UD) { ACTION_168 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_563 } else { if (CONDITION_VC) { ACTION_614 } else { ACTION_168 } } } else { ACTION_168 } } } } } } else { goto NODE_253; } } else { if (CONDITION_LD) { NODE_255: if (CONDITION_RA) { NODE_256: if (CONDITION_RB) { ACTION_28 } else { NODE_257: if (CONDITION_SA) { ACTION_171 } else { ACTION_28 } } } else { if (CONDITION_RB) { ACTION_170 } else { goto NODE_257; } } } else { if (CONDITION_UD) { goto NODE_255; } else { if (CONDITION_PA) { if (CONDITION_RA) { NODE_258: if (CONDITION_RB) { ACTION_168 } else { NODE_259: if (CONDITION_SA) { ACTION_611 } else { ACTION_168 } } } else { if (CONDITION_RB) { ACTION_610 } else { goto NODE_259; } } } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_RA) { NODE_260: if (CONDITION_RB) { ACTION_157 } else { NODE_261: if (CONDITION_SA) { ACTION_565 } else { ACTION_157 } } } else { if (CONDITION_RB) { ACTION_564 } else { goto NODE_261; } } } else { if (CONDITION_VC) { if (CONDITION_RA) { NODE_262: if (CONDITION_RB) { ACTION_174 } else { NODE_263: if (CONDITION_SA) { ACTION_629 } else { ACTION_174 } } } else { if (CONDITION_RB) { ACTION_625 } else { goto NODE_263; } } } else { goto NODE_255; } } } else { goto NODE_255; } } } } } } else { if (CONDITION_XB) { if (CONDITION_LD) { NODE_264: if (CONDITION_PC) { if (CONDITION_PA) { NODE_265: if (CONDITION_RA) { NODE_266: if (CONDITION_RB) { ACTION_3 } else { ACTION_28 } } else { ACTION_28 } } else { NODE_267: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_28 } else { ACTION_168 } } else { ACTION_168 } } } else { NODE_268: if (CONDITION_RA) { ACTION_28 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_170 } else { ACTION_28 } } else { ACTION_28 } } } } else { if (CONDITION_UD) { goto NODE_264; } else { if (CONDITION_PA) { if (CONDITION_RB) { if (CONDITION_PC) { if (CONDITION_RA) { ACTION_28 } else { ACTION_168 } } else { if (CONDITION_RA) { ACTION_168 } else { if (CONDITION_XC) { ACTION_610 } else { ACTION_168 } } } } else { ACTION_168 } } else { if (CONDITION_MC) { if (CONDITION_PC) { NODE_269: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_157 } else { ACTION_563 } } else { ACTION_563 } } else { if (CONDITION_RA) { ACTION_157 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_564 } else { ACTION_157 } } else { ACTION_157 } } } } else { if (CONDITION_VC) { if (CONDITION_PC) { NODE_270: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_174 } else { ACTION_614 } } else { ACTION_614 } } else { if (CONDITION_RA) { ACTION_174 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_625 } else { ACTION_174 } } else { ACTION_174 } } } } else { if (CONDITION_PC) { goto NODE_267; } else { goto NODE_268; } } } } } } } else { if (CONDITION_RB) { if (CONDITION_XC) { if (CONDITION_RA) { if (CONDITION_PA) { if (CONDITION_PC) { goto NODE_252; } else { ACTION_28 } } else { ACTION_28 } } else { if (CONDITION_PA) { if (CONDITION_PC) { goto NODE_254; } else { ACTION_170 } } else { ACTION_170 } } } else { if (CONDITION_PA) { if (CONDITION_PC) { if (CONDITION_RA) { goto NODE_252; } else { ACTION_28 } } else { ACTION_28 } } else { ACTION_28 } } } else { ACTION_28 } } } } else { if (CONDITION_XB) { if (CONDITION_PC) { if (CONDITION_PA) { if (CONDITION_LD) { NODE_271: if (CONDITION_XC) { goto NODE_265; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_3 } else { if (CONDITION_XD) { ACTION_28 } else { ACTION_3 } } } else { ACTION_3 } } } else { if (CONDITION_UD) { goto NODE_271; } else { NODE_272: if (CONDITION_XC) { goto NODE_267; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_30 } else { if (CONDITION_XD) { ACTION_168 } else { ACTION_30 } } } else { ACTION_30 } } } } } else { if (CONDITION_LD) { goto NODE_272; } else { if (CONDITION_UD) { goto NODE_272; } else { if (CONDITION_MC) { if (CONDITION_XC) { goto NODE_269; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_159 } else { if (CONDITION_XD) { ACTION_563 } else { ACTION_159 } } } else { ACTION_159 } } } else { if (CONDITION_VC) { if (CONDITION_XC) { goto NODE_270; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_188 } else { if (CONDITION_XD) { ACTION_614 } else { ACTION_188 } } } else { ACTION_188 } } } else { goto NODE_272; } } } } } } else { if (CONDITION_LD) { NODE_273: if (CONDITION_RA) { if (CONDITION_XC) { NODE_274: if (CONDITION_RB) { ACTION_28 } else { NODE_275: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_171 } else { ACTION_28 } } else { ACTION_28 } } } else { if (CONDITION_XD) { goto NODE_256; } else { ACTION_3 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_170 } else { goto NODE_275; } } else { NODE_276: if (CONDITION_XD) { NODE_277: if (CONDITION_RB) { ACTION_32 } else { goto NODE_3; } } else { ACTION_3 } } } } else { if (CONDITION_UD) { goto NODE_273; } else { if (CONDITION_MC) { if (CONDITION_RA) { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_157 } else { NODE_278: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_565 } else { ACTION_157 } } else { ACTION_157 } } } else { if (CONDITION_XD) { goto NODE_260; } else { ACTION_27 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_564 } else { goto NODE_278; } } else { NODE_279: if (CONDITION_XD) { if (CONDITION_RB) { ACTION_161 } else { if (CONDITION_SA) { ACTION_162 } else { ACTION_27 } } } else { ACTION_27 } } } } else { if (CONDITION_PA) { if (CONDITION_RA) { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_168 } else { NODE_280: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_611 } else { ACTION_168 } } else { ACTION_168 } } } else { if (CONDITION_XD) { goto NODE_258; } else { ACTION_30 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_610 } else { goto NODE_280; } } else { NODE_281: if (CONDITION_XD) { if (CONDITION_RB) { ACTION_184 } else { if (CONDITION_SA) { ACTION_185 } else { ACTION_30 } } } else { ACTION_30 } } } } else { if (CONDITION_VC) { if (CONDITION_RA) { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_174 } else { NODE_282: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_629 } else { ACTION_174 } } else { ACTION_174 } } } else { if (CONDITION_XD) { goto NODE_262; } else { ACTION_36 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_625 } else { goto NODE_282; } } else { NODE_283: if (CONDITION_XD) { if (CONDITION_RB) { ACTION_199 } else { if (CONDITION_SA) { ACTION_203 } else { ACTION_36 } } } else { ACTION_36 } } } } else { goto NODE_273; } } } } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { NODE_284: if (CONDITION_RB) { if (CONDITION_RA) { ACTION_7 } else { NODE_285: if (CONDITION_XC) { ACTION_49 } else { ACTION_7 } } } else { if (CONDITION_RA) { ACTION_49 } else { goto NODE_285; } } } else { if (CONDITION_RA) { if (CONDITION_PA) { NODE_286: if (CONDITION_RB) { ACTION_49 } else { NODE_287: if (CONDITION_SA) { ACTION_264 } else { ACTION_49 } } } else { NODE_288: if (CONDITION_RB) { ACTION_5 } else { NODE_289: if (CONDITION_SA) { ACTION_52 } else { ACTION_5 } } } } else { if (CONDITION_RB) { if (CONDITION_PA) { NODE_290: if (CONDITION_XC) { ACTION_263 } else { ACTION_66 } } else { NODE_291: if (CONDITION_XC) { ACTION_51 } else { ACTION_9 } } } else { if (CONDITION_PA) { NODE_292: if (CONDITION_SA) { NODE_293: if (CONDITION_XC) { ACTION_264 } else { ACTION_67 } } else { goto NODE_285; } } else { NODE_294: if (CONDITION_SA) { if (CONDITION_XC) { ACTION_52 } else { ACTION_10 } } else { NODE_295: if (CONDITION_XC) { ACTION_5 } else { ACTION_1 } } } } } } } else { NODE_296: if (CONDITION_XC) { NODE_297: if (CONDITION_RA) { ACTION_5 } else { NODE_298: if (CONDITION_RB) { ACTION_51 } else { ACTION_5 } } } else { ACTION_0 } } } } } else { if (CONDITION_WD) { if (CONDITION_XA) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_299: if (CONDITION_PA) { goto NODE_105; } else { goto NODE_198; } } else { NODE_300: if (CONDITION_PA) { NODE_301: if (CONDITION_LD) { ACTION_32 } else { if (CONDITION_UD) { ACTION_32 } else { ACTION_184 } } } else { goto NODE_201; } } } else { if (CONDITION_PA) { NODE_302: if (CONDITION_LD) { ACTION_37 } else { if (CONDITION_UD) { ACTION_37 } else { ACTION_189 } } } else { if (CONDITION_LD) { ACTION_189 } else { if (CONDITION_UD) { ACTION_189 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_582 } else { if (CONDITION_VC) { ACTION_676 } else { ACTION_189 } } } else { ACTION_189 } } } } } } else { if (CONDITION_LD) { NODE_303: if (CONDITION_RA) { NODE_304: if (CONDITION_RB) { ACTION_32 } else { NODE_305: if (CONDITION_SA) { ACTION_196 } else { ACTION_32 } } } else { if (CONDITION_RB) { ACTION_200 } else { NODE_306: if (CONDITION_SA) { ACTION_204 } else { ACTION_37 } } } } else { if (CONDITION_UD) { goto NODE_303; } else { if (CONDITION_PA) { if (CONDITION_RA) { NODE_307: if (CONDITION_RB) { ACTION_184 } else { if (CONDITION_SA) { ACTION_662 } else { ACTION_184 } } } else { if (CONDITION_RB) { ACTION_666 } else { if (CONDITION_SA) { ACTION_670 } else { ACTION_189 } } } } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_RA) { NODE_308: if (CONDITION_RB) { ACTION_161 } else { if (CONDITION_SA) { ACTION_589 } else { ACTION_161 } } } else { if (CONDITION_RB) { ACTION_593 } else { if (CONDITION_SA) { ACTION_597 } else { ACTION_166 } } } } else { if (CONDITION_VC) { if (CONDITION_RA) { NODE_309: if (CONDITION_RB) { ACTION_199 } else { if (CONDITION_SA) { ACTION_693 } else { ACTION_199 } } } else { if (CONDITION_RB) { ACTION_700 } else { if (CONDITION_SA) { ACTION_706 } else { ACTION_210 } } } } else { goto NODE_303; } } } else { goto NODE_303; } } } } } } else { if (CONDITION_XB) { if (CONDITION_LD) { NODE_310: if (CONDITION_PC) { if (CONDITION_PA) { NODE_311: if (CONDITION_RA) { goto NODE_228; } else { ACTION_37 } } else { NODE_312: if (CONDITION_RA) { NODE_313: if (CONDITION_RB) { ACTION_30 } else { ACTION_184 } } else { ACTION_189 } } } else { NODE_314: if (CONDITION_RA) { ACTION_37 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_200 } else { ACTION_37 } } else { ACTION_37 } } } } else { if (CONDITION_UD) { goto NODE_310; } else { if (CONDITION_PA) { if (CONDITION_RB) { if (CONDITION_PC) { if (CONDITION_RA) { ACTION_30 } else { ACTION_189 } } else { if (CONDITION_RA) { ACTION_189 } else { if (CONDITION_XC) { ACTION_666 } else { ACTION_189 } } } } else { ACTION_189 } } else { if (CONDITION_MC) { if (CONDITION_PC) { NODE_315: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_159 } else { ACTION_578 } } else { ACTION_582 } } else { if (CONDITION_RA) { ACTION_166 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_593 } else { ACTION_166 } } else { ACTION_166 } } } } else { if (CONDITION_VC) { if (CONDITION_PC) { NODE_316: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_188 } else { ACTION_665 } } else { ACTION_676 } } else { if (CONDITION_RA) { ACTION_210 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_700 } else { ACTION_210 } } else { ACTION_210 } } } } else { if (CONDITION_PC) { goto NODE_312; } else { goto NODE_314; } } } } } } } else { if (CONDITION_RB) { if (CONDITION_XC) { if (CONDITION_RA) { goto NODE_232; } else { if (CONDITION_PA) { if (CONDITION_PC) { goto NODE_302; } else { ACTION_200 } } else { ACTION_200 } } } else { if (CONDITION_PA) { if (CONDITION_PC) { if (CONDITION_RA) { goto NODE_105; } else { ACTION_37 } } else { ACTION_37 } } else { ACTION_37 } } } else { ACTION_37 } } } } else { if (CONDITION_XB) { if (CONDITION_PC) { if (CONDITION_PA) { if (CONDITION_LD) { NODE_317: if (CONDITION_XC) { goto NODE_311; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_3 } else { goto NODE_187; } } else { ACTION_3 } } } else { if (CONDITION_UD) { goto NODE_317; } else { NODE_318: if (CONDITION_XC) { goto NODE_312; } else { NODE_319: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_30 } else { goto NODE_118; } } else { ACTION_30 } } } } } else { if (CONDITION_LD) { goto NODE_318; } else { if (CONDITION_UD) { goto NODE_318; } else { if (CONDITION_MC) { if (CONDITION_XC) { goto NODE_315; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_159 } else { goto NODE_130; } } else { ACTION_159 } } } else { if (CONDITION_VC) { if (CONDITION_XC) { goto NODE_316; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_188 } else { goto NODE_134; } } else { ACTION_188 } } } else { goto NODE_318; } } } } } } else { if (CONDITION_LD) { NODE_320: if (CONDITION_RA) { NODE_321: if (CONDITION_XC) { NODE_322: if (CONDITION_RB) { ACTION_32 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_196 } else { ACTION_32 } } else { ACTION_32 } } } else { NODE_323: if (CONDITION_XD) { goto NODE_304; } else { ACTION_3 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_200 } else { NODE_324: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_204 } else { ACTION_37 } } else { ACTION_37 } } } else { goto NODE_276; } } } else { if (CONDITION_UD) { goto NODE_320; } else { if (CONDITION_MC) { if (CONDITION_RA) { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_161 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_589 } else { ACTION_161 } } else { ACTION_161 } } } else { if (CONDITION_XD) { goto NODE_308; } else { ACTION_27 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_593 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_597 } else { ACTION_166 } } else { ACTION_166 } } } else { goto NODE_279; } } } else { if (CONDITION_PA) { if (CONDITION_RA) { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_184 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_662 } else { ACTION_184 } } else { ACTION_184 } } } else { if (CONDITION_XD) { goto NODE_307; } else { ACTION_30 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_666 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_670 } else { ACTION_189 } } else { ACTION_189 } } } else { goto NODE_281; } } } else { if (CONDITION_VC) { if (CONDITION_RA) { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_199 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_693 } else { ACTION_199 } } else { ACTION_199 } } } else { if (CONDITION_XD) { goto NODE_309; } else { ACTION_36 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_700 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_706 } else { ACTION_210 } } else { ACTION_210 } } } else { goto NODE_283; } } } else { goto NODE_320; } } } } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RB) { if (CONDITION_RA) { ACTION_7 } else { NODE_325: if (CONDITION_XC) { ACTION_71 } else { ACTION_7 } } } else { if (CONDITION_RA) { ACTION_66 } else { goto NODE_325; } } } else { if (CONDITION_RA) { if (CONDITION_PA) { NODE_326: if (CONDITION_RB) { ACTION_66 } else { NODE_327: if (CONDITION_SA) { ACTION_324 } else { ACTION_66 } } } else { NODE_328: if (CONDITION_RB) { ACTION_9 } else { NODE_329: if (CONDITION_SA) { ACTION_78 } else { ACTION_9 } } } } else { if (CONDITION_RB) { if (CONDITION_PA) { NODE_330: if (CONDITION_XC) { ACTION_328 } else { ACTION_66 } } else { if (CONDITION_XC) { ACTION_82 } else { ACTION_9 } } } else { if (CONDITION_PA) { if (CONDITION_SA) { if (CONDITION_XC) { ACTION_332 } else { ACTION_67 } } else { goto NODE_325; } } else { if (CONDITION_SA) { if (CONDITION_XC) { ACTION_86 } else { ACTION_10 } } else { if (CONDITION_XC) { ACTION_14 } else { ACTION_1 } } } } } } } else { if (CONDITION_XC) { NODE_331: if (CONDITION_RA) { ACTION_14 } else { NODE_332: if (CONDITION_RB) { ACTION_82 } else { ACTION_14 } } } else { ACTION_0 } } } } } else { if (CONDITION_XA) { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_PC) { if (CONDITION_LD) { goto NODE_190; } else { if (CONDITION_UD) { goto NODE_190; } else { NODE_333: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_30 } else { goto NODE_120; } } else { ACTION_30 } } } } else { if (CONDITION_LD) { NODE_334: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_32 } else { goto NODE_150; } } else { ACTION_32 } } else { if (CONDITION_UD) { goto NODE_334; } else { NODE_335: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_184 } else { goto NODE_173; } } else { ACTION_184 } } } } } else { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_LD) { ACTION_31 } else { if (CONDITION_UD) { ACTION_31 } else { NODE_336: if (CONDITION_XB) { if (CONDITION_MC) { ACTION_160 } else { NODE_337: if (CONDITION_VC) { ACTION_194 } else { ACTION_31 } } } else { ACTION_31 } } } } else { if (CONDITION_XC) { if (CONDITION_LD) { ACTION_190 } else { if (CONDITION_UD) { ACTION_190 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_583 } else { NODE_338: if (CONDITION_VC) { ACTION_679 } else { ACTION_190 } } } else { ACTION_190 } } } } else { goto NODE_216; } } } else { goto NODE_216; } } } else { if (CONDITION_RA) { if (CONDITION_PC) { goto NODE_300; } else { if (CONDITION_SA) { if (CONDITION_LD) { ACTION_196 } else { if (CONDITION_UD) { ACTION_196 } else { if (CONDITION_PA) { ACTION_662 } else { goto NODE_211; } } } } else { if (CONDITION_LD) { ACTION_32 } else { if (CONDITION_UD) { ACTION_32 } else { if (CONDITION_PA) { ACTION_184 } else { goto NODE_217; } } } } } } else { if (CONDITION_QB) { if (CONDITION_XC) { if (CONDITION_PC) { if (CONDITION_PA) { goto NODE_235; } else { if (CONDITION_LD) { ACTION_183 } else { if (CONDITION_UD) { ACTION_183 } else { if (CONDITION_XB) { NODE_339: if (CONDITION_MC) { ACTION_577 } else { NODE_340: if (CONDITION_VC) { ACTION_660 } else { ACTION_183 } } } else { ACTION_183 } } } } } else { if (CONDITION_SA) { if (CONDITION_LD) { ACTION_191 } else { if (CONDITION_UD) { ACTION_191 } else { if (CONDITION_PA) { ACTION_657 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_584 } else { if (CONDITION_VC) { ACTION_683 } else { ACTION_191 } } } else { ACTION_191 } } } } } else { if (CONDITION_LD) { ACTION_31 } else { if (CONDITION_UD) { ACTION_31 } else { if (CONDITION_PA) { ACTION_183 } else { goto NODE_336; } } } } } } else { NODE_341: if (CONDITION_PC) { goto NODE_299; } else { if (CONDITION_SA) { if (CONDITION_LD) { ACTION_33 } else { if (CONDITION_UD) { ACTION_33 } else { if (CONDITION_PA) { ACTION_185 } else { goto NODE_107; } } } } else { if (CONDITION_LD) { ACTION_3 } else { if (CONDITION_UD) { ACTION_3 } else { if (CONDITION_PA) { ACTION_30 } else { goto NODE_197; } } } } } } } else { goto NODE_341; } } } } else { if (CONDITION_XC) { if (CONDITION_RA) { if (CONDITION_XB) { if (CONDITION_PC) { if (CONDITION_PA) { if (CONDITION_RB) { goto NODE_105; } else { goto NODE_301; } } else { if (CONDITION_RB) { goto NODE_200; } else { goto NODE_204; } } } else { if (CONDITION_LD) { ACTION_32 } else { if (CONDITION_UD) { ACTION_32 } else { if (CONDITION_MC) { ACTION_161 } else { if (CONDITION_PA) { ACTION_184 } else { goto NODE_219; } } } } } } else { goto NODE_233; } } else { if (CONDITION_QB) { if (CONDITION_XB) { if (CONDITION_PC) { NODE_342: if (CONDITION_PA) { goto NODE_235; } else { if (CONDITION_LD) { ACTION_183 } else { if (CONDITION_UD) { ACTION_183 } else { goto NODE_339; } } } } else { if (CONDITION_LD) { goto NODE_147; } else { if (CONDITION_UD) { goto NODE_147; } else { if (CONDITION_MC) { goto NODE_162; } else { if (CONDITION_PA) { goto NODE_177; } else { if (CONDITION_RB) { goto NODE_338; } else { goto NODE_337; } } } } } } } else { goto NODE_234; } } else { if (CONDITION_XB) { if (CONDITION_PC) { NODE_343: if (CONDITION_PA) { goto NODE_105; } else { goto NODE_200; } } else { if (CONDITION_LD) { goto NODE_146; } else { if (CONDITION_UD) { goto NODE_146; } else { if (CONDITION_MC) { goto NODE_161; } else { if (CONDITION_PA) { goto NODE_176; } else { if (CONDITION_RB) { goto NODE_219; } else { goto NODE_59; } } } } } } } else { goto NODE_231; } } } } else { if (CONDITION_XB) { goto NODE_108; } else { ACTION_3 } } } } else { if (CONDITION_RB) { if (CONDITION_XB) { if (CONDITION_LD) { NODE_344: if (CONDITION_PC) { if (CONDITION_PA) { goto NODE_190; } else { goto NODE_333; } } else { NODE_345: if (CONDITION_XD) { goto NODE_334; } else { if (CONDITION_XC) { if (CONDITION_QB) { goto NODE_226; } else { ACTION_32 } } else { ACTION_3 } } } } else { if (CONDITION_UD) { goto NODE_344; } else { if (CONDITION_PA) { if (CONDITION_PC) { goto NODE_333; } else { if (CONDITION_XD) { goto NODE_335; } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_183 } else { ACTION_656 } } else { ACTION_184 } } else { ACTION_30 } } } } else { if (CONDITION_MC) { if (CONDITION_PC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_159 } else { goto NODE_132; } } else { ACTION_159 } } else { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_161 } else { goto NODE_155; } } else { ACTION_161 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_160 } else { ACTION_583 } } else { ACTION_161 } } else { ACTION_27 } } } } else { if (CONDITION_PC) { if (CONDITION_VC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_188 } else { goto NODE_136; } } else { ACTION_188 } } else { goto NODE_333; } } else { if (CONDITION_VC) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_199 } else { goto NODE_179; } } else { ACTION_199 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_194 } else { ACTION_679 } } else { ACTION_199 } } else { ACTION_36 } } } else { goto NODE_345; } } } } } } } else { if (CONDITION_PA) { if (CONDITION_PC) { if (CONDITION_XD) { NODE_346: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_7 } else { NODE_347: if (CONDITION_XC) { ACTION_65 } else { ACTION_7 } } } else { ACTION_7 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_7 } else { ACTION_65 } } else { ACTION_7 } } else { ACTION_0 } } } else { if (CONDITION_XD) { NODE_348: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_66 } else { NODE_349: if (CONDITION_XC) { ACTION_318 } else { ACTION_66 } } } else { ACTION_66 } } else { NODE_350: if (CONDITION_XC) { NODE_351: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_8 } else { ACTION_72 } } else { ACTION_9 } } else { ACTION_0 } } } } else { if (CONDITION_XD) { NODE_352: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_9 } else { if (CONDITION_XC) { ACTION_72 } else { ACTION_9 } } } else { ACTION_9 } } else { goto NODE_350; } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_XB) { if (CONDITION_PA) { goto NODE_301; } else { goto NODE_204; } } else { ACTION_66 } } else { if (CONDITION_XB) { if (CONDITION_QB) { if (CONDITION_XC) { goto NODE_342; } else { goto NODE_343; } } else { goto NODE_343; } } else { NODE_353: if (CONDITION_QB) { goto NODE_347; } else { ACTION_7 } } } } else { if (CONDITION_RA) { if (CONDITION_PA) { if (CONDITION_SA) { if (CONDITION_LD) { ACTION_324 } else { if (CONDITION_UD) { ACTION_324 } else { if (CONDITION_XB) { ACTION_662 } else { ACTION_324 } } } } else { if (CONDITION_LD) { ACTION_66 } else { if (CONDITION_UD) { ACTION_66 } else { if (CONDITION_XB) { ACTION_184 } else { ACTION_66 } } } } } else { if (CONDITION_XB) { if (CONDITION_SA) { goto NODE_213; } else { goto NODE_220; } } else { goto NODE_329; } } } else { if (CONDITION_PA) { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { if (CONDITION_LD) { ACTION_319 } else { if (CONDITION_UD) { ACTION_319 } else { if (CONDITION_XB) { ACTION_657 } else { ACTION_319 } } } } else { NODE_354: if (CONDITION_LD) { ACTION_67 } else { if (CONDITION_UD) { ACTION_67 } else { if (CONDITION_XB) { ACTION_185 } else { ACTION_67 } } } } } else { goto NODE_354; } } else { if (CONDITION_QB) { if (CONDITION_XC) { if (CONDITION_LD) { ACTION_65 } else { if (CONDITION_UD) { ACTION_65 } else { if (CONDITION_XB) { ACTION_183 } else { ACTION_65 } } } } else { NODE_355: if (CONDITION_LD) { ACTION_7 } else { if (CONDITION_UD) { ACTION_7 } else { if (CONDITION_XB) { ACTION_30 } else { ACTION_7 } } } } } else { goto NODE_355; } } } else { if (CONDITION_XB) { if (CONDITION_SA) { if (CONDITION_LD) { goto NODE_39; } else { if (CONDITION_UD) { goto NODE_39; } else { if (CONDITION_MC) { goto NODE_156; } else { if (CONDITION_VC) { goto NODE_180; } else { goto NODE_39; } } } } } else { if (CONDITION_LD) { goto NODE_167; } else { if (CONDITION_UD) { goto NODE_167; } else { if (CONDITION_MC) { goto NODE_158; } else { if (CONDITION_VC) { goto NODE_182; } else { goto NODE_167; } } } } } } else { NODE_356: if (CONDITION_SA) { NODE_357: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_73 } else { ACTION_10 } } else { ACTION_10 } } else { NODE_358: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_8 } else { ACTION_1 } } else { ACTION_1 } } } } } } } else { if (CONDITION_XC) { if (CONDITION_XB) { if (CONDITION_QB) { if (CONDITION_LD) { NODE_359: if (CONDITION_PA) { ACTION_31 } else { if (CONDITION_PC) { ACTION_183 } else { ACTION_31 } } } else { if (CONDITION_UD) { goto NODE_359; } else { if (CONDITION_PA) { ACTION_183 } else { if (CONDITION_MC) { if (CONDITION_PC) { ACTION_577 } else { ACTION_160 } } else { if (CONDITION_PC) { goto NODE_340; } else { goto NODE_337; } } } } } } else { if (CONDITION_RA) { if (CONDITION_LD) { NODE_360: if (CONDITION_PA) { ACTION_32 } else { if (CONDITION_PC) { ACTION_184 } else { ACTION_32 } } } else { if (CONDITION_UD) { goto NODE_360; } else { if (CONDITION_PA) { ACTION_184 } else { if (CONDITION_MC) { if (CONDITION_PC) { ACTION_578 } else { ACTION_161 } } else { if (CONDITION_PC) { goto NODE_203; } else { goto NODE_219; } } } } } } else { goto NODE_108; } } } else { NODE_361: if (CONDITION_QB) { ACTION_8 } else { if (CONDITION_RA) { ACTION_9 } else { ACTION_1 } } } } else { if (CONDITION_XB) { goto NODE_108; } else { ACTION_0 } } } } } } } } } } } } } } else { if (CONDITION_OA) { if (CONDITION_OD) { if (CONDITION_XA) { NODE_362: if (CONDITION_LD) { goto NODE_47; } else { if (CONDITION_OB) { NODE_363: if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_OC) { ACTION_6 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { NODE_364: if (CONDITION_XC) { ACTION_58 } else { ACTION_6 } } } } else { ACTION_6 } } } } else { if (CONDITION_PA) { goto NODE_363; } else { if (CONDITION_UD) { goto NODE_363; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_ND) { ACTION_39 } else { if (CONDITION_OC) { ACTION_39 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_39 } else { if (CONDITION_WD) { ACTION_39 } else { NODE_365: if (CONDITION_XC) { ACTION_221 } else { ACTION_39 } } } } else { ACTION_39 } } } } else { if (CONDITION_VC) { if (CONDITION_ND) { ACTION_63 } else { if (CONDITION_OC) { ACTION_63 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_63 } else { if (CONDITION_WD) { ACTION_63 } else { NODE_366: if (CONDITION_XC) { ACTION_301 } else { ACTION_63 } } } } else { ACTION_63 } } } } else { goto NODE_363; } } } else { goto NODE_363; } } } } } } else { if (CONDITION_XD) { goto NODE_362; } else { if (CONDITION_XC) { if (CONDITION_ND) { if (CONDITION_LD) { ACTION_5 } else { if (CONDITION_OB) { ACTION_5 } else { if (CONDITION_PA) { ACTION_5 } else { NODE_367: if (CONDITION_UD) { ACTION_5 } else { if (CONDITION_XB) { NODE_368: if (CONDITION_MC) { ACTION_38 } else { NODE_369: if (CONDITION_VC) { ACTION_55 } else { ACTION_5 } } } else { ACTION_5 } } } } } } else { if (CONDITION_OC) { NODE_370: if (CONDITION_LD) { ACTION_6 } else { if (CONDITION_OB) { ACTION_6 } else { if (CONDITION_PA) { ACTION_6 } else { if (CONDITION_UD) { ACTION_6 } else { if (CONDITION_XB) { NODE_371: if (CONDITION_MC) { ACTION_39 } else { NODE_372: if (CONDITION_VC) { ACTION_63 } else { ACTION_6 } } } else { ACTION_6 } } } } } } else { if (CONDITION_QB) { if (CONDITION_RA) { goto NODE_370; } else { if (CONDITION_WD) { goto NODE_370; } else { if (CONDITION_LD) { ACTION_58 } else { if (CONDITION_OB) { ACTION_58 } else { if (CONDITION_PA) { ACTION_58 } else { if (CONDITION_UD) { ACTION_58 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_221 } else { NODE_373: if (CONDITION_VC) { ACTION_301 } else { ACTION_58 } } } else { ACTION_58 } } } } } } } } else { goto NODE_370; } } } } else { if (CONDITION_XB) { if (CONDITION_LD) { ACTION_6 } else { if (CONDITION_OB) { ACTION_6 } else { if (CONDITION_PA) { ACTION_6 } else { if (CONDITION_UD) { ACTION_6 } else { goto NODE_371; } } } } } else { ACTION_0 } } } } } else { if (CONDITION_OB) { if (CONDITION_PC) { if (CONDITION_XA) { NODE_374: if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_OC) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { NODE_375: if (CONDITION_RB) { NODE_376: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_6 } else { goto NODE_364; } } else { ACTION_6 } } else { NODE_377: if (CONDITION_RA) { NODE_378: if (CONDITION_XC) { ACTION_59 } else { NODE_379: if (CONDITION_XD) { ACTION_59 } else { ACTION_6 } } } else { NODE_380: if (CONDITION_QB) { goto NODE_364; } else { ACTION_6 } } } } } } } else { if (CONDITION_XB) { goto NODE_374; } else { if (CONDITION_XD) { if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_OC) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { if (CONDITION_RB) { goto NODE_376; } else { NODE_381: if (CONDITION_RA) { ACTION_59 } else { goto NODE_380; } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_OC) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { NODE_382: if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_6 } else { ACTION_58 } } else { ACTION_58 } } else { NODE_383: if (CONDITION_RA) { NODE_384: if (CONDITION_RB) { ACTION_6 } else { ACTION_59 } } else { ACTION_6 } } } } } } else { ACTION_0 } } } } } else { if (CONDITION_OC) { if (CONDITION_RB) { NODE_385: if (CONDITION_XA) { ACTION_6 } else { NODE_386: if (CONDITION_XB) { ACTION_6 } else { goto NODE_61; } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_60 } else { NODE_387: if (CONDITION_XA) { ACTION_6 } else { if (CONDITION_XB) { ACTION_6 } else { goto NODE_251; } } } } else { goto NODE_385; } } } else { NODE_388: if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_ND) { if (CONDITION_RB) { ACTION_5 } else { ACTION_52 } } else { if (CONDITION_RB) { NODE_389: if (CONDITION_WD) { ACTION_6 } else { ACTION_59 } } else { if (CONDITION_WD) { ACTION_60 } else { ACTION_303 } } } } else { if (CONDITION_ND) { ACTION_60 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_60 } else { NODE_390: if (CONDITION_XC) { ACTION_298 } else { ACTION_60 } } } else { ACTION_60 } } } } else { if (CONDITION_XC) { NODE_391: if (CONDITION_ND) { goto NODE_297; } else { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_6 } else { NODE_392: if (CONDITION_RB) { ACTION_59 } else { ACTION_6 } } } else { if (CONDITION_RA) { ACTION_59 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_297 } else { ACTION_58 } } else { goto NODE_392; } } } } } else { NODE_393: if (CONDITION_XA) { ACTION_6 } else { NODE_394: if (CONDITION_XB) { ACTION_6 } else { ACTION_0 } } } } } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { NODE_395: if (CONDITION_XA) { ACTION_5 } else { NODE_396: if (CONDITION_XB) { ACTION_5 } else { NODE_397: if (CONDITION_XC) { ACTION_5 } else { NODE_398: if (CONDITION_XD) { ACTION_5 } else { ACTION_0 } } } } } else { if (CONDITION_WD) { goto NODE_385; } else { NODE_399: if (CONDITION_XC) { ACTION_59 } else { if (CONDITION_XD) { ACTION_59 } else { goto NODE_393; } } } } } else { if (CONDITION_XD) { NODE_400: if (CONDITION_ND) { ACTION_59 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_59 } else { NODE_401: if (CONDITION_XC) { ACTION_297 } else { ACTION_59 } } } else { ACTION_59 } } } else { if (CONDITION_XC) { NODE_402: if (CONDITION_ND) { ACTION_59 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_59 } else { ACTION_297 } } else { ACTION_59 } } } else { goto NODE_393; } } } } else { if (CONDITION_ND) { goto NODE_395; } else { if (CONDITION_WD) { goto NODE_385; } else { NODE_403: if (CONDITION_RA) { goto NODE_399; } else { NODE_404: if (CONDITION_QB) { NODE_405: if (CONDITION_XC) { ACTION_58 } else { if (CONDITION_XA) { ACTION_6 } else { NODE_406: if (CONDITION_XB) { ACTION_6 } else { goto NODE_62; } } } } else { goto NODE_385; } } } } } } } } } else { if (CONDITION_OC) { if (CONDITION_RB) { if (CONDITION_LD) { goto NODE_5; } else { if (CONDITION_UD) { goto NODE_385; } else { NODE_407: if (CONDITION_PC) { if (CONDITION_PA) { goto NODE_385; } else { if (CONDITION_XB) { goto NODE_371; } else { NODE_408: if (CONDITION_XA) { ACTION_6 } else { goto NODE_61; } } } } else { if (CONDITION_MC) { if (CONDITION_XB) { ACTION_39 } else { if (CONDITION_PA) { if (CONDITION_XD) { ACTION_39 } else { NODE_409: if (CONDITION_XA) { ACTION_6 } else { goto NODE_251; } } } else { goto NODE_408; } } } else { if (CONDITION_PA) { NODE_410: if (CONDITION_XB) { ACTION_57 } else { NODE_411: if (CONDITION_XD) { ACTION_57 } else { goto NODE_409; } } } else { if (CONDITION_VC) { if (CONDITION_XB) { ACTION_63 } else { goto NODE_408; } } else { goto NODE_385; } } } } } } } else { NODE_412: if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_PA) { if (CONDITION_LD) { NODE_413: if (CONDITION_PC) { ACTION_3 } else { ACTION_33 } } else { if (CONDITION_PC) { if (CONDITION_UD) { ACTION_6 } else { ACTION_57 } } else { if (CONDITION_UD) { ACTION_60 } else { ACTION_292 } } } } else { if (CONDITION_LD) { ACTION_60 } else { if (CONDITION_UD) { ACTION_60 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_223 } else { if (CONDITION_VC) { ACTION_310 } else { ACTION_60 } } } else { ACTION_60 } } } } } else { if (CONDITION_XB) { if (CONDITION_LD) { goto NODE_109; } else { if (CONDITION_UD) { if (CONDITION_PA) { ACTION_6 } else { if (CONDITION_PC) { ACTION_57 } else { ACTION_6 } } } else { if (CONDITION_PA) { ACTION_57 } else { NODE_414: if (CONDITION_MC) { if (CONDITION_PC) { ACTION_220 } else { ACTION_39 } } else { if (CONDITION_PC) { if (CONDITION_VC) { ACTION_295 } else { ACTION_57 } } else { goto NODE_372; } } } } } } else { goto NODE_409; } } } else { if (CONDITION_LD) { goto NODE_112; } else { if (CONDITION_UD) { if (CONDITION_PA) { goto NODE_385; } else { if (CONDITION_PC) { goto NODE_410; } else { goto NODE_385; } } } else { if (CONDITION_PA) { goto NODE_410; } else { if (CONDITION_XB) { goto NODE_414; } else { if (CONDITION_PC) { goto NODE_411; } else { goto NODE_408; } } } } } } } } else { if (CONDITION_PC) { if (CONDITION_PA) { if (CONDITION_LD) { goto NODE_113; } else { if (CONDITION_UD) { NODE_415: if (CONDITION_ND) { goto NODE_395; } else { if (CONDITION_WD) { goto NODE_385; } else { NODE_416: if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { goto NODE_385; } else { goto NODE_405; } } else { goto NODE_385; } } else { goto NODE_403; } } } } else { NODE_417: if (CONDITION_XB) { NODE_418: if (CONDITION_RA) { if (CONDITION_RB) { NODE_419: if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_6 } else { ACTION_57 } } } else { if (CONDITION_ND) { ACTION_57 } else { if (CONDITION_WD) { ACTION_57 } else { if (CONDITION_XC) { ACTION_291 } else { if (CONDITION_XD) { ACTION_291 } else { ACTION_57 } } } } } } else { NODE_420: if (CONDITION_ND) { ACTION_57 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_57 } else { NODE_421: if (CONDITION_XC) { ACTION_290 } else { ACTION_57 } } } else { ACTION_57 } } } } else { NODE_422: if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_419; } else { goto NODE_420; } } else { if (CONDITION_XC) { if (CONDITION_RA) { goto NODE_419; } else { if (CONDITION_ND) { ACTION_57 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_57 } else { ACTION_290 } } else { ACTION_57 } } } } else { NODE_423: if (CONDITION_XA) { ACTION_6 } else { ACTION_0 } } } } else { if (CONDITION_XD) { NODE_424: if (CONDITION_ND) { ACTION_57 } else { if (CONDITION_WD) { ACTION_57 } else { if (CONDITION_RA) { ACTION_291 } else { if (CONDITION_QB) { goto NODE_421; } else { ACTION_57 } } } } } else { NODE_425: if (CONDITION_XA) { if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { NODE_426: if (CONDITION_XC) { NODE_427: if (CONDITION_QB) { ACTION_58 } else { if (CONDITION_RA) { ACTION_59 } else { ACTION_6 } } } else { ACTION_6 } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { goto NODE_427; } } } else { ACTION_0 } } } } } } } } else { if (CONDITION_LD) { goto NODE_114; } else { if (CONDITION_UD) { goto NODE_417; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_WD) { ACTION_39 } else { ACTION_220 } } } else { if (CONDITION_ND) { ACTION_220 } else { if (CONDITION_WD) { ACTION_220 } else { if (CONDITION_XC) { ACTION_743 } else { if (CONDITION_XD) { ACTION_743 } else { ACTION_220 } } } } } } else { if (CONDITION_ND) { ACTION_220 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_220 } else { if (CONDITION_XC) { ACTION_742 } else { ACTION_220 } } } else { ACTION_220 } } } } else { if (CONDITION_VC) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_WD) { ACTION_63 } else { ACTION_295 } } } else { if (CONDITION_ND) { ACTION_295 } else { if (CONDITION_WD) { ACTION_295 } else { if (CONDITION_XC) { ACTION_900 } else { if (CONDITION_XD) { ACTION_900 } else { ACTION_295 } } } } } } else { if (CONDITION_ND) { ACTION_295 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_295 } else { if (CONDITION_XC) { ACTION_895 } else { ACTION_295 } } } else { ACTION_295 } } } } else { goto NODE_418; } } } else { goto NODE_422; } } } } } else { if (CONDITION_UD) { goto NODE_388; } else { if (CONDITION_LD) { goto NODE_137; } else { if (CONDITION_MC) { if (CONDITION_XB) { if (CONDITION_XD) { NODE_428: if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_WD) { ACTION_39 } else { ACTION_222 } } } else { if (CONDITION_ND) { ACTION_222 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_222 } else { if (CONDITION_XC) { ACTION_748 } else { ACTION_222 } } } else { ACTION_222 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_223 } else { if (CONDITION_WD) { ACTION_223 } else { if (CONDITION_RA) { ACTION_754 } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_749 } else { ACTION_223 } } else { ACTION_223 } } } } } else { if (CONDITION_ND) { ACTION_39 } else { if (CONDITION_WD) { ACTION_39 } else { if (CONDITION_RA) { ACTION_222 } else { NODE_429: if (CONDITION_QB) { goto NODE_365; } else { ACTION_39 } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { NODE_430: if (CONDITION_RA) { ACTION_38 } else { NODE_431: if (CONDITION_RB) { ACTION_214 } else { ACTION_38 } } } else { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_39 } else { NODE_432: if (CONDITION_RB) { ACTION_222 } else { ACTION_39 } } } else { if (CONDITION_RA) { ACTION_222 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_748 } else { ACTION_221 } } else { goto NODE_432; } } } } } else { ACTION_39 } } } else { if (CONDITION_XD) { if (CONDITION_PA) { goto NODE_428; } else { if (CONDITION_RB) { NODE_433: if (CONDITION_RA) { NODE_434: if (CONDITION_ND) { ACTION_5 } else { goto NODE_389; } } else { goto NODE_400; } } else { if (CONDITION_SA) { NODE_435: if (CONDITION_ND) { ACTION_60 } else { if (CONDITION_WD) { ACTION_60 } else { if (CONDITION_RA) { ACTION_303 } else { NODE_436: if (CONDITION_QB) { goto NODE_390; } else { ACTION_60 } } } } } else { NODE_437: if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { goto NODE_381; } } } } } } else { NODE_438: if (CONDITION_XA) { if (CONDITION_XC) { goto NODE_391; } else { ACTION_6 } } else { NODE_439: if (CONDITION_XC) { goto NODE_391; } else { ACTION_0 } } } } } else { if (CONDITION_PA) { if (CONDITION_XB) { if (CONDITION_XD) { NODE_440: if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_49 } else { if (CONDITION_WD) { ACTION_57 } else { ACTION_291 } } } else { if (CONDITION_ND) { ACTION_291 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_291 } else { if (CONDITION_XC) { ACTION_891 } else { ACTION_291 } } } else { ACTION_291 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_292 } else { if (CONDITION_WD) { ACTION_292 } else { if (CONDITION_RA) { ACTION_897 } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_892 } else { ACTION_292 } } else { ACTION_292 } } } } } else { goto NODE_424; } } } else { if (CONDITION_XC) { if (CONDITION_ND) { NODE_441: if (CONDITION_RA) { ACTION_49 } else { NODE_442: if (CONDITION_RB) { ACTION_263 } else { ACTION_49 } } } else { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_57 } else { NODE_443: if (CONDITION_RB) { ACTION_291 } else { ACTION_57 } } } else { if (CONDITION_RA) { ACTION_291 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_891 } else { ACTION_290 } } else { goto NODE_443; } } } } } else { ACTION_57 } } } else { if (CONDITION_XD) { goto NODE_440; } else { goto NODE_438; } } } else { if (CONDITION_VC) { if (CONDITION_XB) { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_WD) { ACTION_63 } else { ACTION_306 } } } else { if (CONDITION_ND) { ACTION_306 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_306 } else { if (CONDITION_XC) { ACTION_914 } else { ACTION_306 } } } else { ACTION_306 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_310 } else { if (CONDITION_WD) { ACTION_310 } else { if (CONDITION_RA) { ACTION_928 } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_918 } else { ACTION_310 } } else { ACTION_310 } } } } } else { if (CONDITION_ND) { ACTION_63 } else { if (CONDITION_WD) { ACTION_63 } else { if (CONDITION_RA) { ACTION_306 } else { NODE_444: if (CONDITION_QB) { goto NODE_366; } else { ACTION_63 } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { NODE_445: if (CONDITION_RA) { ACTION_55 } else { NODE_446: if (CONDITION_RB) { ACTION_278 } else { ACTION_55 } } } else { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_63 } else { NODE_447: if (CONDITION_RB) { ACTION_306 } else { ACTION_63 } } } else { if (CONDITION_RA) { ACTION_306 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_914 } else { ACTION_301 } } else { goto NODE_447; } } } } } else { ACTION_63 } } } else { if (CONDITION_SA) { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_433; } else { if (CONDITION_XC) { if (CONDITION_RA) { goto NODE_434; } else { goto NODE_402; } } else { goto NODE_423; } } } else { if (CONDITION_XD) { goto NODE_435; } else { goto NODE_425; } } } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { goto NODE_378; } } } else { if (CONDITION_XD) { goto NODE_400; } else { if (CONDITION_XC) { goto NODE_402; } else { ACTION_6 } } } } else { if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { goto NODE_377; } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { goto NODE_433; } else { goto NODE_437; } } else { goto NODE_439; } } } } } else { goto NODE_388; } } } } } } } } } } else { if (CONDITION_OC) { if (CONDITION_OB) { if (CONDITION_XB) { NODE_448: if (CONDITION_NB) { if (CONDITION_OD) { ACTION_5 } else { if (CONDITION_PC) { ACTION_5 } else { NODE_449: if (CONDITION_RB) { ACTION_5 } else { NODE_450: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_52 } else { ACTION_5 } } else { ACTION_5 } } } } } else { if (CONDITION_UC) { NODE_451: if (CONDITION_OD) { ACTION_6 } else { if (CONDITION_PC) { ACTION_6 } else { if (CONDITION_RB) { ACTION_6 } else { NODE_452: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_60 } else { ACTION_6 } } else { ACTION_6 } } } } } else { if (CONDITION_WB) { goto NODE_451; } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_OD) { ACTION_18 } else { if (CONDITION_PC) { ACTION_18 } else { if (CONDITION_RB) { ACTION_18 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_124 } else { ACTION_18 } } else { ACTION_18 } } } } } else { if (CONDITION_TD) { if (CONDITION_OD) { ACTION_61 } else { if (CONDITION_PC) { ACTION_61 } else { if (CONDITION_RB) { ACTION_61 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_308 } else { ACTION_61 } } else { ACTION_61 } } } } } else { goto NODE_451; } } } else { goto NODE_451; } } } } } else { if (CONDITION_XC) { goto NODE_448; } else { if (CONDITION_XD) { if (CONDITION_OD) { NODE_453: if (CONDITION_NB) { ACTION_6 } else { if (CONDITION_UC) { ACTION_6 } else { NODE_454: if (CONDITION_WB) { ACTION_6 } else { NODE_455: if (CONDITION_XA) { NODE_456: if (CONDITION_KD) { ACTION_18 } else { if (CONDITION_TD) { ACTION_61 } else { ACTION_6 } } } else { ACTION_6 } } } } } else { if (CONDITION_PC) { goto NODE_453; } else { if (CONDITION_RB) { goto NODE_453; } else { if (CONDITION_SA) { if (CONDITION_NB) { ACTION_60 } else { if (CONDITION_UC) { ACTION_60 } else { NODE_457: if (CONDITION_WB) { ACTION_60 } else { if (CONDITION_XA) { NODE_458: if (CONDITION_KD) { ACTION_124 } else { if (CONDITION_TD) { ACTION_308 } else { ACTION_60 } } } else { ACTION_60 } } } } } else { goto NODE_453; } } } } } else { if (CONDITION_XA) { if (CONDITION_NB) { ACTION_6 } else { if (CONDITION_UC) { ACTION_6 } else { NODE_459: if (CONDITION_WB) { ACTION_6 } else { goto NODE_456; } } } } else { ACTION_0 } } } } } else { if (CONDITION_OD) { if (CONDITION_PA) { if (CONDITION_NB) { goto NODE_395; } else { if (CONDITION_WB) { goto NODE_385; } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_UC) { if (CONDITION_LD) { ACTION_2 } else { if (CONDITION_UD) { ACTION_2 } else { ACTION_18 } } } else { ACTION_18 } } else { if (CONDITION_TD) { if (CONDITION_UC) { if (CONDITION_LD) { ACTION_3 } else { if (CONDITION_UD) { ACTION_6 } else { ACTION_61 } } } else { ACTION_61 } } else { NODE_460: if (CONDITION_LD) { ACTION_6 } else { if (CONDITION_UC) { if (CONDITION_UD) { ACTION_6 } else { ACTION_62 } } else { ACTION_6 } } } } } else { if (CONDITION_XC) { NODE_461: if (CONDITION_LD) { ACTION_6 } else { if (CONDITION_UC) { if (CONDITION_UD) { ACTION_6 } else { if (CONDITION_XB) { ACTION_62 } else { ACTION_6 } } } else { ACTION_6 } } } else { if (CONDITION_XD) { goto NODE_461; } else { if (CONDITION_XB) { goto NODE_460; } else { ACTION_0 } } } } } } } else { if (CONDITION_LD) { if (CONDITION_XB) { if (CONDITION_UC) { NODE_462: if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { ACTION_29 } } } else { NODE_463: if (CONDITION_NB) { ACTION_29 } else { if (CONDITION_WB) { ACTION_29 } else { NODE_464: if (CONDITION_XA) { NODE_465: if (CONDITION_KD) { ACTION_94 } else { if (CONDITION_TD) { ACTION_179 } else { ACTION_29 } } } else { ACTION_29 } } } } } else { if (CONDITION_XA) { if (CONDITION_UC) { goto NODE_462; } else { NODE_466: if (CONDITION_NB) { ACTION_29 } else { if (CONDITION_WB) { ACTION_29 } else { goto NODE_465; } } } } else { goto NODE_61; } } } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_UC) { if (CONDITION_NB) { if (CONDITION_UD) { ACTION_4 } else { ACTION_38 } } else { if (CONDITION_UD) { if (CONDITION_WB) { ACTION_4 } else { ACTION_39 } } else { if (CONDITION_WB) { ACTION_39 } else { ACTION_225 } } } } else { NODE_467: if (CONDITION_NB) { ACTION_39 } else { if (CONDITION_WB) { ACTION_39 } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_104 } else { if (CONDITION_TD) { ACTION_224 } else { ACTION_39 } } } else { ACTION_39 } } } } } else { if (CONDITION_UD) { if (CONDITION_UC) { if (CONDITION_NB) { ACTION_5 } else { if (CONDITION_WB) { ACTION_6 } else { ACTION_62 } } } else { NODE_468: if (CONDITION_NB) { ACTION_62 } else { if (CONDITION_WB) { ACTION_62 } else { NODE_469: if (CONDITION_XA) { NODE_470: if (CONDITION_KD) { ACTION_126 } else { if (CONDITION_TD) { ACTION_312 } else { ACTION_62 } } } else { ACTION_62 } } } } } else { if (CONDITION_VC) { if (CONDITION_NB) { ACTION_63 } else { if (CONDITION_WB) { ACTION_63 } else { if (CONDITION_UC) { ACTION_315 } else { NODE_471: if (CONDITION_XA) { if (CONDITION_KD) { ACTION_127 } else { if (CONDITION_TD) { ACTION_313 } else { ACTION_63 } } } else { ACTION_63 } } } } } else { if (CONDITION_NB) { ACTION_6 } else { if (CONDITION_WB) { ACTION_6 } else { if (CONDITION_UC) { ACTION_62 } else { goto NODE_455; } } } } } } } else { if (CONDITION_XA) { if (CONDITION_NB) { if (CONDITION_UC) { ACTION_5 } else { NODE_472: if (CONDITION_UD) { ACTION_54 } else { ACTION_5 } } } else { if (CONDITION_WB) { if (CONDITION_UC) { ACTION_6 } else { NODE_473: if (CONDITION_UD) { ACTION_62 } else { ACTION_6 } } } else { if (CONDITION_KD) { if (CONDITION_UC) { ACTION_18 } else { if (CONDITION_UD) { ACTION_126 } else { ACTION_18 } } } else { if (CONDITION_UC) { ACTION_62 } else { if (CONDITION_TD) { if (CONDITION_UD) { ACTION_312 } else { ACTION_61 } } else { goto NODE_473; } } } } } } else { goto NODE_61; } } } } } else { if (CONDITION_RB) { if (CONDITION_LD) { if (CONDITION_UC) { if (CONDITION_NB) { goto NODE_5; } else { if (CONDITION_WB) { goto NODE_5; } else { if (CONDITION_XA) { NODE_474: if (CONDITION_PA) { NODE_475: if (CONDITION_PC) { ACTION_3 } else { ACTION_29 } } else { ACTION_29 } } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_PA) { ACTION_6 } else { NODE_476: if (CONDITION_XB) { ACTION_29 } else { ACTION_6 } } } else { if (CONDITION_PA) { ACTION_29 } else { goto NODE_476; } } } else { if (CONDITION_XB) { goto NODE_474; } else { goto NODE_251; } } } } } } else { if (CONDITION_XB) { if (CONDITION_PA) { if (CONDITION_PC) { if (CONDITION_NB) { ACTION_3 } else { if (CONDITION_WB) { ACTION_3 } else { if (CONDITION_XA) { NODE_477: if (CONDITION_KD) { ACTION_15 } else { if (CONDITION_TD) { ACTION_34 } else { ACTION_3 } } } else { ACTION_3 } } } } else { goto NODE_463; } } else { goto NODE_463; } } else { if (CONDITION_XA) { if (CONDITION_NB) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_3 } else { ACTION_28 } } else { ACTION_28 } } else { if (CONDITION_WB) { goto NODE_474; } else { if (CONDITION_KD) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_15 } else { ACTION_94 } } else { ACTION_94 } } else { if (CONDITION_TD) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_34 } else { ACTION_179 } } else { ACTION_179 } } else { goto NODE_474; } } } } } else { if (CONDITION_XC) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_6 } else { if (CONDITION_XD) { ACTION_29 } else { ACTION_6 } } } else { ACTION_6 } } else { if (CONDITION_XD) { if (CONDITION_PA) { goto NODE_475; } else { ACTION_6 } } else { ACTION_0 } } } } } } else { if (CONDITION_UD) { if (CONDITION_UC) { if (CONDITION_NB) { goto NODE_395; } else { if (CONDITION_WB) { goto NODE_385; } else { NODE_478: if (CONDITION_XA) { NODE_479: if (CONDITION_PA) { goto NODE_248; } else { ACTION_62 } } else { NODE_480: if (CONDITION_XB) { goto NODE_479; } else { NODE_481: if (CONDITION_XC) { NODE_482: if (CONDITION_PA) { if (CONDITION_PC) { ACTION_6 } else { if (CONDITION_XD) { ACTION_57 } else { ACTION_6 } } } else { ACTION_6 } } else { if (CONDITION_XD) { goto NODE_247; } else { ACTION_0 } } } } } } } else { if (CONDITION_NB) { if (CONDITION_XA) { NODE_483: if (CONDITION_PA) { NODE_484: if (CONDITION_PC) { ACTION_5 } else { ACTION_49 } } else { ACTION_54 } } else { if (CONDITION_XB) { goto NODE_483; } else { if (CONDITION_XC) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_5 } else { NODE_485: if (CONDITION_XD) { ACTION_49 } else { ACTION_5 } } } else { ACTION_5 } } else { if (CONDITION_XD) { if (CONDITION_PA) { goto NODE_484; } else { ACTION_5 } } else { ACTION_0 } } } } } else { if (CONDITION_WB) { goto NODE_478; } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_18 } else { ACTION_121 } } else { ACTION_126 } } else { if (CONDITION_TD) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_61 } else { ACTION_293 } } else { ACTION_312 } } else { goto NODE_479; } } } else { goto NODE_480; } } } } } else { if (CONDITION_NB) { if (CONDITION_PC) { if (CONDITION_PA) { goto NODE_395; } else { if (CONDITION_XB) { goto NODE_368; } else { NODE_486: if (CONDITION_XA) { ACTION_5 } else { goto NODE_397; } } } } else { if (CONDITION_MC) { if (CONDITION_XB) { ACTION_38 } else { if (CONDITION_PA) { if (CONDITION_XD) { ACTION_38 } else { NODE_487: if (CONDITION_XA) { ACTION_5 } else { NODE_488: if (CONDITION_XC) { ACTION_5 } else { ACTION_0 } } } } else { goto NODE_486; } } } else { if (CONDITION_PA) { NODE_489: if (CONDITION_XB) { ACTION_49 } else { NODE_490: if (CONDITION_XD) { ACTION_49 } else { goto NODE_487; } } } else { if (CONDITION_VC) { if (CONDITION_XB) { ACTION_55 } else { goto NODE_486; } } else { goto NODE_395; } } } } } else { if (CONDITION_WB) { goto NODE_407; } else { if (CONDITION_XB) { if (CONDITION_UC) { if (CONDITION_MC) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_45 } else { ACTION_225 } } else { ACTION_225 } } else { if (CONDITION_PC) { if (CONDITION_PA) { ACTION_62 } else { NODE_491: if (CONDITION_VC) { ACTION_315 } else { ACTION_62 } } } else { if (CONDITION_PA) { ACTION_294 } else { goto NODE_491; } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_MC) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_16 } else { ACTION_104 } } else { ACTION_104 } } else { if (CONDITION_PC) { if (CONDITION_PA) { ACTION_18 } else { NODE_492: if (CONDITION_VC) { ACTION_127 } else { ACTION_18 } } } else { if (CONDITION_PA) { ACTION_121 } else { goto NODE_492; } } } } else { if (CONDITION_MC) { if (CONDITION_TD) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_44 } else { ACTION_224 } } else { ACTION_224 } } else { NODE_493: if (CONDITION_PA) { if (CONDITION_PC) { ACTION_4 } else { ACTION_39 } } else { ACTION_39 } } } else { if (CONDITION_TD) { if (CONDITION_PC) { if (CONDITION_PA) { ACTION_61 } else { NODE_494: if (CONDITION_VC) { ACTION_313 } else { ACTION_61 } } } else { if (CONDITION_PA) { ACTION_293 } else { goto NODE_494; } } } else { NODE_495: if (CONDITION_PC) { if (CONDITION_PA) { ACTION_6 } else { goto NODE_372; } } else { if (CONDITION_PA) { ACTION_57 } else { goto NODE_372; } } } } } } else { if (CONDITION_MC) { goto NODE_493; } else { goto NODE_495; } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_18 } else { if (CONDITION_XD) { ACTION_121 } else { ACTION_18 } } } else { ACTION_18 } } else { if (CONDITION_TD) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_61 } else { if (CONDITION_XD) { ACTION_293 } else { ACTION_61 } } } else { ACTION_61 } } else { if (CONDITION_UC) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_62 } else { if (CONDITION_XD) { ACTION_294 } else { ACTION_62 } } } else { ACTION_62 } } else { goto NODE_482; } } } } else { goto NODE_481; } } } } } } } else { if (CONDITION_UC) { if (CONDITION_NB) { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_PA) { if (CONDITION_LD) { goto NODE_413; } else { if (CONDITION_PC) { NODE_496: if (CONDITION_UD) { ACTION_5 } else { ACTION_49 } } else { if (CONDITION_UD) { ACTION_52 } else { ACTION_264 } } } } else { NODE_497: if (CONDITION_LD) { ACTION_52 } else { if (CONDITION_UD) { ACTION_52 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_215 } else { if (CONDITION_VC) { ACTION_282 } else { ACTION_52 } } } else { ACTION_52 } } } } } else { if (CONDITION_XB) { if (CONDITION_LD) { goto NODE_109; } else { if (CONDITION_UD) { if (CONDITION_PA) { ACTION_5 } else { if (CONDITION_PC) { ACTION_49 } else { ACTION_5 } } } else { if (CONDITION_PA) { ACTION_49 } else { NODE_498: if (CONDITION_MC) { if (CONDITION_PC) { ACTION_212 } else { ACTION_38 } } else { if (CONDITION_PC) { NODE_499: if (CONDITION_VC) { ACTION_267 } else { ACTION_49 } } else { goto NODE_369; } } } } } } else { goto NODE_487; } } } else { if (CONDITION_LD) { goto NODE_112; } else { if (CONDITION_UD) { if (CONDITION_PA) { goto NODE_395; } else { if (CONDITION_PC) { goto NODE_489; } else { goto NODE_395; } } } else { if (CONDITION_PA) { goto NODE_489; } else { if (CONDITION_XB) { goto NODE_498; } else { if (CONDITION_PC) { goto NODE_490; } else { goto NODE_486; } } } } } } } else { if (CONDITION_WB) { goto NODE_412; } else { if (CONDITION_XA) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_PA) { if (CONDITION_LD) { ACTION_29 } else { if (CONDITION_UD) { ACTION_57 } else { ACTION_294 } } } else { if (CONDITION_LD) { ACTION_294 } else { if (CONDITION_UD) { ACTION_294 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_745 } else { NODE_500: if (CONDITION_VC) { ACTION_909 } else { ACTION_294 } } } else { ACTION_294 } } } } } else { if (CONDITION_SA) { if (CONDITION_LD) { ACTION_309 } else { if (CONDITION_UD) { ACTION_309 } else { if (CONDITION_PA) { ACTION_903 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_760 } else { if (CONDITION_VC) { ACTION_939 } else { ACTION_309 } } } else { ACTION_309 } } } } } else { if (CONDITION_LD) { ACTION_62 } else { if (CONDITION_UD) { ACTION_62 } else { if (CONDITION_PA) { ACTION_294 } else { if (CONDITION_XB) { if (CONDITION_MC) { ACTION_225 } else { goto NODE_491; } } else { ACTION_62 } } } } } } } else { if (CONDITION_XB) { if (CONDITION_LD) { if (CONDITION_PA) { ACTION_29 } else { if (CONDITION_PC) { ACTION_176 } else { ACTION_29 } } } else { if (CONDITION_UD) { if (CONDITION_PA) { ACTION_62 } else { if (CONDITION_PC) { ACTION_294 } else { ACTION_62 } } } else { if (CONDITION_PA) { ACTION_294 } else { if (CONDITION_MC) { if (CONDITION_PC) { ACTION_745 } else { ACTION_225 } } else { if (CONDITION_PC) { goto NODE_500; } else { goto NODE_491; } } } } } } else { ACTION_62 } } } else { if (CONDITION_XB) { if (CONDITION_LD) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_29 } else { goto NODE_246; } } else { if (CONDITION_PC) { ACTION_176 } else { goto NODE_246; } } } else { if (CONDITION_UD) { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_57 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_292 } else { ACTION_57 } } else { ACTION_57 } } } else { if (CONDITION_PC) { ACTION_294 } else { NODE_501: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_309 } else { ACTION_62 } } else { ACTION_62 } } } } else { if (CONDITION_PA) { if (CONDITION_PC) { ACTION_294 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_903 } else { ACTION_294 } } else { ACTION_294 } } } else { if (CONDITION_MC) { if (CONDITION_PC) { ACTION_745 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_760 } else { ACTION_225 } } else { ACTION_225 } } } else { if (CONDITION_PC) { goto NODE_500; } else { if (CONDITION_VC) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_939 } else { ACTION_315 } } else { ACTION_315 } } else { goto NODE_501; } } } } } } } else { if (CONDITION_XD) { goto NODE_249; } else { goto NODE_251; } } } } } } else { if (CONDITION_LD) { if (CONDITION_PA) { if (CONDITION_XB) { if (CONDITION_PC) { goto NODE_463; } else { NODE_502: if (CONDITION_SA) { if (CONDITION_XD) { NODE_503: if (CONDITION_NB) { ACTION_178 } else { if (CONDITION_WB) { ACTION_178 } else { if (CONDITION_XA) { NODE_504: if (CONDITION_KD) { ACTION_382 } else { if (CONDITION_TD) { ACTION_646 } else { ACTION_178 } } } else { ACTION_178 } } } } else { goto NODE_463; } } else { goto NODE_463; } } } else { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_463; } else { if (CONDITION_SA) { goto NODE_503; } else { goto NODE_463; } } } else { if (CONDITION_XA) { goto NODE_466; } else { goto NODE_251; } } } } else { if (CONDITION_XB) { if (CONDITION_PC) { if (CONDITION_NB) { ACTION_176 } else { if (CONDITION_WB) { ACTION_176 } else { if (CONDITION_XA) { NODE_505: if (CONDITION_KD) { ACTION_380 } else { if (CONDITION_TD) { ACTION_638 } else { ACTION_176 } } } else { ACTION_176 } } } } else { goto NODE_502; } } else { if (CONDITION_XA) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_NB) { ACTION_176 } else { if (CONDITION_WB) { ACTION_176 } else { goto NODE_505; } } } else { if (CONDITION_SA) { if (CONDITION_NB) { ACTION_178 } else { if (CONDITION_WB) { ACTION_178 } else { goto NODE_504; } } } else { goto NODE_466; } } } else { goto NODE_466; } } else { NODE_506: if (CONDITION_XD) { if (CONDITION_PC) { ACTION_57 } else { goto NODE_250; } } else { goto NODE_251; } } } } } else { if (CONDITION_PA) { if (CONDITION_XB) { if (CONDITION_PC) { NODE_507: if (CONDITION_NB) { ACTION_57 } else { if (CONDITION_WB) { ACTION_57 } else { if (CONDITION_XA) { NODE_508: if (CONDITION_KD) { ACTION_121 } else { if (CONDITION_TD) { ACTION_293 } else { ACTION_57 } } } else { ACTION_57 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { NODE_509: if (CONDITION_NB) { ACTION_292 } else { if (CONDITION_WB) { ACTION_292 } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_482 } else { if (CONDITION_TD) { ACTION_902 } else { ACTION_292 } } } else { ACTION_292 } } } } else { goto NODE_507; } } else { goto NODE_507; } } } else { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_507; } else { if (CONDITION_SA) { goto NODE_509; } else { goto NODE_507; } } } else { if (CONDITION_XA) { if (CONDITION_UD) { NODE_510: if (CONDITION_NB) { ACTION_57 } else { if (CONDITION_WB) { ACTION_57 } else { goto NODE_508; } } } else { NODE_511: if (CONDITION_NB) { ACTION_6 } else { goto NODE_459; } } } else { goto NODE_251; } } } } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_PC) { if (CONDITION_NB) { ACTION_220 } else { if (CONDITION_WB) { ACTION_220 } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_422 } else { if (CONDITION_TD) { ACTION_744 } else { ACTION_220 } } } else { ACTION_220 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_NB) { ACTION_223 } else { if (CONDITION_WB) { ACTION_223 } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_424 } else { if (CONDITION_TD) { ACTION_759 } else { ACTION_223 } } } else { ACTION_223 } } } } else { goto NODE_467; } } else { goto NODE_467; } } } else { if (CONDITION_UD) { if (CONDITION_PC) { if (CONDITION_NB) { ACTION_294 } else { if (CONDITION_WB) { ACTION_294 } else { if (CONDITION_XA) { NODE_512: if (CONDITION_KD) { ACTION_484 } else { if (CONDITION_TD) { ACTION_906 } else { ACTION_294 } } } else { ACTION_294 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_NB) { ACTION_309 } else { if (CONDITION_WB) { ACTION_309 } else { if (CONDITION_XA) { NODE_513: if (CONDITION_KD) { ACTION_499 } else { if (CONDITION_TD) { ACTION_936 } else { ACTION_309 } } } else { ACTION_309 } } } } else { goto NODE_468; } } else { goto NODE_468; } } } else { if (CONDITION_PC) { if (CONDITION_VC) { if (CONDITION_NB) { ACTION_295 } else { if (CONDITION_WB) { ACTION_295 } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_485 } else { if (CONDITION_TD) { ACTION_907 } else { ACTION_295 } } } else { ACTION_295 } } } } else { goto NODE_507; } } else { if (CONDITION_VC) { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_NB) { ACTION_310 } else { if (CONDITION_WB) { ACTION_310 } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_500 } else { if (CONDITION_TD) { ACTION_937 } else { ACTION_310 } } } else { ACTION_310 } } } } else { NODE_514: if (CONDITION_NB) { ACTION_63 } else { if (CONDITION_WB) { ACTION_63 } else { goto NODE_471; } } } } else { goto NODE_514; } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_NB) { ACTION_60 } else { goto NODE_457; } } else { NODE_515: if (CONDITION_NB) { ACTION_6 } else { goto NODE_454; } } } else { goto NODE_515; } } } } } } else { if (CONDITION_XA) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_UD) { if (CONDITION_NB) { ACTION_294 } else { if (CONDITION_WB) { ACTION_294 } else { goto NODE_512; } } } else { goto NODE_510; } } else { if (CONDITION_SA) { if (CONDITION_UD) { if (CONDITION_NB) { ACTION_309 } else { if (CONDITION_WB) { ACTION_309 } else { goto NODE_513; } } } else { if (CONDITION_NB) { ACTION_60 } else { if (CONDITION_WB) { ACTION_60 } else { goto NODE_458; } } } } else { NODE_516: if (CONDITION_UD) { if (CONDITION_NB) { ACTION_62 } else { if (CONDITION_WB) { ACTION_62 } else { goto NODE_470; } } } else { goto NODE_511; } } } } else { goto NODE_516; } } else { goto NODE_506; } } } } } } } } } else { if (CONDITION_OB) { if (CONDITION_UC) { if (CONDITION_OD) { if (CONDITION_RA) { goto NODE_385; } else { if (CONDITION_NB) { if (CONDITION_ND) { goto NODE_395; } else { if (CONDITION_QB) { if (CONDITION_WD) { goto NODE_395; } else { NODE_517: if (CONDITION_XC) { ACTION_50 } else { if (CONDITION_XA) { ACTION_5 } else { if (CONDITION_XB) { ACTION_5 } else { goto NODE_398; } } } } } else { goto NODE_395; } } } else { if (CONDITION_WB) { if (CONDITION_ND) { goto NODE_395; } else { NODE_518: if (CONDITION_QB) { if (CONDITION_WD) { goto NODE_385; } else { goto NODE_405; } } else { goto NODE_385; } } } else { if (CONDITION_ND) { if (CONDITION_XA) { ACTION_48 } else { if (CONDITION_XC) { ACTION_48 } else { goto NODE_406; } } } else { NODE_519: if (CONDITION_WD) { NODE_520: if (CONDITION_XA) { ACTION_64 } else { if (CONDITION_XC) { ACTION_64 } else { goto NODE_406; } } } else { goto NODE_404; } } } } } } else { if (CONDITION_PC) { if (CONDITION_NB) { if (CONDITION_ND) { goto NODE_395; } else { if (CONDITION_WD) { goto NODE_395; } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { goto NODE_395; } else { goto NODE_517; } } else { goto NODE_395; } } else { NODE_521: if (CONDITION_RA) { NODE_522: if (CONDITION_XC) { ACTION_51 } else { if (CONDITION_XD) { ACTION_51 } else { NODE_523: if (CONDITION_XA) { ACTION_5 } else { if (CONDITION_XB) { ACTION_5 } else { ACTION_0 } } } } } else { if (CONDITION_QB) { goto NODE_517; } else { goto NODE_395; } } } } } } else { if (CONDITION_WB) { goto NODE_415; } else { if (CONDITION_ND) { NODE_524: if (CONDITION_XC) { NODE_525: if (CONDITION_RA) { NODE_526: if (CONDITION_RB) { ACTION_5 } else { ACTION_48 } } else { ACTION_48 } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { ACTION_6 } else { NODE_527: if (CONDITION_XA) { ACTION_48 } else { ACTION_6 } } } else { if (CONDITION_RA) { ACTION_48 } else { goto NODE_527; } } } else { if (CONDITION_XA) { goto NODE_525; } else { goto NODE_394; } } } } else { if (CONDITION_WD) { if (CONDITION_XA) { NODE_528: if (CONDITION_RA) { goto NODE_384; } else { ACTION_64 } } else { NODE_529: if (CONDITION_XC) { goto NODE_528; } else { NODE_530: if (CONDITION_XB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_6 } else { goto NODE_379; } } else { ACTION_6 } } else { if (CONDITION_XD) { goto NODE_383; } else { ACTION_0 } } } } } else { goto NODE_416; } } } } } else { if (CONDITION_WB) { goto NODE_388; } else { if (CONDITION_NB) { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_531: if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_5 } else { ACTION_51 } } } else { NODE_532: if (CONDITION_ND) { ACTION_52 } else { if (CONDITION_WD) { ACTION_52 } else { ACTION_275 } } } } else { NODE_533: if (CONDITION_ND) { ACTION_52 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_52 } else { NODE_534: if (CONDITION_XC) { ACTION_270 } else { ACTION_52 } } } else { ACTION_52 } } } } else { if (CONDITION_XC) { NODE_535: if (CONDITION_ND) { goto NODE_297; } else { if (CONDITION_WD) { goto NODE_297; } else { if (CONDITION_RA) { ACTION_51 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_269 } else { ACTION_50 } } else { goto NODE_298; } } } } } else { goto NODE_523; } } } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { goto NODE_395; } else { if (CONDITION_WD) { goto NODE_395; } else { goto NODE_522; } } } else { if (CONDITION_XD) { NODE_536: if (CONDITION_ND) { ACTION_51 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_51 } else { if (CONDITION_XC) { ACTION_269 } else { ACTION_51 } } } else { ACTION_51 } } } else { if (CONDITION_XC) { NODE_537: if (CONDITION_ND) { ACTION_51 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_51 } else { ACTION_269 } } else { ACTION_51 } } } else { goto NODE_523; } } } } else { if (CONDITION_ND) { goto NODE_395; } else { if (CONDITION_WD) { goto NODE_395; } else { goto NODE_521; } } } } } else { if (CONDITION_ND) { if (CONDITION_RA) { NODE_538: if (CONDITION_XA) { NODE_539: if (CONDITION_RB) { ACTION_48 } else { NODE_540: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_257 } else { ACTION_48 } } else { ACTION_48 } } } else { NODE_541: if (CONDITION_XC) { goto NODE_539; } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_48 } else { NODE_542: if (CONDITION_SA) { ACTION_257 } else { ACTION_48 } } } else { goto NODE_394; } } } } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_256 } else { if (CONDITION_XD) { ACTION_256 } else { ACTION_48 } } } else { goto NODE_540; } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_256 } else { goto NODE_540; } } else { NODE_543: if (CONDITION_XD) { if (CONDITION_RB) { ACTION_59 } else { goto NODE_250; } } else { goto NODE_394; } } } } } else { if (CONDITION_RA) { if (CONDITION_XC) { NODE_544: if (CONDITION_RB) { ACTION_59 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_303 } else { ACTION_59 } } else { ACTION_59 } } } else { if (CONDITION_XD) { NODE_545: if (CONDITION_RB) { ACTION_59 } else { NODE_546: if (CONDITION_SA) { ACTION_303 } else { ACTION_59 } } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_59 } else { goto NODE_394; } } else { goto NODE_393; } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_307 } else { if (CONDITION_XC) { ACTION_307 } else { ACTION_59 } } } else { if (CONDITION_QB) { goto NODE_401; } else { ACTION_59 } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_297 } else { NODE_547: if (CONDITION_WD) { ACTION_307 } else { ACTION_59 } } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_64 } else { goto NODE_394; } } else { goto NODE_393; } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_311 } else { if (CONDITION_XC) { ACTION_311 } else { ACTION_60 } } } else { goto NODE_436; } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_64 } else { if (CONDITION_XC) { ACTION_64 } else { goto NODE_394; } } } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_58 } else { goto NODE_393; } } else { goto NODE_387; } } } } else { goto NODE_519; } } } } } } } } } else { if (CONDITION_NB) { if (CONDITION_OD) { NODE_548: if (CONDITION_XA) { NODE_549: if (CONDITION_RA) { NODE_550: if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_5 } else { ACTION_48 } } } else { NODE_551: if (CONDITION_ND) { ACTION_48 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_48 } else { NODE_552: if (CONDITION_XC) { ACTION_255 } else { ACTION_48 } } } else { ACTION_48 } } } } else { if (CONDITION_XC) { NODE_553: if (CONDITION_RA) { goto NODE_550; } else { NODE_554: if (CONDITION_ND) { ACTION_48 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_48 } else { ACTION_255 } } else { ACTION_48 } } } } else { goto NODE_406; } } } else { if (CONDITION_XA) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { NODE_555: if (CONDITION_RB) { goto NODE_550; } else { NODE_556: if (CONDITION_ND) { ACTION_48 } else { if (CONDITION_WD) { ACTION_48 } else { ACTION_256 } } } } else { goto NODE_551; } } else { if (CONDITION_RB) { if (CONDITION_RA) { goto NODE_556; } else { if (CONDITION_ND) { ACTION_256 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_256 } else { if (CONDITION_XC) { ACTION_816 } else { ACTION_256 } } } else { ACTION_256 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_257 } else { if (CONDITION_WD) { ACTION_257 } else { if (CONDITION_RA) { ACTION_822 } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_817 } else { ACTION_257 } } else { ACTION_257 } } } } } else { if (CONDITION_ND) { ACTION_48 } else { if (CONDITION_WD) { ACTION_48 } else { if (CONDITION_RA) { ACTION_256 } else { if (CONDITION_QB) { goto NODE_552; } else { ACTION_48 } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_PC) { goto NODE_553; } else { NODE_557: if (CONDITION_RA) { goto NODE_556; } else { if (CONDITION_ND) { ACTION_256 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_256 } else { ACTION_816 } } else { ACTION_256 } } } } } else { if (CONDITION_ND) { ACTION_48 } else { if (CONDITION_WD) { ACTION_48 } else { if (CONDITION_QB) { ACTION_255 } else { if (CONDITION_RA) { ACTION_256 } else { ACTION_48 } } } } } } else { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_550; } else { ACTION_48 } } else { ACTION_48 } } else { ACTION_48 } } } } else { if (CONDITION_PC) { if (CONDITION_XC) { if (CONDITION_RA) { goto NODE_555; } else { goto NODE_554; } } else { goto NODE_530; } } else { if (CONDITION_XC) { if (CONDITION_RB) { goto NODE_557; } else { if (CONDITION_ND) { goto NODE_540; } else { if (CONDITION_WD) { goto NODE_540; } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_817 } else { ACTION_255 } } else { ACTION_255 } } else { if (CONDITION_RA) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_822 } else { ACTION_256 } } else { ACTION_256 } } else { goto NODE_540; } } } } } } else { NODE_558: if (CONDITION_XD) { if (CONDITION_RB) { ACTION_59 } else { if (CONDITION_RA) { goto NODE_546; } else { goto NODE_250; } } } else { goto NODE_394; } } } } } } else { if (CONDITION_OD) { if (CONDITION_RA) { NODE_559: if (CONDITION_XA) { NODE_560: if (CONDITION_KD) { NODE_561: if (CONDITION_WB) { if (CONDITION_ND) { ACTION_2 } else { if (CONDITION_WD) { ACTION_2 } else { ACTION_18 } } } else { ACTION_18 } } else { if (CONDITION_TD) { NODE_562: if (CONDITION_WB) { if (CONDITION_ND) { ACTION_5 } else { NODE_563: if (CONDITION_WD) { ACTION_6 } else { ACTION_61 } } } else { ACTION_61 } } else { NODE_564: if (CONDITION_ND) { ACTION_6 } else { NODE_565: if (CONDITION_WB) { if (CONDITION_WD) { ACTION_6 } else { ACTION_64 } } else { ACTION_6 } } } } } else { if (CONDITION_XB) { NODE_566: if (CONDITION_ND) { ACTION_6 } else { NODE_567: if (CONDITION_WB) { if (CONDITION_WD) { ACTION_6 } else { if (CONDITION_XC) { ACTION_64 } else { ACTION_6 } } } else { ACTION_6 } } } else { NODE_568: if (CONDITION_XD) { goto NODE_566; } else { if (CONDITION_XC) { goto NODE_564; } else { ACTION_0 } } } } } else { if (CONDITION_ND) { if (CONDITION_XC) { if (CONDITION_WB) { ACTION_48 } else { if (CONDITION_XA) { NODE_569: if (CONDITION_KD) { ACTION_113 } else { NODE_570: if (CONDITION_TD) { ACTION_258 } else { ACTION_48 } } } else { ACTION_48 } } } else { if (CONDITION_XA) { NODE_571: if (CONDITION_WB) { ACTION_48 } else { goto NODE_569; } } else { goto NODE_406; } } } else { NODE_572: if (CONDITION_WB) { if (CONDITION_XA) { NODE_573: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_64 } else { NODE_574: if (CONDITION_XC) { ACTION_302 } else { ACTION_64 } } } else { ACTION_64 } } else { if (CONDITION_XC) { NODE_575: if (CONDITION_QB) { NODE_576: if (CONDITION_WD) { ACTION_58 } else { ACTION_302 } } else { ACTION_64 } } else { goto NODE_406; } } } else { if (CONDITION_XA) { NODE_577: if (CONDITION_KD) { NODE_578: if (CONDITION_WD) { ACTION_128 } else { NODE_579: if (CONDITION_QB) { NODE_580: if (CONDITION_XC) { ACTION_122 } else { ACTION_18 } } else { ACTION_18 } } } else { if (CONDITION_WD) { if (CONDITION_TD) { ACTION_314 } else { ACTION_64 } } else { if (CONDITION_TD) { NODE_581: if (CONDITION_QB) { NODE_582: if (CONDITION_XC) { ACTION_299 } else { ACTION_61 } } else { ACTION_61 } } else { goto NODE_380; } } } } else { if (CONDITION_XC) { goto NODE_99; } else { goto NODE_406; } } } } } } else { if (CONDITION_PC) { if (CONDITION_ND) { if (CONDITION_WB) { goto NODE_524; } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_17 } else { ACTION_113 } } else { ACTION_113 } } else { if (CONDITION_TD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_53 } else { ACTION_258 } } else { ACTION_258 } } else { goto NODE_525; } } } else { if (CONDITION_XC) { goto NODE_525; } else { if (CONDITION_XB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_6 } else { if (CONDITION_XD) { ACTION_48 } else { ACTION_6 } } } else { ACTION_6 } } else { if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_526; } else { ACTION_6 } } else { ACTION_0 } } } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WD) { if (CONDITION_WB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_2 } else { ACTION_18 } } else { ACTION_18 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_18 } else { ACTION_123 } } else { ACTION_128 } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_18 } else { goto NODE_580; } } else { ACTION_18 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_123 } else { if (CONDITION_XD) { ACTION_123 } else { ACTION_18 } } } else { goto NODE_579; } } } } else { if (CONDITION_TD) { if (CONDITION_WD) { if (CONDITION_WB) { if (CONDITION_RA) { goto NODE_384; } else { ACTION_61 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_61 } else { ACTION_304 } } else { ACTION_314 } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_61 } else { goto NODE_582; } } else { ACTION_61 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_304 } else { if (CONDITION_XD) { ACTION_304 } else { ACTION_61 } } } else { goto NODE_581; } } } } else { if (CONDITION_WD) { goto NODE_528; } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_64 } else { goto NODE_574; } } else { ACTION_64 } } else { if (CONDITION_RA) { NODE_583: if (CONDITION_XC) { ACTION_307 } else { if (CONDITION_XD) { ACTION_307 } else { ACTION_64 } } } else { NODE_584: if (CONDITION_QB) { goto NODE_574; } else { ACTION_64 } } } } else { goto NODE_375; } } } } } else { if (CONDITION_WD) { goto NODE_529; } else { if (CONDITION_XC) { if (CONDITION_WB) { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_64 } else { ACTION_302 } } else { ACTION_302 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_64 } else { ACTION_307 } } else { ACTION_64 } } } else { goto NODE_382; } } else { goto NODE_530; } } } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_WB) { goto NODE_538; } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RB) { ACTION_113 } else { NODE_585: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_457 } else { ACTION_113 } } else { ACTION_113 } } } else { if (CONDITION_TD) { if (CONDITION_RB) { ACTION_258 } else { NODE_586: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_827 } else { ACTION_258 } } else { ACTION_258 } } } else { goto NODE_539; } } } else { goto NODE_541; } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_WB) { ACTION_256 } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_456 } else { NODE_587: if (CONDITION_TD) { ACTION_823 } else { ACTION_256 } } } else { ACTION_256 } } } else { if (CONDITION_WB) { goto NODE_540; } else { if (CONDITION_XA) { if (CONDITION_KD) { goto NODE_585; } else { if (CONDITION_TD) { goto NODE_586; } else { goto NODE_540; } } } else { goto NODE_540; } } } } else { if (CONDITION_XA) { if (CONDITION_WB) { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_256 } else { goto NODE_542; } } else { ACTION_48 } } else { if (CONDITION_KD) { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_456 } else { if (CONDITION_SA) { ACTION_457 } else { ACTION_113 } } } else { ACTION_113 } } else { if (CONDITION_XD) { if (CONDITION_RB) { goto NODE_587; } else { if (CONDITION_SA) { if (CONDITION_TD) { ACTION_827 } else { ACTION_257 } } else { goto NODE_570; } } } else { goto NODE_570; } } } } else { goto NODE_543; } } } } else { if (CONDITION_WB) { if (CONDITION_XA) { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { NODE_588: if (CONDITION_WD) { ACTION_59 } else { ACTION_307 } } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_307 } else { if (CONDITION_XC) { ACTION_915 } else { ACTION_307 } } } else { ACTION_307 } } } else { if (CONDITION_WD) { if (CONDITION_SA) { ACTION_311 } else { ACTION_64 } } else { if (CONDITION_RA) { if (CONDITION_SA) { ACTION_929 } else { ACTION_307 } } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_919 } else { ACTION_311 } } else { ACTION_311 } } else { goto NODE_584; } } } } } else { if (CONDITION_XC) { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_64 } else { NODE_589: if (CONDITION_RB) { ACTION_307 } else { ACTION_64 } } } else { if (CONDITION_RA) { ACTION_307 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_915 } else { ACTION_302 } } else { goto NODE_589; } } } } else { ACTION_64 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { goto NODE_576; } else { if (CONDITION_WD) { ACTION_297 } else { ACTION_915 } } } else { if (CONDITION_RA) { goto NODE_588; } else { ACTION_307 } } } else { if (CONDITION_WD) { NODE_590: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_311 } else { ACTION_64 } } else { ACTION_64 } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_919 } else { ACTION_302 } } else { ACTION_302 } } else { if (CONDITION_RA) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_929 } else { ACTION_307 } } else { ACTION_307 } } else { goto NODE_590; } } } } } else { goto NODE_558; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_123 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_493 } else { ACTION_123 } } else { ACTION_123 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_497 } else { if (CONDITION_XD) { ACTION_497 } else { ACTION_128 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_501 } else { ACTION_128 } } else { ACTION_128 } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_123 } else { if (CONDITION_XC) { ACTION_487 } else { ACTION_123 } } } else { ACTION_123 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_122 } else { ACTION_487 } } else { ACTION_123 } } else { ACTION_18 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_SA) { ACTION_493 } else { ACTION_123 } } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_488 } else { ACTION_124 } } else { ACTION_124 } } else { goto NODE_579; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_122 } else { if (CONDITION_RA) { ACTION_123 } else { ACTION_18 } } } else { ACTION_18 } } } } } else { if (CONDITION_WD) { if (CONDITION_TD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_304 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_926 } else { ACTION_304 } } else { ACTION_304 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_932 } else { if (CONDITION_XD) { ACTION_932 } else { ACTION_314 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_938 } else { ACTION_314 } } else { ACTION_314 } } } } else { if (CONDITION_RA) { goto NODE_544; } else { if (CONDITION_RB) { goto NODE_583; } else { goto NODE_590; } } } } else { if (CONDITION_TD) { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_304 } else { if (CONDITION_XC) { ACTION_912 } else { ACTION_304 } } } else { ACTION_304 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_299 } else { ACTION_912 } } else { ACTION_304 } } else { ACTION_61 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_SA) { ACTION_926 } else { ACTION_304 } } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_916 } else { ACTION_308 } } else { ACTION_308 } } else { goto NODE_581; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_299 } else { if (CONDITION_RA) { ACTION_304 } else { ACTION_61 } } } else { ACTION_61 } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_59 } else { goto NODE_401; } } else { ACTION_59 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_58 } else { ACTION_297 } } else { ACTION_59 } } else { ACTION_6 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_546; } else { if (CONDITION_SA) { goto NODE_436; } else { goto NODE_380; } } } else { goto NODE_426; } } } } } } else { if (CONDITION_RA) { if (CONDITION_XC) { goto NODE_544; } else { if (CONDITION_XD) { goto NODE_545; } else { goto NODE_394; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_297 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_298 } else { ACTION_58 } } else { ACTION_58 } } } else { if (CONDITION_RB) { goto NODE_547; } else { if (CONDITION_WD) { goto NODE_590; } else { goto NODE_452; } } } } else { goto NODE_543; } } } } } } } } } } else { if (CONDITION_NB) { if (CONDITION_UC) { if (CONDITION_OD) { if (CONDITION_LD) { if (CONDITION_PA) { if (CONDITION_XA) { NODE_591: if (CONDITION_ND) { ACTION_3 } else { goto NODE_48; } } else { if (CONDITION_XB) { goto NODE_591; } else { if (CONDITION_XD) { goto NODE_591; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_3 } else { goto NODE_56; } } else { ACTION_0 } } } } } else { if (CONDITION_RA) { if (CONDITION_ND) { goto NODE_5; } else { if (CONDITION_WD) { goto NODE_5; } else { if (CONDITION_XA) { ACTION_29 } else { if (CONDITION_XB) { ACTION_29 } else { if (CONDITION_XC) { ACTION_29 } else { goto NODE_62; } } } } } } else { if (CONDITION_XA) { goto NODE_66; } else { if (CONDITION_XB) { goto NODE_66; } else { if (CONDITION_XC) { goto NODE_77; } else { goto NODE_62; } } } } } } else { if (CONDITION_PA) { if (CONDITION_UD) { if (CONDITION_XA) { NODE_592: if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_5 } else { NODE_593: if (CONDITION_WD) { ACTION_5 } else { NODE_594: if (CONDITION_XC) { ACTION_50 } else { ACTION_5 } } } } else { ACTION_5 } } } else { if (CONDITION_XB) { goto NODE_592; } else { if (CONDITION_XD) { goto NODE_592; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_5 } else { NODE_595: if (CONDITION_WD) { ACTION_5 } else { ACTION_50 } } } else { ACTION_5 } } } else { ACTION_0 } } } } } else { NODE_596: if (CONDITION_RA) { if (CONDITION_ND) { goto NODE_395; } else { if (CONDITION_WD) { goto NODE_395; } else { if (CONDITION_XA) { ACTION_48 } else { if (CONDITION_XB) { ACTION_48 } else { NODE_597: if (CONDITION_XC) { ACTION_48 } else { goto NODE_62; } } } } } } else { if (CONDITION_XA) { goto NODE_551; } else { if (CONDITION_XB) { goto NODE_551; } else { if (CONDITION_XC) { goto NODE_554; } else { goto NODE_62; } } } } } } else { if (CONDITION_UD) { goto NODE_596; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_WD) { ACTION_38 } else { ACTION_211 } } } else { NODE_598: if (CONDITION_ND) { ACTION_211 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_211 } else { if (CONDITION_XC) { ACTION_710 } else { ACTION_211 } } } else { ACTION_211 } } } } else { if (CONDITION_VC) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_WD) { ACTION_55 } else { ACTION_260 } } } else { NODE_599: if (CONDITION_ND) { ACTION_260 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_260 } else { if (CONDITION_XC) { ACTION_820 } else { ACTION_260 } } } else { ACTION_260 } } } } else { goto NODE_549; } } } else { NODE_600: if (CONDITION_XA) { goto NODE_549; } else { NODE_601: if (CONDITION_XC) { goto NODE_553; } else { goto NODE_62; } } } } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_PA) { if (CONDITION_LD) { goto NODE_189; } else { if (CONDITION_UD) { if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_5 } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_5 } else { goto NODE_594; } } else { ACTION_5 } } else { NODE_602: if (CONDITION_RA) { ACTION_51 } else { if (CONDITION_QB) { goto NODE_594; } else { ACTION_5 } } } } } } else { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_7 } else { if (CONDITION_WD) { ACTION_7 } else { if (CONDITION_XA) { ACTION_49 } else { if (CONDITION_XB) { ACTION_49 } else { goto NODE_285; } } } } } else { NODE_603: if (CONDITION_ND) { ACTION_66 } else { if (CONDITION_WD) { ACTION_66 } else { if (CONDITION_XA) { ACTION_263 } else { if (CONDITION_XB) { ACTION_263 } else { goto NODE_290; } } } } } } else { NODE_604: if (CONDITION_XA) { NODE_605: if (CONDITION_ND) { ACTION_49 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_49 } else { NODE_606: if (CONDITION_XC) { ACTION_262 } else { ACTION_49 } } } else { ACTION_49 } } } else { if (CONDITION_XB) { goto NODE_605; } else { NODE_607: if (CONDITION_XC) { NODE_608: if (CONDITION_ND) { ACTION_49 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_49 } else { ACTION_262 } } else { ACTION_49 } } } else { ACTION_7 } } } } } } } else { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { NODE_609: if (CONDITION_LD) { ACTION_5 } else { goto NODE_367; } } else { if (CONDITION_WD) { goto NODE_609; } else { if (CONDITION_XA) { NODE_610: if (CONDITION_LD) { ACTION_49 } else { if (CONDITION_UD) { ACTION_49 } else { if (CONDITION_XB) { NODE_611: if (CONDITION_MC) { ACTION_212 } else { goto NODE_499; } } else { ACTION_49 } } } } else { if (CONDITION_XC) { goto NODE_610; } else { if (CONDITION_XB) { if (CONDITION_LD) { ACTION_49 } else { if (CONDITION_UD) { ACTION_49 } else { goto NODE_611; } } } else { ACTION_7 } } } } } } else { if (CONDITION_ND) { goto NODE_610; } else { if (CONDITION_WD) { goto NODE_610; } else { if (CONDITION_XA) { NODE_612: if (CONDITION_LD) { ACTION_263 } else { if (CONDITION_UD) { ACTION_263 } else { if (CONDITION_XB) { NODE_613: if (CONDITION_MC) { ACTION_716 } else { if (CONDITION_VC) { ACTION_846 } else { ACTION_263 } } } else { ACTION_263 } } } } else { if (CONDITION_XC) { goto NODE_612; } else { if (CONDITION_XB) { if (CONDITION_LD) { ACTION_263 } else { if (CONDITION_UD) { ACTION_263 } else { goto NODE_613; } } } else { ACTION_66 } } } } } } } else { if (CONDITION_LD) { goto NODE_194; } else { if (CONDITION_UD) { goto NODE_604; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_ND) { ACTION_212 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_212 } else { NODE_614: if (CONDITION_XC) { ACTION_715 } else { ACTION_212 } } } else { ACTION_212 } } } else { if (CONDITION_VC) { if (CONDITION_ND) { ACTION_267 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_267 } else { NODE_615: if (CONDITION_XC) { ACTION_841 } else { ACTION_267 } } } else { ACTION_267 } } } else { goto NODE_605; } } } else { NODE_616: if (CONDITION_XA) { goto NODE_605; } else { goto NODE_607; } } } } } } } else { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_LD) { goto NODE_163; } else { if (CONDITION_UD) { NODE_617: if (CONDITION_RA) { goto NODE_531; } else { goto NODE_536; } } else { if (CONDITION_RA) { goto NODE_603; } else { if (CONDITION_XA) { NODE_618: if (CONDITION_ND) { ACTION_263 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_263 } else { if (CONDITION_XC) { ACTION_837 } else { ACTION_263 } } } else { ACTION_263 } } } else { if (CONDITION_XB) { goto NODE_618; } else { if (CONDITION_XC) { NODE_619: if (CONDITION_ND) { ACTION_263 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_263 } else { ACTION_837 } } else { ACTION_263 } } } else { ACTION_66 } } } } } } } else { if (CONDITION_XB) { if (CONDITION_LD) { goto NODE_163; } else { if (CONDITION_UD) { goto NODE_617; } else { if (CONDITION_MC) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_WD) { ACTION_38 } else { ACTION_214 } } } else { NODE_620: if (CONDITION_ND) { ACTION_214 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_214 } else { if (CONDITION_XC) { ACTION_721 } else { ACTION_214 } } } else { ACTION_214 } } } } else { if (CONDITION_VC) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_WD) { ACTION_55 } else { ACTION_278 } } } else { NODE_621: if (CONDITION_ND) { ACTION_278 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_278 } else { if (CONDITION_XC) { ACTION_860 } else { ACTION_278 } } } else { ACTION_278 } } } } else { goto NODE_617; } } } } } else { NODE_622: if (CONDITION_RA) { NODE_623: if (CONDITION_ND) { ACTION_9 } else { if (CONDITION_WD) { ACTION_9 } else { if (CONDITION_XA) { ACTION_51 } else { goto NODE_291; } } } } else { if (CONDITION_XA) { goto NODE_536; } else { if (CONDITION_XC) { goto NODE_537; } else { ACTION_9 } } } } } } else { if (CONDITION_PA) { if (CONDITION_SA) { if (CONDITION_LD) { goto NODE_164; } else { if (CONDITION_UD) { if (CONDITION_ND) { ACTION_52 } else { if (CONDITION_WD) { ACTION_52 } else { if (CONDITION_RA) { ACTION_275 } else { if (CONDITION_QB) { goto NODE_534; } else { ACTION_52 } } } } } else { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_324 } else { if (CONDITION_WD) { ACTION_324 } else { if (CONDITION_XA) { ACTION_843 } else { if (CONDITION_XB) { ACTION_843 } else { if (CONDITION_XC) { ACTION_843 } else { ACTION_324 } } } } } } else { if (CONDITION_XA) { NODE_624: if (CONDITION_ND) { ACTION_264 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_264 } else { NODE_625: if (CONDITION_XC) { ACTION_838 } else { ACTION_264 } } } else { ACTION_264 } } } else { if (CONDITION_XB) { goto NODE_624; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_264 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_264 } else { ACTION_838 } } else { ACTION_264 } } } else { ACTION_67 } } } } } } } else { if (CONDITION_LD) { goto NODE_165; } else { if (CONDITION_UD) { if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_5 } else { goto NODE_602; } } } else { if (CONDITION_RA) { goto NODE_603; } else { goto NODE_604; } } } } } else { if (CONDITION_SA) { if (CONDITION_RA) { if (CONDITION_ND) { goto NODE_497; } else { if (CONDITION_WD) { goto NODE_497; } else { if (CONDITION_XA) { NODE_626: if (CONDITION_LD) { ACTION_275 } else { if (CONDITION_UD) { ACTION_275 } else { if (CONDITION_XB) { NODE_627: if (CONDITION_MC) { ACTION_727 } else { if (CONDITION_VC) { ACTION_874 } else { ACTION_275 } } } else { ACTION_275 } } } } else { if (CONDITION_XC) { goto NODE_626; } else { if (CONDITION_XB) { if (CONDITION_LD) { ACTION_275 } else { if (CONDITION_UD) { ACTION_275 } else { goto NODE_627; } } } else { ACTION_78 } } } } } } else { if (CONDITION_LD) { goto NODE_214; } else { if (CONDITION_UD) { if (CONDITION_XA) { goto NODE_533; } else { if (CONDITION_XB) { goto NODE_533; } else { NODE_628: if (CONDITION_XC) { NODE_629: if (CONDITION_ND) { ACTION_52 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_52 } else { ACTION_270 } } else { ACTION_52 } } } else { ACTION_10 } } } } else { if (CONDITION_XB) { if (CONDITION_MC) { NODE_630: if (CONDITION_ND) { ACTION_215 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_215 } else { if (CONDITION_XC) { ACTION_722 } else { ACTION_215 } } } else { ACTION_215 } } } else { if (CONDITION_VC) { NODE_631: if (CONDITION_ND) { ACTION_282 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_282 } else { if (CONDITION_XC) { ACTION_864 } else { ACTION_282 } } } else { ACTION_282 } } } else { goto NODE_533; } } } else { NODE_632: if (CONDITION_XA) { goto NODE_533; } else { goto NODE_628; } } } } } } else { if (CONDITION_RA) { if (CONDITION_ND) { goto NODE_609; } else { if (CONDITION_WD) { goto NODE_609; } else { if (CONDITION_XA) { NODE_633: if (CONDITION_LD) { ACTION_51 } else { if (CONDITION_UD) { ACTION_51 } else { if (CONDITION_XB) { NODE_634: if (CONDITION_MC) { ACTION_214 } else { if (CONDITION_VC) { ACTION_278 } else { ACTION_51 } } } else { ACTION_51 } } } } else { if (CONDITION_XC) { goto NODE_633; } else { if (CONDITION_XB) { if (CONDITION_LD) { ACTION_51 } else { if (CONDITION_UD) { ACTION_51 } else { goto NODE_634; } } } else { ACTION_9 } } } } } } else { if (CONDITION_LD) { goto NODE_221; } else { if (CONDITION_UD) { if (CONDITION_XA) { NODE_635: if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_QB) { goto NODE_593; } else { ACTION_5 } } } else { if (CONDITION_XB) { goto NODE_635; } else { NODE_636: if (CONDITION_XC) { NODE_637: if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_QB) { goto NODE_595; } else { ACTION_5 } } } else { ACTION_1 } } } } else { if (CONDITION_XB) { if (CONDITION_MC) { NODE_638: if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_38 } else { if (CONDITION_XC) { ACTION_213 } else { ACTION_38 } } } else { ACTION_38 } } } else { if (CONDITION_VC) { NODE_639: if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_55 } else { if (CONDITION_XC) { ACTION_273 } else { ACTION_55 } } } else { ACTION_55 } } } else { goto NODE_635; } } } else { NODE_640: if (CONDITION_XA) { goto NODE_635; } else { goto NODE_636; } } } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_XB) { if (CONDITION_UD) { if (CONDITION_PA) { if (CONDITION_ND) { NODE_641: if (CONDITION_PC) { ACTION_5 } else { goto NODE_297; } } else { if (CONDITION_WD) { goto NODE_641; } else { if (CONDITION_QB) { if (CONDITION_RB) { if (CONDITION_PC) { if (CONDITION_RA) { ACTION_5 } else { ACTION_50 } } else { if (CONDITION_RA) { ACTION_50 } else { ACTION_269 } } } else { ACTION_50 } } else { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_5 } else { ACTION_51 } } else { ACTION_5 } } else { if (CONDITION_RA) { ACTION_51 } else { goto NODE_298; } } } } } } else { NODE_642: if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_643: if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_5 } else { ACTION_49 } } } else { NODE_644: if (CONDITION_ND) { ACTION_49 } else { if (CONDITION_WD) { ACTION_49 } else { ACTION_263 } } } } else { goto NODE_608; } } else { goto NODE_535; } } } else { if (CONDITION_LD) { goto NODE_224; } else { if (CONDITION_PA) { if (CONDITION_RB) { if (CONDITION_PC) { if (CONDITION_RA) { goto NODE_643; } else { goto NODE_608; } } else { if (CONDITION_RA) { goto NODE_644; } else { goto NODE_619; } } } else { if (CONDITION_ND) { ACTION_49 } else { if (CONDITION_WD) { ACTION_49 } else { if (CONDITION_QB) { ACTION_262 } else { if (CONDITION_RA) { ACTION_263 } else { ACTION_49 } } } } } } else { if (CONDITION_MC) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_645: if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_WD) { ACTION_38 } else { ACTION_212 } } } else { if (CONDITION_ND) { ACTION_212 } else { if (CONDITION_WD) { ACTION_212 } else { ACTION_716 } } } } else { if (CONDITION_ND) { ACTION_212 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_212 } else { ACTION_715 } } else { ACTION_212 } } } } else { NODE_646: if (CONDITION_ND) { goto NODE_430; } else { if (CONDITION_WD) { goto NODE_430; } else { if (CONDITION_RA) { ACTION_214 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_721 } else { ACTION_213 } } else { goto NODE_431; } } } } } } else { if (CONDITION_VC) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_647: if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_WD) { ACTION_55 } else { ACTION_267 } } } else { if (CONDITION_ND) { ACTION_267 } else { if (CONDITION_WD) { ACTION_267 } else { ACTION_846 } } } } else { if (CONDITION_ND) { ACTION_267 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_267 } else { ACTION_841 } } else { ACTION_267 } } } } else { NODE_648: if (CONDITION_ND) { goto NODE_445; } else { if (CONDITION_WD) { goto NODE_445; } else { if (CONDITION_RA) { ACTION_278 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_860 } else { ACTION_273 } } else { goto NODE_446; } } } } } } else { goto NODE_642; } } } } } } else { if (CONDITION_ND) { NODE_649: if (CONDITION_RA) { ACTION_5 } else { NODE_650: if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_PC) { NODE_651: if (CONDITION_LD) { ACTION_3 } else { goto NODE_496; } } else { ACTION_51 } } else { ACTION_51 } } else { ACTION_5 } } } else { if (CONDITION_WD) { goto NODE_649; } else { if (CONDITION_RA) { if (CONDITION_PA) { if (CONDITION_PC) { if (CONDITION_RB) { goto NODE_651; } else { ACTION_51 } } else { ACTION_51 } } else { ACTION_51 } } else { if (CONDITION_QB) { if (CONDITION_RB) { if (CONDITION_PA) { if (CONDITION_PC) { if (CONDITION_LD) { ACTION_31 } else { if (CONDITION_UD) { ACTION_50 } else { ACTION_262 } } } else { ACTION_269 } } else { ACTION_269 } } else { ACTION_50 } } else { goto NODE_650; } } } } } } else { if (CONDITION_XA) { if (CONDITION_XB) { NODE_652: if (CONDITION_LD) { goto NODE_237; } else { if (CONDITION_UD) { if (CONDITION_PA) { ACTION_5 } else { NODE_653: if (CONDITION_PC) { NODE_654: if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_643; } else { ACTION_49 } } else { ACTION_49 } } else { ACTION_5 } } } else { if (CONDITION_PA) { if (CONDITION_PC) { goto NODE_654; } else { ACTION_49 } } else { if (CONDITION_MC) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_645; } else { ACTION_212 } } else { ACTION_212 } } else { ACTION_38 } } else { if (CONDITION_VC) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_647; } else { ACTION_267 } } else { ACTION_267 } } else { ACTION_55 } } else { goto NODE_653; } } } } } } else { ACTION_5 } } else { if (CONDITION_XB) { goto NODE_652; } else { ACTION_0 } } } } } } else { if (CONDITION_LD) { if (CONDITION_PA) { if (CONDITION_OD) { if (CONDITION_RA) { if (CONDITION_ND) { goto NODE_5; } else { if (CONDITION_WD) { goto NODE_5; } else { goto NODE_16; } } } else { if (CONDITION_XA) { NODE_655: if (CONDITION_ND) { ACTION_28 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_28 } else { NODE_656: if (CONDITION_XC) { ACTION_169 } else { ACTION_28 } } } else { ACTION_28 } } } else { if (CONDITION_XC) { NODE_657: if (CONDITION_ND) { ACTION_28 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_28 } else { ACTION_169 } } else { ACTION_28 } } } else { goto NODE_14; } } } } else { if (CONDITION_XA) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_658: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WD) { ACTION_3 } else { ACTION_28 } } } else { NODE_659: if (CONDITION_ND) { ACTION_28 } else { if (CONDITION_WD) { ACTION_28 } else { ACTION_170 } } } } else { goto NODE_655; } } else { NODE_660: if (CONDITION_RB) { if (CONDITION_RA) { goto NODE_659; } else { if (CONDITION_ND) { ACTION_170 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_170 } else { if (CONDITION_XC) { ACTION_616 } else { ACTION_170 } } } else { ACTION_170 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_171 } else { if (CONDITION_WD) { ACTION_171 } else { if (CONDITION_RA) { ACTION_622 } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_617 } else { ACTION_171 } } else { ACTION_171 } } } } } else { if (CONDITION_ND) { ACTION_28 } else { if (CONDITION_WD) { ACTION_28 } else { if (CONDITION_RA) { ACTION_170 } else { if (CONDITION_QB) { goto NODE_656; } else { ACTION_28 } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_PC) { if (CONDITION_RA) { goto NODE_658; } else { goto NODE_657; } } else { NODE_661: if (CONDITION_RA) { goto NODE_659; } else { if (CONDITION_ND) { ACTION_170 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_170 } else { ACTION_616 } } else { ACTION_170 } } } } } else { if (CONDITION_ND) { ACTION_28 } else { if (CONDITION_WD) { ACTION_28 } else { NODE_662: if (CONDITION_QB) { ACTION_169 } else { if (CONDITION_RA) { ACTION_170 } else { ACTION_28 } } } } } } else { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_658; } else { ACTION_28 } } else { ACTION_28 } } else { ACTION_28 } } } } else { if (CONDITION_XC) { if (CONDITION_WD) { NODE_663: if (CONDITION_RA) { if (CONDITION_PC) { if (CONDITION_RB) { ACTION_5 } else { NODE_664: if (CONDITION_XB) { ACTION_28 } else { NODE_665: if (CONDITION_XD) { ACTION_28 } else { ACTION_5 } } } } else { if (CONDITION_XB) { goto NODE_274; } else { if (CONDITION_XD) { goto NODE_256; } else { ACTION_5 } } } } else { if (CONDITION_RB) { NODE_666: if (CONDITION_PC) { ACTION_51 } else { NODE_667: if (CONDITION_XB) { ACTION_170 } else { if (CONDITION_XD) { ACTION_170 } else { ACTION_51 } } } } else { NODE_668: if (CONDITION_XB) { if (CONDITION_PC) { ACTION_28 } else { goto NODE_275; } } else { if (CONDITION_XD) { if (CONDITION_PC) { ACTION_28 } else { goto NODE_257; } } else { ACTION_5 } } } } } else { if (CONDITION_ND) { goto NODE_663; } else { if (CONDITION_RA) { if (CONDITION_PC) { if (CONDITION_RB) { ACTION_51 } else { goto NODE_667; } } else { if (CONDITION_XB) { if (CONDITION_RB) { ACTION_170 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_622 } else { ACTION_170 } } else { ACTION_170 } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_170 } else { if (CONDITION_SA) { ACTION_622 } else { ACTION_170 } } } else { ACTION_51 } } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_PC) { ACTION_269 } else { if (CONDITION_XB) { ACTION_616 } else { if (CONDITION_XD) { ACTION_616 } else { ACTION_269 } } } } else { goto NODE_666; } } else { if (CONDITION_QB) { if (CONDITION_XB) { if (CONDITION_PC) { ACTION_169 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_617 } else { ACTION_169 } } else { ACTION_169 } } } else { if (CONDITION_XD) { if (CONDITION_PC) { ACTION_169 } else { if (CONDITION_SA) { ACTION_617 } else { ACTION_169 } } } else { ACTION_50 } } } else { goto NODE_668; } } } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_227; } else { if (CONDITION_RB) { ACTION_32 } else { if (CONDITION_RA) { goto NODE_305; } else { goto NODE_3; } } } } else { goto NODE_21; } } } } } else { if (CONDITION_XA) { if (CONDITION_OD) { if (CONDITION_RA) { NODE_669: if (CONDITION_ND) { ACTION_28 } else { if (CONDITION_WD) { ACTION_28 } else { ACTION_167 } } } else { if (CONDITION_ND) { ACTION_167 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_167 } else { if (CONDITION_XC) { ACTION_604 } else { ACTION_167 } } } else { ACTION_167 } } } } else { if (CONDITION_PC) { if (CONDITION_ND) { NODE_670: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_28 } else { NODE_671: if (CONDITION_XB) { ACTION_168 } else { NODE_672: if (CONDITION_XD) { ACTION_168 } else { ACTION_28 } } } } else { if (CONDITION_XB) { ACTION_168 } else { if (CONDITION_XD) { ACTION_168 } else { NODE_673: if (CONDITION_RB) { if (CONDITION_XC) { ACTION_168 } else { ACTION_28 } } else { ACTION_28 } } } } } else { if (CONDITION_WD) { goto NODE_670; } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { NODE_674: if (CONDITION_XB) { ACTION_168 } else { if (CONDITION_XC) { ACTION_168 } else { goto NODE_672; } } } else { if (CONDITION_XC) { ACTION_609 } else { goto NODE_671; } } } else { goto NODE_674; } } else { if (CONDITION_XB) { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_610 } else { if (CONDITION_XD) { ACTION_610 } else { ACTION_168 } } } else { NODE_675: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_609 } else { ACTION_168 } } else { ACTION_168 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { ACTION_610 } else { goto NODE_675; } } else { if (CONDITION_XC) { goto NODE_662; } else { ACTION_28 } } } } } } } else { if (CONDITION_XD) { goto NODE_660; } else { if (CONDITION_XC) { NODE_676: if (CONDITION_ND) { NODE_677: if (CONDITION_RA) { ACTION_28 } else { NODE_678: if (CONDITION_RB) { ACTION_170 } else { ACTION_28 } } } else { if (CONDITION_WD) { goto NODE_677; } else { if (CONDITION_RA) { ACTION_170 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_616 } else { ACTION_169 } } else { goto NODE_678; } } } } } else { ACTION_28 } } } } } else { if (CONDITION_OD) { if (CONDITION_XB) { if (CONDITION_XC) { if (CONDITION_RA) { goto NODE_669; } else { if (CONDITION_ND) { ACTION_167 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_167 } else { ACTION_604 } } else { ACTION_167 } } } } else { ACTION_29 } } else { goto NODE_601; } } else { if (CONDITION_XB) { if (CONDITION_PC) { if (CONDITION_XC) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_28 } else { if (CONDITION_WD) { ACTION_28 } else { ACTION_168 } } } else { if (CONDITION_ND) { ACTION_168 } else { if (CONDITION_WD) { ACTION_168 } else { ACTION_610 } } } } else { if (CONDITION_ND) { ACTION_168 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_168 } else { ACTION_609 } } else { ACTION_168 } } } } else { goto NODE_319; } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_XC) { goto NODE_661; } else { ACTION_32 } } else { if (CONDITION_RA) { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_196 } else { if (CONDITION_WD) { ACTION_196 } else { if (CONDITION_XC) { ACTION_622 } else { ACTION_196 } } } } else { if (CONDITION_ND) { ACTION_32 } else { if (CONDITION_WD) { ACTION_32 } else { if (CONDITION_XC) { ACTION_170 } else { ACTION_32 } } } } } else { if (CONDITION_XC) { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_171 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_171 } else { ACTION_617 } } else { ACTION_171 } } } else { goto NODE_657; } } else { goto NODE_3; } } } } else { if (CONDITION_XC) { goto NODE_676; } else { ACTION_3 } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { NODE_679: if (CONDITION_XC) { if (CONDITION_RA) { goto NODE_531; } else { goto NODE_537; } } else { ACTION_9 } } else { if (CONDITION_PC) { if (CONDITION_RA) { NODE_680: if (CONDITION_ND) { ACTION_66 } else { if (CONDITION_WD) { ACTION_66 } else { goto NODE_290; } } } else { goto NODE_607; } } else { if (CONDITION_RA) { if (CONDITION_SA) { NODE_681: if (CONDITION_ND) { ACTION_78 } else { if (CONDITION_WD) { ACTION_78 } else { NODE_682: if (CONDITION_XC) { ACTION_275 } else { ACTION_78 } } } } else { NODE_683: if (CONDITION_ND) { ACTION_9 } else { if (CONDITION_WD) { ACTION_9 } else { goto NODE_291; } } } } else { if (CONDITION_XC) { if (CONDITION_SA) { goto NODE_629; } else { goto NODE_637; } } else { NODE_684: if (CONDITION_SA) { ACTION_10 } else { ACTION_1 } } } } } } else { if (CONDITION_XC) { goto NODE_535; } else { ACTION_0 } } } } } } } else { if (CONDITION_OD) { if (CONDITION_PA) { goto NODE_548; } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_39 } else { if (CONDITION_WD) { ACTION_39 } else { NODE_685: if (CONDITION_XA) { ACTION_211 } else { NODE_686: if (CONDITION_XC) { ACTION_211 } else { ACTION_39 } } } } } else { if (CONDITION_XA) { goto NODE_598; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_211 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_211 } else { ACTION_710 } } else { ACTION_211 } } } else { ACTION_39 } } } } else { if (CONDITION_UD) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_62 } else { if (CONDITION_WD) { ACTION_62 } else { NODE_687: if (CONDITION_XA) { ACTION_259 } else { NODE_688: if (CONDITION_XC) { ACTION_259 } else { ACTION_62 } } } } } else { if (CONDITION_XA) { NODE_689: if (CONDITION_ND) { ACTION_259 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_259 } else { if (CONDITION_XC) { ACTION_819 } else { ACTION_259 } } } else { ACTION_259 } } } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_259 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_259 } else { ACTION_819 } } else { ACTION_259 } } } else { ACTION_62 } } } } else { if (CONDITION_VC) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_63 } else { if (CONDITION_WD) { ACTION_63 } else { NODE_690: if (CONDITION_XA) { ACTION_260 } else { NODE_691: if (CONDITION_XC) { ACTION_260 } else { ACTION_63 } } } } } else { if (CONDITION_XA) { goto NODE_599; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_260 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_260 } else { ACTION_820 } } else { ACTION_260 } } } else { ACTION_63 } } } } else { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_WD) { ACTION_6 } else { NODE_692: if (CONDITION_XA) { ACTION_48 } else { NODE_693: if (CONDITION_XC) { ACTION_48 } else { ACTION_6 } } } } } else { if (CONDITION_XA) { goto NODE_551; } else { if (CONDITION_XC) { goto NODE_554; } else { ACTION_6 } } } } } } } else { if (CONDITION_UD) { if (CONDITION_XA) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_54 } else { if (CONDITION_WD) { ACTION_54 } else { ACTION_259 } } } else { goto NODE_689; } } else { goto NODE_601; } } else { goto NODE_600; } } } } else { if (CONDITION_PA) { if (CONDITION_XA) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_5 } else { if (CONDITION_UD) { ACTION_49 } else { if (CONDITION_XB) { ACTION_49 } else { if (CONDITION_XC) { ACTION_49 } else { goto NODE_485; } } } } } } else { if (CONDITION_ND) { NODE_694: if (CONDITION_UD) { ACTION_49 } else { NODE_695: if (CONDITION_XB) { ACTION_49 } else { goto NODE_485; } } } else { if (CONDITION_WD) { goto NODE_694; } else { if (CONDITION_XD) { ACTION_263 } else { if (CONDITION_XC) { if (CONDITION_UD) { ACTION_263 } else { if (CONDITION_XB) { ACTION_263 } else { ACTION_51 } } } else { if (CONDITION_UD) { ACTION_49 } else { NODE_696: if (CONDITION_XB) { ACTION_49 } else { ACTION_5 } } } } } } } } else { if (CONDITION_UD) { goto NODE_605; } else { if (CONDITION_XB) { goto NODE_605; } else { if (CONDITION_XD) { goto NODE_605; } else { if (CONDITION_XC) { if (CONDITION_RB) { goto NODE_608; } else { goto NODE_637; } } else { ACTION_5 } } } } } } else { if (CONDITION_XB) { NODE_697: if (CONDITION_XD) { NODE_698: if (CONDITION_RB) { if (CONDITION_RA) { goto NODE_644; } else { goto NODE_618; } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_264 } else { if (CONDITION_WD) { ACTION_264 } else { if (CONDITION_RA) { ACTION_843 } else { if (CONDITION_QB) { goto NODE_625; } else { ACTION_264 } } } } } else { if (CONDITION_ND) { ACTION_49 } else { if (CONDITION_WD) { ACTION_49 } else { if (CONDITION_RA) { ACTION_263 } else { NODE_699: if (CONDITION_QB) { goto NODE_606; } else { ACTION_49 } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { goto NODE_441; } else { if (CONDITION_WD) { goto NODE_441; } else { if (CONDITION_RA) { ACTION_263 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_837 } else { ACTION_262 } } else { goto NODE_442; } } } } } else { ACTION_49 } } } else { if (CONDITION_UD) { goto NODE_697; } else { if (CONDITION_XD) { goto NODE_698; } else { NODE_700: if (CONDITION_XC) { goto NODE_535; } else { ACTION_5 } } } } } } else { if (CONDITION_XC) { if (CONDITION_WD) { NODE_701: if (CONDITION_RA) { if (CONDITION_PC) { NODE_702: if (CONDITION_RB) { ACTION_5 } else { goto NODE_695; } } else { if (CONDITION_XB) { NODE_703: if (CONDITION_RB) { ACTION_49 } else { NODE_704: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_264 } else { ACTION_49 } } else { ACTION_49 } } } else { if (CONDITION_XD) { goto NODE_286; } else { ACTION_5 } } } } else { if (CONDITION_RB) { NODE_705: if (CONDITION_PC) { ACTION_51 } else { NODE_706: if (CONDITION_XB) { ACTION_263 } else { if (CONDITION_XD) { ACTION_263 } else { ACTION_51 } } } } else { NODE_707: if (CONDITION_XB) { if (CONDITION_PC) { ACTION_49 } else { goto NODE_704; } } else { if (CONDITION_XD) { if (CONDITION_PC) { ACTION_49 } else { goto NODE_287; } } else { ACTION_5 } } } } } else { if (CONDITION_ND) { goto NODE_701; } else { if (CONDITION_RA) { if (CONDITION_PC) { if (CONDITION_RB) { ACTION_51 } else { goto NODE_706; } } else { if (CONDITION_XB) { if (CONDITION_RB) { ACTION_263 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_843 } else { ACTION_263 } } else { ACTION_263 } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_263 } else { if (CONDITION_SA) { ACTION_843 } else { ACTION_263 } } } else { ACTION_51 } } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_PC) { ACTION_269 } else { if (CONDITION_XB) { ACTION_837 } else { if (CONDITION_XD) { ACTION_837 } else { ACTION_269 } } } } else { goto NODE_705; } } else { if (CONDITION_QB) { if (CONDITION_XB) { if (CONDITION_PC) { ACTION_262 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_838 } else { ACTION_262 } } else { ACTION_262 } } } else { if (CONDITION_XD) { if (CONDITION_PC) { ACTION_262 } else { if (CONDITION_SA) { ACTION_838 } else { ACTION_262 } } } else { ACTION_50 } } } else { goto NODE_707; } } } } } } else { NODE_708: if (CONDITION_XD) { NODE_709: if (CONDITION_PC) { NODE_710: if (CONDITION_RA) { NODE_711: if (CONDITION_RB) { ACTION_7 } else { ACTION_66 } } else { ACTION_7 } } else { if (CONDITION_RB) { ACTION_66 } else { if (CONDITION_RA) { goto NODE_327; } else { NODE_712: if (CONDITION_SA) { ACTION_67 } else { ACTION_7 } } } } } else { NODE_713: if (CONDITION_XB) { ACTION_7 } else { ACTION_0 } } } } } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_PC) { if (CONDITION_ND) { NODE_714: if (CONDITION_RB) { if (CONDITION_RA) { ACTION_40 } else { if (CONDITION_XA) { ACTION_212 } else { if (CONDITION_XC) { ACTION_212 } else { ACTION_40 } } } } else { if (CONDITION_XA) { ACTION_212 } else { if (CONDITION_XC) { ACTION_212 } else { if (CONDITION_RA) { if (CONDITION_XD) { ACTION_212 } else { ACTION_40 } } else { ACTION_40 } } } } } else { if (CONDITION_WD) { goto NODE_714; } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_212 } else { goto NODE_614; } } else { ACTION_212 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_716 } else { if (CONDITION_XD) { ACTION_716 } else { ACTION_212 } } } else { if (CONDITION_QB) { goto NODE_614; } else { ACTION_212 } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_212 } else { ACTION_715 } } else { ACTION_715 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_212 } else { ACTION_716 } } else { ACTION_212 } } } else { NODE_715: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_40 } else { NODE_716: if (CONDITION_XD) { ACTION_229 } else { ACTION_40 } } } else { ACTION_40 } } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { NODE_717: if (CONDITION_ND) { ACTION_42 } else { if (CONDITION_WD) { ACTION_42 } else { if (CONDITION_XA) { ACTION_214 } else { if (CONDITION_XC) { ACTION_214 } else { ACTION_42 } } } } } else { if (CONDITION_XA) { goto NODE_620; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_214 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_214 } else { ACTION_721 } } else { ACTION_214 } } } else { ACTION_42 } } } } else { if (CONDITION_RA) { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_240 } else { if (CONDITION_WD) { ACTION_240 } else { if (CONDITION_XA) { ACTION_727 } else { if (CONDITION_XC) { ACTION_727 } else { ACTION_240 } } } } } else { goto NODE_717; } } else { if (CONDITION_SA) { if (CONDITION_XA) { goto NODE_630; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_215 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_215 } else { ACTION_722 } } else { ACTION_215 } } } else { ACTION_43 } } } else { if (CONDITION_XA) { goto NODE_638; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_38 } else { ACTION_213 } } else { ACTION_38 } } } else { ACTION_4 } } } } } } else { if (CONDITION_XA) { if (CONDITION_XC) { goto NODE_646; } else { ACTION_38 } } else { if (CONDITION_XC) { goto NODE_646; } else { ACTION_4 } } } } } else { if (CONDITION_UD) { if (CONDITION_PC) { if (CONDITION_ND) { NODE_718: if (CONDITION_RB) { if (CONDITION_RA) { ACTION_69 } else { NODE_719: if (CONDITION_XA) { ACTION_266 } else { if (CONDITION_XC) { ACTION_266 } else { ACTION_69 } } } } else { if (CONDITION_XA) { ACTION_266 } else { if (CONDITION_XC) { ACTION_266 } else { if (CONDITION_RA) { NODE_720: if (CONDITION_XD) { ACTION_266 } else { ACTION_69 } } else { ACTION_69 } } } } } else { if (CONDITION_WD) { goto NODE_718; } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_266 } else { NODE_721: if (CONDITION_XC) { ACTION_840 } else { ACTION_266 } } } else { ACTION_266 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_845 } else { if (CONDITION_XD) { ACTION_845 } else { ACTION_266 } } } else { if (CONDITION_QB) { goto NODE_721; } else { ACTION_266 } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_266 } else { ACTION_840 } } else { ACTION_840 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_266 } else { ACTION_845 } } else { ACTION_266 } } } else { NODE_722: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_69 } else { NODE_723: if (CONDITION_XD) { ACTION_326 } else { ACTION_69 } } } else { ACTION_69 } } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { NODE_724: if (CONDITION_ND) { ACTION_80 } else { if (CONDITION_WD) { ACTION_80 } else { if (CONDITION_XA) { ACTION_277 } else { if (CONDITION_XC) { ACTION_277 } else { ACTION_80 } } } } } else { if (CONDITION_XA) { NODE_725: if (CONDITION_ND) { ACTION_277 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_277 } else { if (CONDITION_XC) { ACTION_859 } else { ACTION_277 } } } else { ACTION_277 } } } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_277 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_277 } else { ACTION_859 } } else { ACTION_277 } } } else { ACTION_80 } } } } else { if (CONDITION_RA) { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_354 } else { if (CONDITION_WD) { ACTION_354 } else { if (CONDITION_XA) { ACTION_873 } else { if (CONDITION_XC) { ACTION_873 } else { ACTION_354 } } } } } else { goto NODE_724; } } else { if (CONDITION_SA) { if (CONDITION_XA) { NODE_726: if (CONDITION_ND) { ACTION_281 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_281 } else { if (CONDITION_XC) { ACTION_863 } else { ACTION_281 } } } else { ACTION_281 } } } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_281 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_281 } else { ACTION_863 } } else { ACTION_281 } } } else { ACTION_84 } } } else { if (CONDITION_XA) { NODE_727: if (CONDITION_ND) { ACTION_54 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_54 } else { if (CONDITION_XC) { ACTION_272 } else { ACTION_54 } } } else { ACTION_54 } } } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_54 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_54 } else { ACTION_272 } } else { ACTION_54 } } } else { ACTION_12 } } } } } } else { if (CONDITION_XA) { if (CONDITION_XC) { NODE_728: if (CONDITION_ND) { NODE_729: if (CONDITION_RA) { ACTION_54 } else { NODE_730: if (CONDITION_RB) { ACTION_277 } else { ACTION_54 } } } else { if (CONDITION_WD) { goto NODE_729; } else { if (CONDITION_RA) { ACTION_277 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_859 } else { ACTION_272 } } else { goto NODE_730; } } } } } else { ACTION_54 } } else { if (CONDITION_XC) { goto NODE_728; } else { ACTION_12 } } } } } else { if (CONDITION_PC) { if (CONDITION_VC) { if (CONDITION_ND) { NODE_731: if (CONDITION_RB) { if (CONDITION_RA) { ACTION_70 } else { if (CONDITION_XA) { ACTION_267 } else { if (CONDITION_XC) { ACTION_267 } else { ACTION_70 } } } } else { if (CONDITION_XA) { ACTION_267 } else { if (CONDITION_XC) { ACTION_267 } else { if (CONDITION_RA) { if (CONDITION_XD) { ACTION_267 } else { ACTION_70 } } else { ACTION_70 } } } } } else { if (CONDITION_WD) { goto NODE_731; } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_267 } else { goto NODE_615; } } else { ACTION_267 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_846 } else { if (CONDITION_XD) { ACTION_846 } else { ACTION_267 } } } else { if (CONDITION_QB) { goto NODE_615; } else { ACTION_267 } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_267 } else { ACTION_841 } } else { ACTION_841 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_267 } else { ACTION_846 } } else { ACTION_267 } } } else { NODE_732: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_70 } else { NODE_733: if (CONDITION_XD) { ACTION_327 } else { ACTION_70 } } } else { ACTION_70 } } } } } } else { if (CONDITION_ND) { NODE_734: if (CONDITION_RB) { if (CONDITION_RA) { ACTION_7 } else { NODE_735: if (CONDITION_XA) { ACTION_49 } else { goto NODE_285; } } } else { if (CONDITION_XA) { ACTION_49 } else { if (CONDITION_XC) { ACTION_49 } else { if (CONDITION_RA) { NODE_736: if (CONDITION_XD) { ACTION_49 } else { ACTION_7 } } else { ACTION_7 } } } } } else { if (CONDITION_WD) { goto NODE_734; } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_49 } else { goto NODE_606; } } else { ACTION_49 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_263 } else { if (CONDITION_XD) { ACTION_263 } else { ACTION_49 } } } else { goto NODE_699; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_49 } else { ACTION_262 } } else { ACTION_262 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_49 } else { ACTION_263 } } else { ACTION_49 } } } else { NODE_737: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_7 } else { NODE_738: if (CONDITION_XD) { ACTION_66 } else { ACTION_7 } } } else { ACTION_7 } } } } } } } else { if (CONDITION_VC) { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { NODE_739: if (CONDITION_ND) { ACTION_81 } else { if (CONDITION_WD) { ACTION_81 } else { if (CONDITION_XA) { ACTION_278 } else { if (CONDITION_XC) { ACTION_278 } else { ACTION_81 } } } } } else { if (CONDITION_XA) { goto NODE_621; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_278 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_278 } else { ACTION_860 } } else { ACTION_278 } } } else { ACTION_81 } } } } else { if (CONDITION_RA) { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_355 } else { if (CONDITION_WD) { ACTION_355 } else { if (CONDITION_XA) { ACTION_874 } else { if (CONDITION_XC) { ACTION_874 } else { ACTION_355 } } } } } else { goto NODE_739; } } else { if (CONDITION_SA) { if (CONDITION_XA) { goto NODE_631; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_282 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_282 } else { ACTION_864 } } else { ACTION_282 } } } else { ACTION_85 } } } else { if (CONDITION_XA) { goto NODE_639; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_55 } else { ACTION_273 } } else { ACTION_55 } } } else { ACTION_13 } } } } } } else { if (CONDITION_XA) { if (CONDITION_XC) { goto NODE_648; } else { ACTION_55 } } else { if (CONDITION_XC) { goto NODE_648; } else { ACTION_13 } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { goto NODE_622; } else { if (CONDITION_RA) { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_78 } else { if (CONDITION_WD) { ACTION_78 } else { if (CONDITION_XA) { ACTION_275 } else { goto NODE_682; } } } } else { goto NODE_623; } } else { if (CONDITION_SA) { goto NODE_632; } else { goto NODE_640; } } } } else { if (CONDITION_XA) { goto NODE_700; } else { if (CONDITION_XC) { goto NODE_535; } else { ACTION_1 } } } } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_XA) { if (CONDITION_UD) { if (CONDITION_RA) { NODE_740: if (CONDITION_ND) { ACTION_54 } else { if (CONDITION_WD) { ACTION_54 } else { ACTION_277 } } } else { goto NODE_725; } } else { goto NODE_617; } } else { goto NODE_679; } } else { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_XA) { if (CONDITION_UD) { if (CONDITION_ND) { ACTION_266 } else { if (CONDITION_WD) { ACTION_266 } else { ACTION_845 } } } else { goto NODE_644; } } else { goto NODE_680; } } else { if (CONDITION_UD) { if (CONDITION_XA) { if (CONDITION_ND) { ACTION_266 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_266 } else { goto NODE_721; } } else { ACTION_266 } } } else { goto NODE_607; } } else { goto NODE_616; } } } else { if (CONDITION_SA) { if (CONDITION_RA) { if (CONDITION_XA) { if (CONDITION_UD) { if (CONDITION_ND) { ACTION_281 } else { if (CONDITION_WD) { ACTION_281 } else { ACTION_873 } } } else { goto NODE_532; } } else { goto NODE_681; } } else { if (CONDITION_UD) { if (CONDITION_XA) { goto NODE_726; } else { goto NODE_628; } } else { goto NODE_632; } } } else { if (CONDITION_RA) { if (CONDITION_XA) { if (CONDITION_UD) { goto NODE_740; } else { goto NODE_531; } } else { goto NODE_683; } } else { if (CONDITION_UD) { if (CONDITION_XA) { goto NODE_727; } else { goto NODE_636; } } else { goto NODE_640; } } } } } } else { if (CONDITION_XC) { if (CONDITION_UD) { if (CONDITION_XA) { goto NODE_728; } else { goto NODE_535; } } else { goto NODE_535; } } else { if (CONDITION_XA) { goto NODE_472; } else { ACTION_0 } } } } } } } } } else { if (CONDITION_LD) { if (CONDITION_PA) { if (CONDITION_OD) { if (CONDITION_RA) { if (CONDITION_UC) { goto NODE_5; } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_ND) { ACTION_2 } else { if (CONDITION_WD) { ACTION_2 } else { ACTION_15 } } } else { ACTION_15 } } else { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WD) { ACTION_3 } else { ACTION_34 } } } else { ACTION_34 } } else { NODE_741: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_3 } else { ACTION_37 } } else { ACTION_3 } } } } } else { if (CONDITION_XB) { NODE_742: if (CONDITION_ND) { ACTION_3 } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_3 } else { if (CONDITION_XC) { ACTION_37 } else { ACTION_3 } } } else { ACTION_3 } } } else { if (CONDITION_XD) { goto NODE_742; } else { if (CONDITION_XC) { goto NODE_741; } else { ACTION_0 } } } } } } else { if (CONDITION_ND) { if (CONDITION_UC) { if (CONDITION_WB) { goto NODE_5; } else { goto NODE_16; } } else { if (CONDITION_XC) { if (CONDITION_WB) { ACTION_28 } else { if (CONDITION_XA) { NODE_743: if (CONDITION_KD) { ACTION_93 } else { if (CONDITION_TD) { ACTION_172 } else { ACTION_28 } } } else { ACTION_28 } } } else { if (CONDITION_XA) { NODE_744: if (CONDITION_WB) { ACTION_28 } else { goto NODE_743; } } else { goto NODE_14; } } } } else { if (CONDITION_UC) { if (CONDITION_WB) { goto NODE_11; } else { goto NODE_17; } } else { NODE_745: if (CONDITION_WB) { if (CONDITION_XA) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_37 } else { if (CONDITION_XC) { ACTION_195 } else { ACTION_37 } } } else { ACTION_37 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_31 } else { ACTION_195 } } else { ACTION_37 } } else { goto NODE_14; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WD) { ACTION_102 } else { NODE_746: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_96 } else { ACTION_15 } } else { ACTION_15 } } } else { if (CONDITION_WD) { NODE_747: if (CONDITION_TD) { ACTION_207 } else { ACTION_37 } } else { if (CONDITION_TD) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_192 } else { ACTION_34 } } else { ACTION_34 } } else { goto NODE_167; } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_31 } else { goto NODE_35; } } else { goto NODE_14; } } } } } } } else { if (CONDITION_PC) { if (CONDITION_UC) { if (CONDITION_WB) { goto NODE_113; } else { if (CONDITION_ND) { NODE_748: if (CONDITION_XA) { goto NODE_265; } else { NODE_749: if (CONDITION_XB) { goto NODE_271; } else { if (CONDITION_XC) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_5 } else { goto NODE_665; } } else { if (CONDITION_RB) { ACTION_28 } else { goto NODE_665; } } } else { if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_266; } else { ACTION_3 } } else { ACTION_0 } } } } } else { if (CONDITION_RB) { if (CONDITION_RA) { goto NODE_5; } else { goto NODE_17; } } else { if (CONDITION_WD) { NODE_750: if (CONDITION_XA) { ACTION_37 } else { NODE_751: if (CONDITION_XC) { NODE_752: if (CONDITION_XB) { ACTION_37 } else { if (CONDITION_XD) { ACTION_37 } else { ACTION_14 } } } else { goto NODE_22; } } } else { if (CONDITION_RA) { if (CONDITION_XD) { ACTION_32 } else { if (CONDITION_XC) { NODE_753: if (CONDITION_XA) { ACTION_32 } else { NODE_754: if (CONDITION_XB) { ACTION_32 } else { ACTION_9 } } } else { goto NODE_26; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { NODE_755: if (CONDITION_XA) { ACTION_31 } else { NODE_756: if (CONDITION_XB) { ACTION_31 } else { if (CONDITION_XD) { ACTION_31 } else { ACTION_8 } } } } else { NODE_757: if (CONDITION_XA) { ACTION_3 } else { NODE_758: if (CONDITION_XB) { ACTION_3 } else { if (CONDITION_XD) { ACTION_3 } else { ACTION_1 } } } } } else { goto NODE_13; } } } } } } } else { if (CONDITION_ND) { if (CONDITION_WB) { goto NODE_748; } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_15 } else { ACTION_93 } } else { ACTION_93 } } else { if (CONDITION_TD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_34 } else { ACTION_172 } } else { ACTION_172 } } else { goto NODE_265; } } } else { goto NODE_749; } } } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_WD) { if (CONDITION_WB) { goto NODE_5; } else { if (CONDITION_XA) { goto NODE_477; } else { goto NODE_6; } } } else { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_15 } else { if (CONDITION_WB) { if (CONDITION_XC) { ACTION_15 } else { goto NODE_14; } } else { goto NODE_6; } } } else { if (CONDITION_WB) { goto NODE_18; } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_34 } else { goto NODE_6; } } else { goto NODE_5; } } } } } else { goto NODE_745; } } else { if (CONDITION_WD) { if (CONDITION_WB) { goto NODE_750; } else { if (CONDITION_XA) { NODE_759: if (CONDITION_KD) { ACTION_102 } else { goto NODE_747; } } else { goto NODE_751; } } } else { if (CONDITION_KD) { if (CONDITION_XA) { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_97 } else { if (CONDITION_XD) { ACTION_97 } else { ACTION_15 } } } else { goto NODE_746; } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_96 } else { if (CONDITION_XD) { ACTION_96 } else { ACTION_20 } } } else { goto NODE_756; } } else { if (CONDITION_RA) { NODE_760: if (CONDITION_WB) { if (CONDITION_XB) { ACTION_97 } else { if (CONDITION_XD) { ACTION_97 } else { ACTION_21 } } } else { NODE_761: if (CONDITION_XB) { ACTION_32 } else { if (CONDITION_XD) { ACTION_32 } else { ACTION_9 } } } } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_15 } else { if (CONDITION_XD) { ACTION_15 } else { ACTION_2 } } } else { goto NODE_758; } } } } else { goto NODE_22; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WB) { NODE_762: if (CONDITION_XA) { ACTION_195 } else { if (CONDITION_XB) { ACTION_195 } else { if (CONDITION_XD) { ACTION_195 } else { ACTION_77 } } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_192 } else { goto NODE_756; } } else { goto NODE_755; } } } else { if (CONDITION_RA) { NODE_763: if (CONDITION_WB) { NODE_764: if (CONDITION_XA) { ACTION_200 } else { NODE_765: if (CONDITION_XB) { ACTION_200 } else { if (CONDITION_XD) { ACTION_200 } else { ACTION_82 } } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_197 } else { goto NODE_761; } } else { NODE_766: if (CONDITION_XA) { ACTION_32 } else { goto NODE_761; } } } } else { if (CONDITION_WB) { NODE_767: if (CONDITION_XA) { ACTION_37 } else { goto NODE_752; } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_34 } else { goto NODE_758; } } else { goto NODE_757; } } } } } else { if (CONDITION_XA) { if (CONDITION_TD) { if (CONDITION_RA) { if (CONDITION_XD) { ACTION_197 } else { ACTION_34 } } else { ACTION_34 } } else { if (CONDITION_WB) { if (CONDITION_RA) { NODE_768: if (CONDITION_XD) { ACTION_200 } else { ACTION_37 } } else { ACTION_37 } } else { if (CONDITION_RA) { goto NODE_187; } else { ACTION_3 } } } } else { goto NODE_22; } } } } } } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_769: if (CONDITION_XD) { if (CONDITION_XA) { NODE_770: if (CONDITION_UC) { goto NODE_42; } else { goto NODE_744; } } else { if (CONDITION_UC) { goto NODE_42; } else { ACTION_28 } } } else { NODE_771: if (CONDITION_XB) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_3 } else { NODE_772: if (CONDITION_XA) { ACTION_28 } else { NODE_773: if (CONDITION_XC) { ACTION_28 } else { ACTION_3 } } } } else { if (CONDITION_WB) { goto NODE_772; } else { if (CONDITION_XA) { goto NODE_743; } else { goto NODE_773; } } } } else { if (CONDITION_XA) { goto NODE_770; } else { goto NODE_488; } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_XA) { if (CONDITION_UC) { NODE_774: if (CONDITION_WB) { ACTION_33 } else { ACTION_171 } } else { if (CONDITION_WB) { ACTION_171 } else { NODE_775: if (CONDITION_KD) { ACTION_375 } else { if (CONDITION_TD) { ACTION_627 } else { ACTION_171 } } } } } else { if (CONDITION_UC) { goto NODE_774; } else { ACTION_171 } } } else { goto NODE_771; } } else { goto NODE_769; } } } else { if (CONDITION_RB) { if (CONDITION_XC) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_51 } else { NODE_776: if (CONDITION_XA) { ACTION_170 } else { goto NODE_667; } } } else { if (CONDITION_WB) { goto NODE_776; } else { if (CONDITION_XA) { NODE_777: if (CONDITION_KD) { ACTION_374 } else { if (CONDITION_TD) { ACTION_623 } else { ACTION_170 } } } else { goto NODE_667; } } } } else { if (CONDITION_XD) { if (CONDITION_XA) { if (CONDITION_UC) { goto NODE_30; } else { if (CONDITION_WB) { ACTION_170 } else { goto NODE_777; } } } else { ACTION_32 } } else { if (CONDITION_XA) { goto NODE_770; } else { goto NODE_21; } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_33 } else { goto NODE_36; } } else { if (CONDITION_WB) { goto NODE_36; } else { if (CONDITION_XA) { goto NODE_775; } else { goto NODE_37; } } } } else { goto NODE_771; } } else { if (CONDITION_UC) { if (CONDITION_WB) { goto NODE_5; } else { if (CONDITION_XA) { ACTION_28 } else { NODE_778: if (CONDITION_XC) { goto NODE_664; } else { goto NODE_14; } } } } else { if (CONDITION_XA) { goto NODE_744; } else { goto NODE_778; } } } } } } else { if (CONDITION_UC) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_779: if (CONDITION_XD) { NODE_780: if (CONDITION_WB) { goto NODE_139; } else { ACTION_32 } } else { NODE_781: if (CONDITION_XB) { if (CONDITION_XC) { goto NODE_780; } else { if (CONDITION_WB) { ACTION_3 } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_32 } else { ACTION_3 } } else { ACTION_3 } } } } else { if (CONDITION_XA) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_3 } else { NODE_782: if (CONDITION_XC) { ACTION_32 } else { ACTION_3 } } } else { if (CONDITION_WD) { ACTION_32 } else { goto NODE_782; } } } else { if (CONDITION_XC) { if (CONDITION_WB) { goto NODE_139; } else { ACTION_9 } } else { ACTION_0 } } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_WB) { goto NODE_140; } else { ACTION_196 } } else { goto NODE_781; } } else { goto NODE_779; } } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_149; } else { if (CONDITION_XC) { goto NODE_152; } else { goto NODE_26; } } } else { if (CONDITION_SA) { if (CONDITION_XD) { goto NODE_142; } else { if (CONDITION_QB) { if (CONDITION_WD) { NODE_783: if (CONDITION_XA) { ACTION_3 } else { if (CONDITION_XB) { ACTION_3 } else { goto NODE_102; } } } else { if (CONDITION_XC) { ACTION_31 } else { goto NODE_26; } } } else { goto NODE_783; } } } else { goto NODE_11; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RB) { NODE_784: if (CONDITION_XA) { ACTION_190 } else { NODE_785: if (CONDITION_XB) { ACTION_190 } else { if (CONDITION_XD) { ACTION_190 } else { ACTION_72 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_191 } else { NODE_786: if (CONDITION_XA) { ACTION_31 } else { NODE_787: if (CONDITION_XB) { ACTION_31 } else { ACTION_8 } } } } else { goto NODE_755; } } } else { if (CONDITION_RB) { if (CONDITION_WD) { goto NODE_764; } else { goto NODE_766; } } else { if (CONDITION_WD) { NODE_788: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_204 } else { NODE_789: if (CONDITION_XA) { ACTION_37 } else { NODE_790: if (CONDITION_XB) { ACTION_37 } else { ACTION_14 } } } } else { goto NODE_767; } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_33 } else { NODE_791: if (CONDITION_XA) { ACTION_3 } else { NODE_792: if (CONDITION_XB) { ACTION_3 } else { ACTION_1 } } } } else { goto NODE_757; } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_200 } else { ACTION_32 } } else { ACTION_32 } } else { if (CONDITION_SA) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_204 } else { ACTION_33 } } else { ACTION_33 } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_37 } else { ACTION_3 } } else { ACTION_3 } } } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_37 } else { goto NODE_21; } } else { goto NODE_26; } } } } } } else { if (CONDITION_RA) { if (CONDITION_WD) { if (CONDITION_WB) { if (CONDITION_XA) { goto NODE_322; } else { NODE_793: if (CONDITION_XD) { goto NODE_304; } else { if (CONDITION_XB) { goto NODE_782; } else { NODE_794: if (CONDITION_XC) { ACTION_9 } else { ACTION_0 } } } } } else { if (CONDITION_XA) { NODE_795: if (CONDITION_KD) { NODE_796: if (CONDITION_RB) { ACTION_97 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_399 } else { ACTION_97 } } else { ACTION_97 } } } else { if (CONDITION_TD) { NODE_797: if (CONDITION_RB) { ACTION_197 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_691 } else { ACTION_197 } } else { ACTION_197 } } } else { goto NODE_322; } } } else { goto NODE_793; } } } else { if (CONDITION_XD) { if (CONDITION_KD) { if (CONDITION_XA) { NODE_798: if (CONDITION_RB) { ACTION_97 } else { if (CONDITION_SA) { ACTION_399 } else { ACTION_97 } } } else { if (CONDITION_RB) { NODE_799: if (CONDITION_WB) { if (CONDITION_XC) { ACTION_97 } else { ACTION_32 } } else { ACTION_32 } } else { if (CONDITION_SA) { if (CONDITION_WB) { if (CONDITION_XC) { ACTION_399 } else { ACTION_196 } } else { ACTION_196 } } else { goto NODE_799; } } } } else { if (CONDITION_RB) { NODE_800: if (CONDITION_WB) { if (CONDITION_XA) { ACTION_200 } else { if (CONDITION_XC) { ACTION_200 } else { ACTION_32 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_197 } else { ACTION_32 } } else { ACTION_32 } } } else { if (CONDITION_SA) { if (CONDITION_WB) { if (CONDITION_XA) { ACTION_694 } else { if (CONDITION_XC) { ACTION_694 } else { ACTION_196 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_691 } else { ACTION_196 } } else { ACTION_196 } } } else { goto NODE_800; } } } } else { if (CONDITION_XC) { NODE_801: if (CONDITION_KD) { if (CONDITION_XA) { ACTION_97 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_97 } else { ACTION_21 } } else { goto NODE_754; } } } else { if (CONDITION_WB) { NODE_802: if (CONDITION_XA) { ACTION_200 } else { NODE_803: if (CONDITION_XB) { ACTION_200 } else { ACTION_82 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_197 } else { goto NODE_754; } } else { goto NODE_753; } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_15 } else { NODE_804: if (CONDITION_TD) { ACTION_34 } else { if (CONDITION_WB) { ACTION_37 } else { ACTION_3 } } } } else { goto NODE_21; } } } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_WD) { if (CONDITION_WB) { goto NODE_764; } else { if (CONDITION_XA) { NODE_805: if (CONDITION_KD) { ACTION_403 } else { if (CONDITION_TD) { ACTION_697 } else { ACTION_200 } } } else { goto NODE_765; } } } else { if (CONDITION_QB) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_393 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_393 } else { if (CONDITION_XD) { ACTION_393 } else { ACTION_136 } } } else { goto NODE_785; } } } else { if (CONDITION_WB) { if (CONDITION_XA) { ACTION_680 } else { if (CONDITION_XB) { ACTION_680 } else { if (CONDITION_XD) { ACTION_680 } else { ACTION_342 } } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_677 } else { goto NODE_785; } } else { goto NODE_784; } } } } else { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_97 } else { goto NODE_760; } } else { goto NODE_763; } } } } else { if (CONDITION_WD) { if (CONDITION_WB) { goto NODE_788; } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_407 } else { ACTION_102 } } else { ACTION_102 } } else { if (CONDITION_TD) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_703 } else { ACTION_207 } } else { ACTION_207 } } else { goto NODE_324; } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_204 } else { goto NODE_790; } } else { goto NODE_752; } } } } else { if (CONDITION_QB) { if (CONDITION_WB) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_684 } else { NODE_806: if (CONDITION_XA) { ACTION_195 } else { if (CONDITION_XB) { ACTION_195 } else { ACTION_77 } } } } else { goto NODE_762; } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_394 } else { ACTION_96 } } else { ACTION_96 } } else { if (CONDITION_TD) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_681 } else { ACTION_192 } } else { ACTION_192 } } else { NODE_807: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_191 } else { ACTION_31 } } else { ACTION_31 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_191 } else { goto NODE_787; } } else { goto NODE_756; } } } } else { if (CONDITION_WB) { goto NODE_788; } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_98 } else { ACTION_15 } } else { ACTION_15 } } else { if (CONDITION_TD) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_201 } else { ACTION_34 } } else { ACTION_34 } } else { goto NODE_2; } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_33 } else { goto NODE_792; } } else { goto NODE_758; } } } } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_XD) { if (CONDITION_RB) { NODE_808: if (CONDITION_WB) { ACTION_97 } else { if (CONDITION_WD) { ACTION_403 } else { ACTION_97 } } } else { if (CONDITION_SA) { NODE_809: if (CONDITION_WB) { ACTION_98 } else { if (CONDITION_WD) { ACTION_407 } else { ACTION_98 } } } else { NODE_810: if (CONDITION_WB) { ACTION_15 } else { if (CONDITION_WD) { ACTION_102 } else { ACTION_15 } } } } } else { goto NODE_810; } } else { if (CONDITION_XD) { if (CONDITION_RB) { NODE_811: if (CONDITION_WB) { ACTION_200 } else { if (CONDITION_TD) { if (CONDITION_WD) { ACTION_697 } else { ACTION_197 } } else { goto NODE_32; } } } else { if (CONDITION_WB) { goto NODE_306; } else { if (CONDITION_SA) { NODE_812: if (CONDITION_TD) { if (CONDITION_WD) { ACTION_703 } else { ACTION_201 } } else { if (CONDITION_WD) { ACTION_204 } else { ACTION_33 } } } else { NODE_813: if (CONDITION_TD) { if (CONDITION_WD) { ACTION_207 } else { ACTION_34 } } else { goto NODE_35; } } } } } else { NODE_814: if (CONDITION_WB) { ACTION_37 } else { goto NODE_813; } } } } else { if (CONDITION_XD) { goto NODE_277; } else { goto NODE_21; } } } } } } } } } else { if (CONDITION_OD) { if (CONDITION_RA) { if (CONDITION_XB) { if (CONDITION_WB) { if (CONDITION_UC) { goto NODE_64; } else { if (CONDITION_ND) { ACTION_29 } else { if (CONDITION_WD) { ACTION_29 } else { goto NODE_72; } } } } else { if (CONDITION_UC) { ACTION_29 } else { goto NODE_464; } } } else { if (CONDITION_XA) { if (CONDITION_UC) { goto NODE_65; } else { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_ND) { ACTION_15 } else { if (CONDITION_WD) { ACTION_15 } else { ACTION_94 } } } else { ACTION_94 } } else { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_ND) { ACTION_28 } else { if (CONDITION_WD) { ACTION_29 } else { ACTION_179 } } } else { ACTION_179 } } else { if (CONDITION_ND) { ACTION_29 } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_29 } else { ACTION_182 } } else { ACTION_29 } } } } } } else { goto NODE_568; } } } else { if (CONDITION_XB) { if (CONDITION_UC) { goto NODE_69; } else { if (CONDITION_ND) { if (CONDITION_WB) { goto NODE_70; } else { if (CONDITION_XA) { NODE_815: if (CONDITION_KD) { ACTION_372 } else { if (CONDITION_TD) { ACTION_605 } else { ACTION_167 } } } else { goto NODE_71; } } } else { if (CONDITION_XA) { NODE_816: if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_94 } else { NODE_817: if (CONDITION_XC) { ACTION_381 } else { ACTION_94 } } } else { ACTION_94 } } else { if (CONDITION_WD) { ACTION_386 } else { if (CONDITION_QB) { goto NODE_817; } else { ACTION_94 } } } } else { if (CONDITION_WD) { if (CONDITION_TD) { if (CONDITION_WB) { ACTION_179 } else { ACTION_652 } } else { ACTION_182 } } else { if (CONDITION_TD) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_642 } else { ACTION_179 } } else { ACTION_179 } } else { if (CONDITION_WB) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_645 } else { ACTION_182 } } else { ACTION_182 } } else { goto NODE_73; } } } } } else { if (CONDITION_XC) { if (CONDITION_WD) { ACTION_182 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_645 } else { ACTION_177 } } else { if (CONDITION_WB) { ACTION_182 } else { ACTION_29 } } } } else { ACTION_29 } } } } } else { if (CONDITION_XA) { if (CONDITION_ND) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_29 } else { ACTION_167 } } else { if (CONDITION_WB) { ACTION_167 } else { goto NODE_815; } } } else { if (CONDITION_UC) { if (CONDITION_WB) { goto NODE_67; } else { goto NODE_74; } } else { goto NODE_816; } } } else { NODE_818: if (CONDITION_XC) { if (CONDITION_ND) { ACTION_48 } else { if (CONDITION_WD) { ACTION_64 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_302 } else { ACTION_58 } } else { if (CONDITION_WB) { ACTION_64 } else { ACTION_6 } } } } } else { goto NODE_62; } } } } } else { if (CONDITION_UC) { if (CONDITION_WB) { if (CONDITION_PC) { if (CONDITION_XB) { goto NODE_115; } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_7 } else { if (CONDITION_WD) { ACTION_7 } else { if (CONDITION_XA) { ACTION_30 } else { goto NODE_191; } } } } else { if (CONDITION_ND) { ACTION_66 } else { if (CONDITION_WD) { ACTION_66 } else { if (CONDITION_XA) { ACTION_184 } else { goto NODE_193; } } } } } else { goto NODE_205; } } else { if (CONDITION_XA) { if (CONDITION_XC) { NODE_819: if (CONDITION_ND) { NODE_820: if (CONDITION_RA) { ACTION_3 } else { NODE_821: if (CONDITION_RB) { ACTION_30 } else { ACTION_3 } } } else { if (CONDITION_WD) { goto NODE_820; } else { if (CONDITION_RA) { ACTION_32 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_183 } else { ACTION_31 } } else { goto NODE_821; } } } } } else { ACTION_3 } } else { if (CONDITION_XC) { goto NODE_819; } else { ACTION_0 } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { NODE_822: if (CONDITION_ND) { ACTION_9 } else { if (CONDITION_WD) { ACTION_9 } else { if (CONDITION_XA) { ACTION_32 } else { if (CONDITION_XB) { ACTION_32 } else { goto NODE_207; } } } } } else { if (CONDITION_XA) { goto NODE_148; } else { if (CONDITION_XB) { goto NODE_148; } else { goto NODE_208; } } } } else { if (CONDITION_SA) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_78 } else { if (CONDITION_WD) { ACTION_78 } else { if (CONDITION_XA) { ACTION_196 } else { if (CONDITION_XB) { ACTION_196 } else { if (CONDITION_XC) { ACTION_196 } else { ACTION_78 } } } } } } else { goto NODE_214; } } else { if (CONDITION_RA) { goto NODE_822; } else { goto NODE_221; } } } } else { goto NODE_143; } } } else { if (CONDITION_ND) { if (CONDITION_XA) { if (CONDITION_PC) { goto NODE_670; } else { NODE_823: if (CONDITION_RA) { goto NODE_274; } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_170 } else { if (CONDITION_XD) { ACTION_170 } else { ACTION_28 } } } else { goto NODE_275; } } } } else { if (CONDITION_XB) { if (CONDITION_PC) { goto NODE_272; } else { goto NODE_273; } } else { NODE_824: if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_284; } else { if (CONDITION_RA) { goto NODE_288; } else { if (CONDITION_RB) { goto NODE_291; } else { goto NODE_294; } } } } else { goto NODE_296; } } } } else { if (CONDITION_XA) { if (CONDITION_WD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_32 } else { if (CONDITION_XB) { ACTION_184 } else { if (CONDITION_XD) { ACTION_184 } else { ACTION_32 } } } } else { if (CONDITION_XB) { ACTION_189 } else { if (CONDITION_XD) { ACTION_189 } else { NODE_825: if (CONDITION_RB) { if (CONDITION_XC) { ACTION_189 } else { ACTION_37 } } else { ACTION_37 } } } } } else { if (CONDITION_RA) { goto NODE_322; } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_200 } else { goto NODE_768; } } else { goto NODE_324; } } } } else { if (CONDITION_PC) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { NODE_826: if (CONDITION_XB) { ACTION_30 } else { if (CONDITION_XC) { ACTION_30 } else { NODE_827: if (CONDITION_XD) { ACTION_30 } else { ACTION_3 } } } } else { if (CONDITION_XC) { ACTION_183 } else { if (CONDITION_XB) { ACTION_30 } else { goto NODE_827; } } } } else { goto NODE_826; } } else { if (CONDITION_XB) { NODE_828: if (CONDITION_RA) { goto NODE_117; } else { goto NODE_127; } } else { NODE_829: if (CONDITION_XD) { goto NODE_126; } else { goto NODE_45; } } } } else { if (CONDITION_RB) { goto NODE_345; } else { if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_305; } else { if (CONDITION_SA) { goto NODE_39; } else { goto NODE_167; } } } else { goto NODE_45; } } } } } else { if (CONDITION_XB) { if (CONDITION_PC) { if (CONDITION_XC) { if (CONDITION_QB) { NODE_830: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_30 } else { ACTION_183 } } else { ACTION_183 } } else { if (CONDITION_RB) { if (CONDITION_RA) { ACTION_30 } else { NODE_831: if (CONDITION_WD) { ACTION_189 } else { ACTION_30 } } } else { if (CONDITION_RA) { ACTION_184 } else { goto NODE_831; } } } } else { goto NODE_319; } } else { if (CONDITION_RA) { goto NODE_321; } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_190 } else { goto NODE_807; } } else { if (CONDITION_RB) { goto NODE_32; } else { if (CONDITION_WD) { goto NODE_324; } else { goto NODE_2; } } } } else { goto NODE_276; } } } } else { NODE_832: if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_9 } else { NODE_833: if (CONDITION_XD) { ACTION_9 } else { ACTION_0 } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_72 } else { if (CONDITION_WD) { ACTION_82 } else { ACTION_9 } } } else { goto NODE_833; } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_PC) { ACTION_66 } else { goto NODE_329; } } else { if (CONDITION_PC) { if (CONDITION_XC) { NODE_834: if (CONDITION_QB) { ACTION_65 } else { NODE_835: if (CONDITION_WD) { ACTION_71 } else { ACTION_7 } } } else { ACTION_7 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_SA) { ACTION_73 } else { ACTION_8 } } else { if (CONDITION_SA) { if (CONDITION_WD) { ACTION_86 } else { ACTION_10 } } else { NODE_836: if (CONDITION_WD) { ACTION_14 } else { ACTION_1 } } } } else { goto NODE_684; } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_8 } else { if (CONDITION_RA) { ACTION_9 } else { goto NODE_836; } } } else { ACTION_0 } } } } } } } } else { if (CONDITION_PC) { if (CONDITION_XB) { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_837: if (CONDITION_ND) { ACTION_15 } else { if (CONDITION_WD) { ACTION_15 } else { ACTION_95 } } } else { if (CONDITION_ND) { ACTION_95 } else { if (CONDITION_WD) { ACTION_95 } else { NODE_838: if (CONDITION_XC) { ACTION_388 } else { if (CONDITION_XD) { ACTION_388 } else { ACTION_95 } } } } } } else { NODE_839: if (CONDITION_ND) { ACTION_95 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_95 } else { NODE_840: if (CONDITION_XC) { ACTION_387 } else { ACTION_95 } } } else { ACTION_95 } } } } else { if (CONDITION_ND) { NODE_841: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_93 } else { ACTION_373 } } else { ACTION_373 } } else { if (CONDITION_WD) { NODE_842: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_95 } else { ACTION_388 } } else { ACTION_392 } } else { if (CONDITION_RB) { NODE_843: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_95 } else { goto NODE_840; } } else { ACTION_95 } } else { if (CONDITION_RA) { goto NODE_838; } else { NODE_844: if (CONDITION_QB) { goto NODE_840; } else { ACTION_95 } } } } } } } else { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_28 } else { if (CONDITION_WD) { ACTION_30 } else { ACTION_186 } } } else { if (CONDITION_ND) { ACTION_186 } else { if (CONDITION_WD) { ACTION_186 } else { NODE_845: if (CONDITION_XC) { ACTION_663 } else { if (CONDITION_XD) { ACTION_663 } else { ACTION_186 } } } } } } else { if (CONDITION_ND) { ACTION_186 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_186 } else { NODE_846: if (CONDITION_XC) { ACTION_658 } else { ACTION_186 } } } else { ACTION_186 } } } } else { if (CONDITION_ND) { NODE_847: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_172 } else { ACTION_612 } } else { ACTION_612 } } else { if (CONDITION_WD) { NODE_848: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_186 } else { ACTION_663 } } else { ACTION_673 } } else { if (CONDITION_RB) { NODE_849: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_186 } else { goto NODE_846; } } else { ACTION_186 } } else { if (CONDITION_RA) { goto NODE_845; } else { NODE_850: if (CONDITION_QB) { goto NODE_846; } else { ACTION_186 } } } } } } } else { if (CONDITION_ND) { goto NODE_267; } else { if (CONDITION_WD) { goto NODE_312; } else { if (CONDITION_WB) { if (CONDITION_RB) { NODE_851: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_189 } else { NODE_852: if (CONDITION_XC) { ACTION_661 } else { ACTION_189 } } } else { ACTION_189 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_666 } else { if (CONDITION_XD) { ACTION_666 } else { ACTION_189 } } } else { NODE_853: if (CONDITION_QB) { goto NODE_852; } else { ACTION_189 } } } } else { if (CONDITION_RB) { goto NODE_333; } else { goto NODE_828; } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { goto NODE_267; } else { if (CONDITION_WD) { goto NODE_312; } else { if (CONDITION_WB) { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_189 } else { ACTION_661 } } else { ACTION_661 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_189 } else { ACTION_666 } } else { ACTION_189 } } } else { if (CONDITION_QB) { goto NODE_830; } else { if (CONDITION_RA) { goto NODE_313; } else { ACTION_30 } } } } } } else { goto NODE_319; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_837; } else { if (CONDITION_ND) { ACTION_95 } else { if (CONDITION_WD) { ACTION_95 } else { ACTION_388 } } } } else { goto NODE_839; } } else { if (CONDITION_XC) { if (CONDITION_ND) { NODE_854: if (CONDITION_RA) { ACTION_15 } else { NODE_855: if (CONDITION_RB) { ACTION_95 } else { ACTION_15 } } } else { if (CONDITION_WD) { goto NODE_854; } else { if (CONDITION_RA) { ACTION_97 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_387 } else { ACTION_96 } } else { goto NODE_855; } } } } } else { ACTION_15 } } } else { if (CONDITION_ND) { if (CONDITION_XD) { goto NODE_841; } else { if (CONDITION_RA) { ACTION_93 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_373 } else { ACTION_93 } } else { ACTION_93 } } } } else { if (CONDITION_WD) { if (CONDITION_XD) { goto NODE_842; } else { if (CONDITION_RA) { ACTION_102 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_392 } else { ACTION_102 } } else { ACTION_102 } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_843; } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_95 } else { ACTION_387 } } else { ACTION_95 } } else { ACTION_15 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { ACTION_388 } else { goto NODE_844; } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_96 } else { if (CONDITION_RA) { ACTION_97 } else { ACTION_15 } } } else { ACTION_15 } } } } } } } else { if (CONDITION_ND) { if (CONDITION_TD) { if (CONDITION_WB) { NODE_856: if (CONDITION_XD) { goto NODE_267; } else { if (CONDITION_RA) { ACTION_28 } else { goto NODE_673; } } } else { if (CONDITION_XD) { goto NODE_847; } else { if (CONDITION_RA) { ACTION_172 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_612 } else { ACTION_172 } } else { ACTION_172 } } } } } else { goto NODE_856; } } else { if (CONDITION_WD) { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_313; } else { ACTION_186 } } else { if (CONDITION_RA) { ACTION_34 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_186 } else { ACTION_34 } } else { ACTION_34 } } } } else { if (CONDITION_XD) { goto NODE_848; } else { if (CONDITION_RA) { ACTION_207 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_673 } else { ACTION_207 } } else { ACTION_207 } } } } } else { if (CONDITION_XD) { goto NODE_312; } else { if (CONDITION_RA) { ACTION_37 } else { goto NODE_825; } } } } else { if (CONDITION_TD) { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_849; } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_186 } else { ACTION_658 } } else { ACTION_186 } } else { ACTION_34 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { ACTION_663 } else { goto NODE_850; } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_192 } else { if (CONDITION_RA) { ACTION_197 } else { ACTION_34 } } } else { ACTION_34 } } } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_851; } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_189 } else { ACTION_661 } } else { ACTION_189 } } else { ACTION_37 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { ACTION_666 } else { goto NODE_853; } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_195 } else { if (CONDITION_RA) { ACTION_200 } else { ACTION_37 } } } else { ACTION_37 } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_333; } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_30 } else { ACTION_183 } } else { ACTION_30 } } else { ACTION_3 } } } else { goto NODE_829; } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { NODE_857: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_5 } else { goto NODE_485; } } else { if (CONDITION_RB) { ACTION_49 } else { goto NODE_485; } } } else { if (CONDITION_RB) { NODE_858: if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_7 } else { ACTION_71 } } else { ACTION_7 } } else { if (CONDITION_WD) { ACTION_71 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_323 } else { ACTION_65 } } else { NODE_859: if (CONDITION_WB) { ACTION_71 } else { ACTION_7 } } } } } else { NODE_860: if (CONDITION_QB) { if (CONDITION_XD) { NODE_861: if (CONDITION_WB) { NODE_862: if (CONDITION_WD) { ACTION_65 } else { ACTION_323 } } else { ACTION_65 } } else { NODE_863: if (CONDITION_WB) { if (CONDITION_WD) { ACTION_8 } else { ACTION_77 } } else { ACTION_8 } } } else { if (CONDITION_WD) { NODE_864: if (CONDITION_XD) { ACTION_71 } else { ACTION_14 } } else { if (CONDITION_RA) { if (CONDITION_WB) { NODE_865: if (CONDITION_XD) { ACTION_328 } else { ACTION_82 } } else { NODE_866: if (CONDITION_XD) { ACTION_66 } else { ACTION_9 } } } else { if (CONDITION_WB) { goto NODE_864; } else { NODE_867: if (CONDITION_XD) { ACTION_7 } else { ACTION_1 } } } } } } } } else { if (CONDITION_XD) { goto NODE_710; } else { ACTION_0 } } } } } else { if (CONDITION_ND) { if (CONDITION_XA) { if (CONDITION_WB) { goto NODE_823; } else { if (CONDITION_KD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_93 } else { NODE_868: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_375 } else { ACTION_93 } } else { ACTION_93 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_374 } else { if (CONDITION_XD) { ACTION_374 } else { ACTION_93 } } } else { goto NODE_868; } } } else { if (CONDITION_TD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_172 } else { NODE_869: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_627 } else { ACTION_172 } } else { ACTION_172 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_623 } else { if (CONDITION_XD) { ACTION_623 } else { ACTION_172 } } } else { goto NODE_869; } } } else { goto NODE_823; } } } } else { if (CONDITION_XB) { goto NODE_273; } else { if (CONDITION_RA) { if (CONDITION_XC) { goto NODE_449; } else { if (CONDITION_XD) { goto NODE_288; } else { ACTION_0 } } } else { if (CONDITION_XC) { NODE_870: if (CONDITION_RB) { ACTION_51 } else { goto NODE_450; } } else { if (CONDITION_XD) { NODE_871: if (CONDITION_RB) { ACTION_9 } else { goto NODE_684; } } else { ACTION_0 } } } } } } else { if (CONDITION_RA) { if (CONDITION_WD) { if (CONDITION_WB) { if (CONDITION_XA) { goto NODE_322; } else { NODE_872: if (CONDITION_XB) { goto NODE_321; } else { NODE_873: if (CONDITION_XC) { NODE_874: if (CONDITION_RB) { ACTION_9 } else { NODE_875: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_78 } else { ACTION_9 } } else { ACTION_9 } } } else { NODE_876: if (CONDITION_XD) { goto NODE_328; } else { ACTION_0 } } } } } else { if (CONDITION_XA) { goto NODE_795; } else { goto NODE_872; } } } else { if (CONDITION_KD) { if (CONDITION_XA) { if (CONDITION_XC) { goto NODE_796; } else { if (CONDITION_XD) { goto NODE_798; } else { ACTION_15 } } } else { if (CONDITION_XB) { if (CONDITION_WB) { if (CONDITION_XC) { goto NODE_796; } else { goto NODE_323; } } else { goto NODE_321; } } else { NODE_877: if (CONDITION_WB) { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_21 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_142 } else { ACTION_21 } } else { ACTION_21 } } } else { goto NODE_876; } } else { goto NODE_873; } } } } else { if (CONDITION_XB) { if (CONDITION_XC) { if (CONDITION_WB) { NODE_878: if (CONDITION_RB) { ACTION_200 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_694 } else { ACTION_200 } } else { ACTION_200 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { goto NODE_797; } else { goto NODE_322; } } else { goto NODE_322; } } } else { if (CONDITION_XD) { if (CONDITION_XA) { if (CONDITION_TD) { NODE_879: if (CONDITION_RB) { ACTION_197 } else { if (CONDITION_SA) { ACTION_691 } else { ACTION_197 } } } else { if (CONDITION_WB) { NODE_880: if (CONDITION_RB) { ACTION_200 } else { if (CONDITION_SA) { ACTION_694 } else { ACTION_200 } } } else { goto NODE_304; } } } else { goto NODE_304; } } else { if (CONDITION_XA) { goto NODE_804; } else { ACTION_3 } } } } else { if (CONDITION_XA) { if (CONDITION_TD) { if (CONDITION_XC) { goto NODE_797; } else { if (CONDITION_XD) { goto NODE_879; } else { ACTION_34 } } } else { if (CONDITION_WB) { if (CONDITION_XC) { goto NODE_878; } else { if (CONDITION_XD) { goto NODE_880; } else { ACTION_37 } } } else { goto NODE_321; } } } else { NODE_881: if (CONDITION_WB) { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_82 } else { NODE_882: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_356 } else { ACTION_82 } } else { ACTION_82 } } } else { goto NODE_876; } } else { goto NODE_873; } } } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_XC) { NODE_883: if (CONDITION_WD) { if (CONDITION_WB) { goto NODE_802; } else { if (CONDITION_XA) { goto NODE_805; } else { goto NODE_803; } } } else { if (CONDITION_QB) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_393 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_393 } else { ACTION_136 } } else { NODE_884: if (CONDITION_XB) { ACTION_190 } else { ACTION_72 } } } } else { if (CONDITION_WB) { if (CONDITION_XA) { ACTION_680 } else { if (CONDITION_XB) { ACTION_680 } else { ACTION_342 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_677 } else { goto NODE_884; } } else { if (CONDITION_XA) { ACTION_190 } else { goto NODE_884; } } } } } else { goto NODE_801; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { goto NODE_808; } else { goto NODE_811; } } else { goto NODE_754; } } } else { if (CONDITION_XC) { goto NODE_883; } else { NODE_885: if (CONDITION_XA) { NODE_886: if (CONDITION_KD) { goto NODE_810; } else { goto NODE_814; } } else { goto NODE_21; } } } } else { if (CONDITION_XD) { if (CONDITION_SA) { if (CONDITION_XC) { if (CONDITION_WD) { if (CONDITION_WB) { NODE_887: if (CONDITION_XA) { ACTION_204 } else { NODE_888: if (CONDITION_XB) { ACTION_204 } else { ACTION_86 } } } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_407 } else { if (CONDITION_TD) { ACTION_703 } else { ACTION_204 } } } else { goto NODE_888; } } } else { if (CONDITION_QB) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_394 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_394 } else { ACTION_137 } } else { NODE_889: if (CONDITION_XB) { ACTION_191 } else { ACTION_73 } } } } else { if (CONDITION_WB) { if (CONDITION_XA) { ACTION_684 } else { if (CONDITION_XB) { ACTION_684 } else { ACTION_346 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_681 } else { goto NODE_889; } } else { if (CONDITION_XA) { ACTION_191 } else { goto NODE_889; } } } } } else { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_98 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_98 } else { ACTION_22 } } else { NODE_890: if (CONDITION_XB) { ACTION_33 } else { ACTION_10 } } } } else { if (CONDITION_WB) { goto NODE_887; } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_201 } else { goto NODE_890; } } else { if (CONDITION_XA) { ACTION_33 } else { goto NODE_890; } } } } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { goto NODE_809; } else { if (CONDITION_WB) { ACTION_204 } else { goto NODE_812; } } } else { goto NODE_890; } } } else { if (CONDITION_XC) { NODE_891: if (CONDITION_WD) { if (CONDITION_WB) { goto NODE_789; } else { if (CONDITION_XA) { goto NODE_759; } else { goto NODE_790; } } } else { if (CONDITION_QB) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_96 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_96 } else { ACTION_20 } } else { goto NODE_787; } } } else { if (CONDITION_WB) { goto NODE_806; } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_192 } else { goto NODE_787; } } else { goto NODE_786; } } } } else { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_15 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_15 } else { ACTION_2 } } else { goto NODE_792; } } } else { if (CONDITION_WB) { goto NODE_789; } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_34 } else { goto NODE_792; } } else { goto NODE_791; } } } } } } else { if (CONDITION_XA) { goto NODE_886; } else { goto NODE_792; } } } } else { if (CONDITION_XC) { goto NODE_891; } else { goto NODE_885; } } } } } } } } } } else { if (CONDITION_UD) { if (CONDITION_PA) { if (CONDITION_OD) { if (CONDITION_RA) { if (CONDITION_UC) { goto NODE_385; } else { goto NODE_559; } } else { if (CONDITION_ND) { if (CONDITION_XC) { if (CONDITION_XA) { NODE_892: if (CONDITION_UC) { NODE_893: if (CONDITION_WB) { ACTION_5 } else { ACTION_48 } } else { goto NODE_571; } } else { if (CONDITION_UC) { goto NODE_893; } else { ACTION_48 } } } else { if (CONDITION_XA) { goto NODE_892; } else { goto NODE_406; } } } else { if (CONDITION_UC) { if (CONDITION_WB) { goto NODE_518; } else { goto NODE_519; } } else { goto NODE_572; } } } } else { if (CONDITION_PC) { if (CONDITION_UC) { if (CONDITION_WB) { if (CONDITION_ND) { goto NODE_395; } else { if (CONDITION_WD) { NODE_894: if (CONDITION_XA) { ACTION_7 } else { NODE_895: if (CONDITION_XB) { ACTION_7 } else { if (CONDITION_XC) { ACTION_7 } else { NODE_896: if (CONDITION_XD) { ACTION_7 } else { ACTION_0 } } } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { goto NODE_894; } else { NODE_897: if (CONDITION_XC) { ACTION_65 } else { NODE_898: if (CONDITION_XA) { ACTION_7 } else { NODE_899: if (CONDITION_XB) { ACTION_7 } else { goto NODE_896; } } } } } else { goto NODE_894; } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_66 } else { if (CONDITION_XD) { ACTION_66 } else { NODE_900: if (CONDITION_XA) { ACTION_7 } else { goto NODE_713; } } } } else { NODE_901: if (CONDITION_QB) { goto NODE_897; } else { goto NODE_894; } } } } } } else { if (CONDITION_ND) { NODE_902: if (CONDITION_XA) { NODE_903: if (CONDITION_RA) { NODE_904: if (CONDITION_RB) { ACTION_5 } else { ACTION_49 } } else { ACTION_49 } } else { NODE_905: if (CONDITION_XB) { NODE_906: if (CONDITION_XC) { goto NODE_903; } else { NODE_907: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_7 } else { goto NODE_736; } } else { ACTION_7 } } } else { NODE_908: if (CONDITION_XC) { goto NODE_857; } else { NODE_909: if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_904; } else { ACTION_7 } } else { ACTION_0 } } } } } else { if (CONDITION_RB) { if (CONDITION_RA) { goto NODE_894; } else { if (CONDITION_WD) { NODE_910: if (CONDITION_XA) { ACTION_71 } else { if (CONDITION_XC) { ACTION_71 } else { goto NODE_899; } } } else { goto NODE_901; } } } else { if (CONDITION_WD) { NODE_911: if (CONDITION_XA) { ACTION_71 } else { NODE_912: if (CONDITION_XC) { NODE_913: if (CONDITION_XB) { ACTION_71 } else { goto NODE_864; } } else { NODE_914: if (CONDITION_RA) { if (CONDITION_XD) { ACTION_66 } else { goto NODE_713; } } else { goto NODE_899; } } } } else { if (CONDITION_RA) { if (CONDITION_XD) { ACTION_66 } else { if (CONDITION_XC) { NODE_915: if (CONDITION_XA) { ACTION_66 } else { NODE_916: if (CONDITION_XB) { ACTION_66 } else { ACTION_9 } } } else { goto NODE_900; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { NODE_917: if (CONDITION_XA) { ACTION_65 } else { NODE_918: if (CONDITION_XB) { ACTION_65 } else { if (CONDITION_XD) { ACTION_65 } else { ACTION_8 } } } } else { NODE_919: if (CONDITION_XA) { ACTION_7 } else { NODE_920: if (CONDITION_XB) { ACTION_7 } else { goto NODE_867; } } } } else { goto NODE_898; } } } } } } } else { if (CONDITION_ND) { if (CONDITION_WB) { goto NODE_902; } else { if (CONDITION_XA) { if (CONDITION_KD) { NODE_921: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_17 } else { ACTION_114 } } else { ACTION_114 } } else { if (CONDITION_TD) { NODE_922: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_53 } else { ACTION_265 } } else { ACTION_265 } } else { goto NODE_903; } } } else { goto NODE_905; } } } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_WD) { if (CONDITION_WB) { goto NODE_894; } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_19 } else { if (CONDITION_TD) { ACTION_68 } else { ACTION_7 } } } else { goto NODE_895; } } } else { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_19 } else { if (CONDITION_WB) { if (CONDITION_XC) { ACTION_19 } else { goto NODE_899; } } else { goto NODE_895; } } } else { if (CONDITION_WB) { goto NODE_910; } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_68 } else { goto NODE_895; } } else { goto NODE_894; } } } } } else { if (CONDITION_WB) { if (CONDITION_XA) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_71 } else { NODE_923: if (CONDITION_XC) { ACTION_323 } else { ACTION_71 } } } else { ACTION_71 } } else { if (CONDITION_XC) { if (CONDITION_QB) { goto NODE_862; } else { ACTION_71 } } else { goto NODE_899; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WD) { ACTION_135 } else { NODE_924: if (CONDITION_QB) { NODE_925: if (CONDITION_XC) { ACTION_129 } else { ACTION_19 } } else { ACTION_19 } } } else { if (CONDITION_WD) { NODE_926: if (CONDITION_TD) { ACTION_335 } else { ACTION_71 } } else { if (CONDITION_TD) { NODE_927: if (CONDITION_QB) { NODE_928: if (CONDITION_XC) { ACTION_320 } else { ACTION_68 } } else { ACTION_68 } } else { goto NODE_353; } } } } else { if (CONDITION_XC) { goto NODE_834; } else { goto NODE_899; } } } } } else { if (CONDITION_WD) { if (CONDITION_WB) { goto NODE_911; } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_135 } else { goto NODE_926; } } else { goto NODE_912; } } } else { if (CONDITION_KD) { if (CONDITION_XA) { NODE_929: if (CONDITION_RA) { NODE_930: if (CONDITION_XC) { ACTION_130 } else { if (CONDITION_XD) { ACTION_130 } else { ACTION_19 } } } else { goto NODE_924; } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_129 } else { if (CONDITION_XD) { ACTION_129 } else { ACTION_20 } } } else { goto NODE_918; } } else { if (CONDITION_RA) { NODE_931: if (CONDITION_WB) { NODE_932: if (CONDITION_XB) { ACTION_130 } else { if (CONDITION_XD) { ACTION_130 } else { ACTION_21 } } } else { NODE_933: if (CONDITION_XB) { ACTION_66 } else { goto NODE_866; } } } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_19 } else { if (CONDITION_XD) { ACTION_19 } else { ACTION_2 } } } else { goto NODE_920; } } } } else { goto NODE_914; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WB) { NODE_934: if (CONDITION_XA) { ACTION_323 } else { if (CONDITION_XB) { ACTION_323 } else { if (CONDITION_XD) { ACTION_323 } else { ACTION_77 } } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_320 } else { goto NODE_918; } } else { goto NODE_917; } } } else { if (CONDITION_RA) { NODE_935: if (CONDITION_WB) { NODE_936: if (CONDITION_XA) { ACTION_328 } else { NODE_937: if (CONDITION_XB) { ACTION_328 } else { goto NODE_865; } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_325 } else { goto NODE_933; } } else { NODE_938: if (CONDITION_XA) { ACTION_66 } else { goto NODE_933; } } } } else { if (CONDITION_WB) { NODE_939: if (CONDITION_XA) { ACTION_71 } else { goto NODE_913; } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_68 } else { goto NODE_920; } } else { goto NODE_919; } } } } } else { if (CONDITION_XA) { if (CONDITION_TD) { if (CONDITION_RA) { NODE_940: if (CONDITION_XD) { ACTION_325 } else { ACTION_68 } } else { ACTION_68 } } else { if (CONDITION_WB) { if (CONDITION_RA) { NODE_941: if (CONDITION_XD) { ACTION_328 } else { ACTION_71 } } else { ACTION_71 } } else { if (CONDITION_RA) { goto NODE_738; } else { ACTION_7 } } } } else { goto NODE_914; } } } } } } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_942: if (CONDITION_XD) { if (CONDITION_XA) { NODE_943: if (CONDITION_UC) { NODE_944: if (CONDITION_WB) { ACTION_5 } else { ACTION_49 } } else { if (CONDITION_WB) { ACTION_49 } else { NODE_945: if (CONDITION_KD) { ACTION_114 } else { if (CONDITION_TD) { ACTION_265 } else { ACTION_49 } } } } } else { if (CONDITION_UC) { goto NODE_944; } else { ACTION_49 } } } else { NODE_946: if (CONDITION_XB) { NODE_947: if (CONDITION_UC) { if (CONDITION_WB) { ACTION_7 } else { goto NODE_735; } } else { if (CONDITION_WB) { goto NODE_735; } else { if (CONDITION_XA) { goto NODE_945; } else { goto NODE_285; } } } } else { if (CONDITION_XA) { goto NODE_943; } else { goto NODE_488; } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_XA) { if (CONDITION_UC) { NODE_948: if (CONDITION_WB) { ACTION_52 } else { ACTION_264 } } else { if (CONDITION_WB) { ACTION_264 } else { NODE_949: if (CONDITION_KD) { ACTION_463 } else { if (CONDITION_TD) { ACTION_848 } else { ACTION_264 } } } } } else { if (CONDITION_UC) { goto NODE_948; } else { ACTION_264 } } } else { goto NODE_946; } } else { goto NODE_942; } } } else { if (CONDITION_RB) { if (CONDITION_XC) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_51 } else { NODE_950: if (CONDITION_XA) { ACTION_263 } else { goto NODE_706; } } } else { if (CONDITION_WB) { goto NODE_950; } else { if (CONDITION_XA) { NODE_951: if (CONDITION_KD) { ACTION_462 } else { if (CONDITION_TD) { ACTION_844 } else { ACTION_263 } } } else { goto NODE_706; } } } } else { if (CONDITION_XD) { if (CONDITION_XA) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_51 } else { ACTION_263 } } else { if (CONDITION_WB) { ACTION_263 } else { goto NODE_951; } } } else { ACTION_66 } } else { if (CONDITION_XA) { goto NODE_943; } else { goto NODE_713; } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_67 } else { NODE_952: if (CONDITION_XA) { ACTION_264 } else { goto NODE_293; } } } else { if (CONDITION_WB) { goto NODE_952; } else { if (CONDITION_XA) { goto NODE_949; } else { goto NODE_293; } } } } else { goto NODE_946; } } else { if (CONDITION_XB) { goto NODE_947; } else { if (CONDITION_XC) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_5 } else { NODE_953: if (CONDITION_XA) { ACTION_49 } else { goto NODE_485; } } } else { if (CONDITION_WB) { goto NODE_953; } else { if (CONDITION_XA) { goto NODE_945; } else { goto NODE_485; } } } } else { if (CONDITION_XA) { goto NODE_943; } else { goto NODE_896; } } } } } } } else { if (CONDITION_UC) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_954: if (CONDITION_XD) { NODE_955: if (CONDITION_WB) { NODE_956: if (CONDITION_WD) { ACTION_7 } else { ACTION_66 } } else { ACTION_66 } } else { NODE_957: if (CONDITION_XB) { if (CONDITION_XC) { goto NODE_955; } else { if (CONDITION_WB) { ACTION_7 } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_66 } else { ACTION_7 } } else { ACTION_7 } } } } else { if (CONDITION_XA) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_7 } else { NODE_958: if (CONDITION_XC) { ACTION_66 } else { ACTION_7 } } } else { if (CONDITION_WD) { ACTION_66 } else { goto NODE_958; } } } else { if (CONDITION_XC) { if (CONDITION_WB) { goto NODE_956; } else { ACTION_9 } } else { ACTION_0 } } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_67 } else { ACTION_324 } } else { ACTION_324 } } else { goto NODE_957; } } else { goto NODE_954; } } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_66 } else { goto NODE_349; } } else { ACTION_66 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_66 } else { ACTION_318 } } else { ACTION_66 } } else { goto NODE_900; } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_67 } else { NODE_959: if (CONDITION_XC) { ACTION_319 } else { ACTION_67 } } } else { ACTION_67 } } else { if (CONDITION_QB) { if (CONDITION_WD) { NODE_960: if (CONDITION_XA) { ACTION_7 } else { if (CONDITION_XB) { ACTION_7 } else { if (CONDITION_XC) { ACTION_7 } else { ACTION_0 } } } } else { if (CONDITION_XC) { ACTION_65 } else { goto NODE_900; } } } else { goto NODE_960; } } } else { if (CONDITION_QB) { if (CONDITION_WD) { goto NODE_894; } else { goto NODE_897; } } else { goto NODE_894; } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RB) { NODE_961: if (CONDITION_XA) { ACTION_318 } else { NODE_962: if (CONDITION_XB) { ACTION_318 } else { NODE_963: if (CONDITION_XD) { ACTION_318 } else { ACTION_72 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_319 } else { if (CONDITION_XA) { ACTION_65 } else { NODE_964: if (CONDITION_XB) { ACTION_65 } else { ACTION_8 } } } } else { goto NODE_917; } } } else { if (CONDITION_RB) { if (CONDITION_WD) { goto NODE_936; } else { goto NODE_938; } } else { if (CONDITION_WD) { NODE_965: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_332 } else { if (CONDITION_XA) { ACTION_71 } else { NODE_966: if (CONDITION_XB) { ACTION_71 } else { ACTION_14 } } } } else { goto NODE_939; } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_67 } else { if (CONDITION_XA) { ACTION_7 } else { NODE_967: if (CONDITION_XB) { ACTION_7 } else { ACTION_1 } } } } else { goto NODE_919; } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_328 } else { ACTION_66 } } else { ACTION_66 } } else { if (CONDITION_SA) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_332 } else { ACTION_67 } } else { ACTION_67 } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_71 } else { ACTION_7 } } else { ACTION_7 } } } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_71 } else { goto NODE_713; } } else { goto NODE_900; } } } } } } else { if (CONDITION_RA) { if (CONDITION_WD) { if (CONDITION_WB) { if (CONDITION_XA) { NODE_968: if (CONDITION_RB) { ACTION_66 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_324 } else { ACTION_66 } } else { ACTION_66 } } } else { NODE_969: if (CONDITION_XD) { goto NODE_326; } else { if (CONDITION_XB) { goto NODE_958; } else { goto NODE_794; } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { NODE_970: if (CONDITION_RB) { ACTION_130 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_514 } else { ACTION_130 } } else { ACTION_130 } } } else { if (CONDITION_TD) { NODE_971: if (CONDITION_RB) { ACTION_325 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_959 } else { ACTION_325 } } else { ACTION_325 } } } else { goto NODE_968; } } } else { goto NODE_969; } } } else { if (CONDITION_XD) { if (CONDITION_KD) { if (CONDITION_XA) { NODE_972: if (CONDITION_RB) { ACTION_130 } else { NODE_973: if (CONDITION_SA) { ACTION_514 } else { ACTION_130 } } } else { if (CONDITION_RB) { NODE_974: if (CONDITION_WB) { if (CONDITION_XC) { ACTION_130 } else { ACTION_66 } } else { ACTION_66 } } else { if (CONDITION_SA) { if (CONDITION_WB) { if (CONDITION_XC) { ACTION_514 } else { ACTION_324 } } else { ACTION_324 } } else { goto NODE_974; } } } } else { if (CONDITION_RB) { NODE_975: if (CONDITION_WB) { if (CONDITION_XA) { ACTION_328 } else { goto NODE_330; } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_325 } else { ACTION_66 } } else { ACTION_66 } } } else { if (CONDITION_SA) { if (CONDITION_WB) { if (CONDITION_XA) { ACTION_962 } else { if (CONDITION_XC) { ACTION_962 } else { ACTION_324 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_959 } else { ACTION_324 } } else { ACTION_324 } } } else { goto NODE_975; } } } } else { if (CONDITION_XC) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_130 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_130 } else { ACTION_21 } } else { goto NODE_916; } } } else { if (CONDITION_WB) { if (CONDITION_XA) { ACTION_328 } else { if (CONDITION_XB) { ACTION_328 } else { ACTION_82 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_325 } else { goto NODE_916; } } else { goto NODE_915; } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_19 } else { if (CONDITION_TD) { ACTION_68 } else { goto NODE_859; } } } else { goto NODE_713; } } } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_WD) { if (CONDITION_WB) { goto NODE_936; } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_518 } else { if (CONDITION_TD) { ACTION_965 } else { ACTION_328 } } } else { goto NODE_937; } } } else { if (CONDITION_QB) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_508 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_508 } else { if (CONDITION_XD) { ACTION_508 } else { ACTION_136 } } } else { goto NODE_962; } } } else { if (CONDITION_WB) { if (CONDITION_XA) { ACTION_948 } else { NODE_976: if (CONDITION_XB) { ACTION_948 } else { if (CONDITION_XD) { ACTION_948 } else { ACTION_342 } } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_945 } else { goto NODE_962; } } else { goto NODE_961; } } } } else { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_130 } else { goto NODE_931; } } else { goto NODE_935; } } } } else { if (CONDITION_WD) { if (CONDITION_WB) { goto NODE_965; } else { if (CONDITION_XA) { if (CONDITION_KD) { NODE_977: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_522 } else { ACTION_135 } } else { ACTION_135 } } else { if (CONDITION_TD) { NODE_978: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_971 } else { ACTION_335 } } else { ACTION_335 } } else { NODE_979: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_332 } else { ACTION_71 } } else { ACTION_71 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_332 } else { goto NODE_966; } } else { goto NODE_913; } } } } else { if (CONDITION_QB) { if (CONDITION_WB) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_952 } else { if (CONDITION_XA) { ACTION_323 } else { if (CONDITION_XB) { ACTION_323 } else { ACTION_77 } } } } else { goto NODE_934; } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_509 } else { ACTION_129 } } else { ACTION_129 } } else { if (CONDITION_TD) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_949 } else { ACTION_320 } } else { ACTION_320 } } else { NODE_980: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_319 } else { ACTION_65 } } else { ACTION_65 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_319 } else { goto NODE_964; } } else { goto NODE_918; } } } } else { if (CONDITION_WB) { goto NODE_965; } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_131 } else { ACTION_19 } } else { ACTION_19 } } else { if (CONDITION_TD) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_329 } else { ACTION_68 } } else { ACTION_68 } } else { NODE_981: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_67 } else { ACTION_7 } } else { ACTION_7 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_67 } else { goto NODE_967; } } else { goto NODE_920; } } } } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_WB) { ACTION_130 } else { if (CONDITION_WD) { ACTION_518 } else { ACTION_130 } } } else { if (CONDITION_SA) { if (CONDITION_WB) { ACTION_131 } else { if (CONDITION_WD) { ACTION_522 } else { ACTION_131 } } } else { NODE_982: if (CONDITION_WB) { ACTION_19 } else { if (CONDITION_WD) { ACTION_135 } else { ACTION_19 } } } } } else { goto NODE_982; } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_WB) { ACTION_328 } else { if (CONDITION_TD) { if (CONDITION_WD) { ACTION_965 } else { ACTION_325 } } else { if (CONDITION_WD) { ACTION_328 } else { ACTION_66 } } } } else { if (CONDITION_WB) { NODE_983: if (CONDITION_SA) { ACTION_332 } else { ACTION_71 } } else { if (CONDITION_SA) { if (CONDITION_TD) { if (CONDITION_WD) { ACTION_971 } else { ACTION_329 } } else { if (CONDITION_WD) { ACTION_332 } else { ACTION_67 } } } else { NODE_984: if (CONDITION_TD) { if (CONDITION_WD) { ACTION_335 } else { ACTION_68 } } else { goto NODE_835; } } } } } else { if (CONDITION_WB) { ACTION_71 } else { goto NODE_984; } } } } else { if (CONDITION_XD) { NODE_985: if (CONDITION_RB) { ACTION_66 } else { goto NODE_712; } } else { goto NODE_713; } } } } } } } } } else { if (CONDITION_OD) { if (CONDITION_RA) { if (CONDITION_XB) { if (CONDITION_WB) { if (CONDITION_UC) { NODE_986: if (CONDITION_ND) { ACTION_5 } else { NODE_987: if (CONDITION_WD) { ACTION_6 } else { ACTION_62 } } } else { if (CONDITION_ND) { ACTION_62 } else { if (CONDITION_WD) { ACTION_62 } else { NODE_988: if (CONDITION_XA) { ACTION_316 } else { if (CONDITION_XC) { ACTION_316 } else { ACTION_62 } } } } } } else { if (CONDITION_UC) { ACTION_62 } else { goto NODE_469; } } } else { if (CONDITION_ND) { if (CONDITION_XA) { if (CONDITION_UC) { NODE_989: if (CONDITION_WB) { ACTION_5 } else { ACTION_54 } } else { if (CONDITION_WB) { ACTION_54 } else { if (CONDITION_KD) { ACTION_118 } else { if (CONDITION_TD) { ACTION_284 } else { ACTION_54 } } } } } else { goto NODE_397; } } else { if (CONDITION_UC) { if (CONDITION_XA) { if (CONDITION_WB) { goto NODE_987; } else { ACTION_62 } } else { if (CONDITION_XD) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_6 } else { if (CONDITION_XC) { ACTION_62 } else { ACTION_6 } } } else { ACTION_6 } } else { if (CONDITION_XC) { if (CONDITION_WB) { goto NODE_987; } else { ACTION_6 } } else { ACTION_0 } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_24 } else { ACTION_126 } } else { ACTION_126 } } else { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_62 } else { ACTION_312 } } else { ACTION_312 } } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_62 } else { ACTION_316 } } else { ACTION_62 } } } } else { if (CONDITION_XD) { goto NODE_567; } else { if (CONDITION_XC) { goto NODE_565; } else { ACTION_0 } } } } } } } else { if (CONDITION_XB) { if (CONDITION_UC) { if (CONDITION_WB) { NODE_990: if (CONDITION_ND) { ACTION_62 } else { NODE_991: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_62 } else { NODE_992: if (CONDITION_XC) { ACTION_300 } else { ACTION_62 } } } else { ACTION_62 } } } else { if (CONDITION_ND) { goto NODE_687; } else { NODE_993: if (CONDITION_WD) { goto NODE_988; } else { NODE_994: if (CONDITION_QB) { goto NODE_992; } else { ACTION_62 } } } } } else { if (CONDITION_ND) { if (CONDITION_WB) { goto NODE_687; } else { if (CONDITION_XA) { NODE_995: if (CONDITION_KD) { ACTION_459 } else { if (CONDITION_TD) { ACTION_831 } else { ACTION_259 } } } else { goto NODE_688; } } } else { if (CONDITION_XA) { NODE_996: if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_126 } else { NODE_997: if (CONDITION_XC) { ACTION_490 } else { ACTION_126 } } } else { ACTION_126 } } else { if (CONDITION_WD) { ACTION_506 } else { if (CONDITION_QB) { goto NODE_997; } else { ACTION_126 } } } } else { if (CONDITION_WD) { if (CONDITION_TD) { if (CONDITION_WB) { ACTION_312 } else { ACTION_942 } } else { ACTION_316 } } else { if (CONDITION_TD) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_920 } else { ACTION_312 } } else { ACTION_312 } } else { if (CONDITION_WB) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_924 } else { ACTION_316 } } else { ACTION_316 } } else { goto NODE_994; } } } } } else { if (CONDITION_XC) { if (CONDITION_WD) { ACTION_316 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_924 } else { ACTION_300 } } else { if (CONDITION_WB) { ACTION_316 } else { ACTION_62 } } } } else { ACTION_62 } } } } } else { if (CONDITION_XA) { if (CONDITION_ND) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_48 } else { ACTION_259 } } else { if (CONDITION_WB) { ACTION_259 } else { goto NODE_995; } } } else { if (CONDITION_UC) { if (CONDITION_WB) { goto NODE_991; } else { if (CONDITION_WD) { ACTION_316 } else { goto NODE_994; } } } else { goto NODE_996; } } } else { goto NODE_818; } } } } else { if (CONDITION_UC) { if (CONDITION_WB) { if (CONDITION_PC) { if (CONDITION_XB) { NODE_998: if (CONDITION_RA) { if (CONDITION_RB) { NODE_999: if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_7 } else { ACTION_69 } } } else { NODE_1000: if (CONDITION_ND) { ACTION_69 } else { if (CONDITION_WD) { ACTION_69 } else { NODE_1001: if (CONDITION_XC) { ACTION_326 } else { goto NODE_723; } } } } } else { NODE_1002: if (CONDITION_ND) { ACTION_69 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_69 } else { NODE_1003: if (CONDITION_XC) { ACTION_321 } else { ACTION_69 } } } else { ACTION_69 } } } } else { if (CONDITION_XD) { NODE_1004: if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_7 } else { if (CONDITION_WD) { ACTION_7 } else { if (CONDITION_XA) { ACTION_69 } else { if (CONDITION_XC) { ACTION_69 } else { ACTION_7 } } } } } else { NODE_1005: if (CONDITION_ND) { ACTION_66 } else { if (CONDITION_WD) { ACTION_66 } else { if (CONDITION_XA) { ACTION_326 } else { if (CONDITION_XC) { ACTION_326 } else { ACTION_66 } } } } } } else { NODE_1006: if (CONDITION_XA) { goto NODE_1002; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_69 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_65 } else { ACTION_321 } } else { ACTION_69 } } } else { ACTION_7 } } } } else { if (CONDITION_XA) { if (CONDITION_XC) { NODE_1007: if (CONDITION_ND) { if (CONDITION_RA) { ACTION_5 } else { if (CONDITION_RB) { ACTION_49 } else { ACTION_5 } } } else { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_12 } else { NODE_1008: if (CONDITION_RB) { ACTION_69 } else { ACTION_12 } } } else { if (CONDITION_RA) { ACTION_80 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_321 } else { ACTION_75 } } else { goto NODE_1008; } } } } } else { ACTION_12 } } else { if (CONDITION_XC) { goto NODE_1007; } else { ACTION_0 } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { NODE_1009: if (CONDITION_ND) { ACTION_9 } else { if (CONDITION_WD) { ACTION_9 } else { if (CONDITION_XA) { ACTION_80 } else { if (CONDITION_XB) { ACTION_80 } else { if (CONDITION_XC) { ACTION_80 } else { ACTION_9 } } } } } } else { if (CONDITION_XA) { NODE_1010: if (CONDITION_ND) { ACTION_80 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_80 } else { NODE_1011: if (CONDITION_XC) { ACTION_340 } else { ACTION_80 } } } else { ACTION_80 } } } else { if (CONDITION_XB) { goto NODE_1010; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_80 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_72 } else { ACTION_340 } } else { ACTION_80 } } } else { ACTION_9 } } } } } else { if (CONDITION_SA) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_78 } else { if (CONDITION_WD) { ACTION_78 } else { if (CONDITION_XA) { ACTION_354 } else { if (CONDITION_XB) { ACTION_354 } else { if (CONDITION_XC) { ACTION_354 } else { ACTION_78 } } } } } } else { if (CONDITION_XA) { NODE_1012: if (CONDITION_ND) { ACTION_84 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_84 } else { NODE_1013: if (CONDITION_XC) { ACTION_344 } else { ACTION_84 } } } else { ACTION_84 } } } else { if (CONDITION_XB) { goto NODE_1012; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_84 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_73 } else { ACTION_344 } } else { ACTION_84 } } } else { ACTION_10 } } } } } else { if (CONDITION_RA) { goto NODE_1009; } else { if (CONDITION_XA) { NODE_1014: if (CONDITION_ND) { ACTION_12 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_12 } else { NODE_1015: if (CONDITION_XC) { ACTION_75 } else { ACTION_12 } } } else { ACTION_12 } } } else { if (CONDITION_XB) { goto NODE_1014; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_12 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_8 } else { ACTION_75 } } else { ACTION_12 } } } else { ACTION_1 } } } } } } } else { if (CONDITION_XC) { NODE_1016: if (CONDITION_ND) { goto NODE_297; } else { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_12 } else { NODE_1017: if (CONDITION_RB) { ACTION_80 } else { ACTION_12 } } } else { NODE_1018: if (CONDITION_RA) { ACTION_80 } else { if (CONDITION_QB) { NODE_1019: if (CONDITION_RB) { ACTION_340 } else { ACTION_75 } } else { goto NODE_1017; } } } } } else { if (CONDITION_XA) { ACTION_12 } else { NODE_1020: if (CONDITION_XB) { ACTION_12 } else { ACTION_0 } } } } } } else { if (CONDITION_ND) { if (CONDITION_XA) { NODE_1021: if (CONDITION_PC) { NODE_1022: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_54 } else { if (CONDITION_XB) { ACTION_266 } else { if (CONDITION_XD) { ACTION_266 } else { ACTION_54 } } } } else { if (CONDITION_XB) { ACTION_266 } else { if (CONDITION_XD) { ACTION_266 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_266 } else { ACTION_54 } } else { ACTION_54 } } } } } else { if (CONDITION_RA) { NODE_1023: if (CONDITION_RB) { ACTION_54 } else { NODE_1024: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_281 } else { ACTION_54 } } else { ACTION_54 } } } else { NODE_1025: if (CONDITION_RB) { if (CONDITION_XC) { ACTION_277 } else { if (CONDITION_XD) { ACTION_277 } else { ACTION_54 } } } else { goto NODE_1024; } } } } else { NODE_1026: if (CONDITION_XB) { if (CONDITION_PC) { NODE_1027: if (CONDITION_XC) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_54 } else { ACTION_266 } } else { ACTION_266 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_69 } else { goto NODE_720; } } else { ACTION_69 } } } else { if (CONDITION_RA) { if (CONDITION_XC) { goto NODE_1023; } else { if (CONDITION_XD) { NODE_1028: if (CONDITION_RB) { ACTION_54 } else { NODE_1029: if (CONDITION_SA) { ACTION_281 } else { ACTION_54 } } } else { ACTION_12 } } } else { NODE_1030: if (CONDITION_XC) { if (CONDITION_RB) { ACTION_277 } else { goto NODE_1024; } } else { NODE_1031: if (CONDITION_XD) { NODE_1032: if (CONDITION_RB) { ACTION_80 } else { if (CONDITION_SA) { ACTION_84 } else { ACTION_12 } } } else { ACTION_12 } } } } } else { goto NODE_824; } } } else { if (CONDITION_XA) { if (CONDITION_WD) { if (CONDITION_PC) { NODE_1033: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_80 } else { if (CONDITION_XB) { ACTION_326 } else { if (CONDITION_XD) { ACTION_326 } else { ACTION_80 } } } } else { if (CONDITION_XB) { ACTION_337 } else { if (CONDITION_XD) { ACTION_337 } else { NODE_1034: if (CONDITION_RB) { if (CONDITION_XC) { ACTION_337 } else { ACTION_91 } } else { ACTION_91 } } } } } else { if (CONDITION_RA) { NODE_1035: if (CONDITION_RB) { ACTION_80 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_354 } else { ACTION_80 } } else { ACTION_80 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_361 } else { if (CONDITION_XD) { ACTION_361 } else { ACTION_91 } } } else { NODE_1036: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_367 } else { ACTION_91 } } else { ACTION_91 } } } } } else { if (CONDITION_PC) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { NODE_1037: if (CONDITION_XB) { ACTION_69 } else { if (CONDITION_XC) { ACTION_69 } else { NODE_1038: if (CONDITION_XD) { ACTION_69 } else { ACTION_12 } } } } else { if (CONDITION_XC) { ACTION_321 } else { if (CONDITION_XB) { ACTION_69 } else { goto NODE_1038; } } } } else { goto NODE_1037; } } else { if (CONDITION_XB) { NODE_1039: if (CONDITION_RA) { goto NODE_1001; } else { NODE_1040: if (CONDITION_QB) { goto NODE_1003; } else { ACTION_69 } } } else { NODE_1041: if (CONDITION_XD) { NODE_1042: if (CONDITION_RA) { ACTION_326 } else { goto NODE_1040; } } else { NODE_1043: if (CONDITION_XC) { if (CONDITION_QB) { ACTION_75 } else { if (CONDITION_RA) { ACTION_80 } else { ACTION_12 } } } else { ACTION_12 } } } } } else { if (CONDITION_RB) { NODE_1044: if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_80 } else { goto NODE_1011; } } else { ACTION_80 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_75 } else { ACTION_340 } } else { ACTION_80 } } else { ACTION_12 } } } else { if (CONDITION_XD) { NODE_1045: if (CONDITION_RA) { NODE_1046: if (CONDITION_SA) { ACTION_354 } else { ACTION_80 } } else { if (CONDITION_SA) { NODE_1047: if (CONDITION_QB) { goto NODE_1013; } else { ACTION_84 } } else { NODE_1048: if (CONDITION_QB) { goto NODE_1015; } else { ACTION_12 } } } } else { goto NODE_1043; } } } } } else { if (CONDITION_XB) { if (CONDITION_PC) { if (CONDITION_XC) { if (CONDITION_QB) { NODE_1049: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_69 } else { ACTION_321 } } else { ACTION_321 } } else { if (CONDITION_RB) { if (CONDITION_RA) { ACTION_69 } else { NODE_1050: if (CONDITION_WD) { ACTION_337 } else { ACTION_69 } } } else { if (CONDITION_RA) { ACTION_326 } else { goto NODE_1050; } } } } else { goto NODE_722; } } else { if (CONDITION_RA) { NODE_1051: if (CONDITION_XC) { goto NODE_1035; } else { NODE_1052: if (CONDITION_XD) { NODE_1053: if (CONDITION_RB) { ACTION_80 } else { goto NODE_1046; } } else { ACTION_12 } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_340 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_344 } else { ACTION_75 } } else { ACTION_75 } } } else { if (CONDITION_RB) { NODE_1054: if (CONDITION_WD) { ACTION_361 } else { ACTION_80 } } else { if (CONDITION_WD) { goto NODE_1036; } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_84 } else { ACTION_12 } } else { ACTION_12 } } } } } else { goto NODE_1031; } } } } else { goto NODE_832; } } } } } else { if (CONDITION_ND) { if (CONDITION_XA) { if (CONDITION_WB) { goto NODE_1021; } else { if (CONDITION_KD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_118 } else { if (CONDITION_XB) { ACTION_465 } else { if (CONDITION_XD) { ACTION_465 } else { ACTION_118 } } } } else { if (CONDITION_XB) { ACTION_465 } else { if (CONDITION_XD) { ACTION_465 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_465 } else { ACTION_118 } } else { ACTION_118 } } } } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_118 } else { NODE_1055: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_473 } else { ACTION_118 } } else { ACTION_118 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_469 } else { if (CONDITION_XD) { ACTION_469 } else { ACTION_118 } } } else { goto NODE_1055; } } } } else { if (CONDITION_TD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_284 } else { if (CONDITION_XB) { ACTION_852 } else { if (CONDITION_XD) { ACTION_852 } else { ACTION_284 } } } } else { if (CONDITION_XB) { ACTION_852 } else { if (CONDITION_XD) { ACTION_852 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_852 } else { ACTION_284 } } else { ACTION_284 } } } } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_284 } else { NODE_1056: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_882 } else { ACTION_284 } } else { ACTION_284 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_876 } else { if (CONDITION_XD) { ACTION_876 } else { ACTION_284 } } } else { goto NODE_1056; } } } } else { goto NODE_1021; } } } } else { goto NODE_1026; } } else { if (CONDITION_PC) { if (CONDITION_XB) { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WD) { if (CONDITION_WB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_24 } else { ACTION_133 } } else { ACTION_133 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_133 } else { ACTION_516 } } else { ACTION_527 } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_133 } else { NODE_1057: if (CONDITION_XC) { ACTION_511 } else { ACTION_133 } } } else { ACTION_133 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_516 } else { if (CONDITION_XD) { ACTION_516 } else { ACTION_133 } } } else { NODE_1058: if (CONDITION_QB) { goto NODE_1057; } else { ACTION_133 } } } } } else { if (CONDITION_TD) { if (CONDITION_WD) { if (CONDITION_WB) { NODE_1059: if (CONDITION_RA) { NODE_1060: if (CONDITION_RB) { ACTION_69 } else { ACTION_326 } } else { ACTION_333 } } else { NODE_1061: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_333 } else { ACTION_963 } } else { ACTION_975 } } } else { if (CONDITION_RB) { NODE_1062: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_333 } else { NODE_1063: if (CONDITION_XC) { ACTION_953 } else { ACTION_333 } } } else { ACTION_333 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_963 } else { if (CONDITION_XD) { ACTION_963 } else { ACTION_333 } } } else { NODE_1064: if (CONDITION_QB) { goto NODE_1063; } else { ACTION_333 } } } } } else { if (CONDITION_WD) { NODE_1065: if (CONDITION_RA) { goto NODE_1060; } else { ACTION_337 } } else { if (CONDITION_WB) { if (CONDITION_RB) { NODE_1066: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_337 } else { NODE_1067: if (CONDITION_XC) { ACTION_957 } else { ACTION_337 } } } else { ACTION_337 } } else { if (CONDITION_RA) { NODE_1068: if (CONDITION_XC) { ACTION_967 } else { if (CONDITION_XD) { ACTION_967 } else { ACTION_337 } } } else { NODE_1069: if (CONDITION_QB) { goto NODE_1067; } else { ACTION_337 } } } } else { NODE_1070: if (CONDITION_RB) { NODE_1071: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_69 } else { goto NODE_1003; } } else { ACTION_69 } } else { goto NODE_1039; } } } } } } else { if (CONDITION_XC) { if (CONDITION_WD) { goto NODE_1065; } else { if (CONDITION_WB) { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_337 } else { ACTION_957 } } else { ACTION_957 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_337 } else { ACTION_967 } } else { ACTION_337 } } } else { if (CONDITION_QB) { goto NODE_1049; } else { NODE_1072: if (CONDITION_RA) { goto NODE_1060; } else { ACTION_69 } } } } } else { goto NODE_722; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_24 } else { NODE_1073: if (CONDITION_XC) { ACTION_133 } else { NODE_1074: if (CONDITION_XD) { ACTION_133 } else { ACTION_24 } } } } else { if (CONDITION_WD) { ACTION_133 } else { goto NODE_1073; } } } else { if (CONDITION_WB) { if (CONDITION_XD) { NODE_1075: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_133 } else { goto NODE_1057; } } else { ACTION_133 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_133 } else { ACTION_511 } } else { ACTION_133 } } else { ACTION_24 } } } else { if (CONDITION_WD) { if (CONDITION_XC) { ACTION_527 } else { if (CONDITION_XD) { ACTION_527 } else { ACTION_155 } } } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_511 } else { goto NODE_1074; } } else { goto NODE_1073; } } } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_133 } else { ACTION_516 } } else { ACTION_516 } } else { if (CONDITION_WB) { goto NODE_1075; } else { if (CONDITION_WD) { ACTION_527 } else { goto NODE_1058; } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_24 } else { ACTION_139 } } else { ACTION_139 } } else { if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_24 } else { ACTION_144 } } else { ACTION_144 } } else { NODE_1076: if (CONDITION_WB) { ACTION_24 } else { if (CONDITION_WD) { ACTION_155 } else { ACTION_24 } } } } } else { goto NODE_1076; } } } } else { if (CONDITION_WD) { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_XD) { goto NODE_1059; } else { if (CONDITION_RA) { ACTION_87 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_333 } else { ACTION_87 } } else { ACTION_87 } } } } else { if (CONDITION_XD) { goto NODE_1061; } else { if (CONDITION_RA) { ACTION_369 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_975 } else { ACTION_369 } } else { ACTION_369 } } } } } else { if (CONDITION_XD) { goto NODE_1065; } else { if (CONDITION_RA) { ACTION_91 } else { goto NODE_1034; } } } } else { if (CONDITION_TD) { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_1062; } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_333 } else { ACTION_953 } } else { ACTION_333 } } else { ACTION_87 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { ACTION_963 } else { goto NODE_1064; } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_347 } else { if (CONDITION_RA) { ACTION_357 } else { ACTION_87 } } } else { ACTION_87 } } } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_1066; } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_337 } else { ACTION_957 } } else { ACTION_337 } } else { ACTION_91 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { ACTION_967 } else { goto NODE_1069; } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_351 } else { if (CONDITION_RA) { ACTION_361 } else { ACTION_91 } } } else { ACTION_91 } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_1071; } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_69 } else { ACTION_321 } } else { ACTION_69 } } else { ACTION_12 } } } else { goto NODE_1041; } } } } } } else { if (CONDITION_RB) { if (CONDITION_XC) { goto NODE_858; } else { goto NODE_896; } } else { if (CONDITION_XC) { goto NODE_860; } else { if (CONDITION_XD) { NODE_1077: if (CONDITION_RA) { ACTION_66 } else { ACTION_7 } } else { ACTION_0 } } } } } } else { if (CONDITION_RA) { if (CONDITION_WD) { if (CONDITION_WB) { if (CONDITION_XA) { goto NODE_1035; } else { NODE_1078: if (CONDITION_XB) { goto NODE_1051; } else { goto NODE_873; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { NODE_1079: if (CONDITION_RB) { ACTION_144 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_544 } else { ACTION_144 } } else { ACTION_144 } } } else { if (CONDITION_TD) { NODE_1080: if (CONDITION_RB) { ACTION_357 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_993 } else { ACTION_357 } } else { ACTION_357 } } } else { goto NODE_1035; } } } else { goto NODE_1078; } } } else { if (CONDITION_KD) { if (CONDITION_XA) { if (CONDITION_XC) { goto NODE_1079; } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_144 } else { if (CONDITION_SA) { ACTION_544 } else { ACTION_144 } } } else { ACTION_24 } } } else { if (CONDITION_XB) { if (CONDITION_WB) { if (CONDITION_XC) { goto NODE_1079; } else { goto NODE_1052; } } else { goto NODE_1051; } } else { goto NODE_877; } } } else { if (CONDITION_XB) { if (CONDITION_XC) { if (CONDITION_WB) { NODE_1081: if (CONDITION_RB) { ACTION_361 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_997 } else { ACTION_361 } } else { ACTION_361 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { goto NODE_1080; } else { goto NODE_1035; } } else { goto NODE_1035; } } } else { if (CONDITION_XD) { if (CONDITION_XA) { if (CONDITION_TD) { NODE_1082: if (CONDITION_RB) { ACTION_357 } else { if (CONDITION_SA) { ACTION_993 } else { ACTION_357 } } } else { if (CONDITION_WB) { NODE_1083: if (CONDITION_RB) { ACTION_361 } else { if (CONDITION_SA) { ACTION_997 } else { ACTION_361 } } } else { goto NODE_1053; } } } else { goto NODE_1053; } } else { if (CONDITION_XA) { if (CONDITION_TD) { ACTION_87 } else { if (CONDITION_WB) { ACTION_91 } else { ACTION_12 } } } else { ACTION_12 } } } } else { if (CONDITION_XA) { if (CONDITION_TD) { if (CONDITION_XC) { goto NODE_1080; } else { if (CONDITION_XD) { goto NODE_1082; } else { ACTION_87 } } } else { if (CONDITION_WB) { if (CONDITION_XC) { goto NODE_1081; } else { if (CONDITION_XD) { goto NODE_1083; } else { ACTION_91 } } } else { goto NODE_1051; } } } else { goto NODE_881; } } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_XC) { NODE_1084: if (CONDITION_WD) { if (CONDITION_WB) { NODE_1085: if (CONDITION_XA) { ACTION_361 } else { NODE_1086: if (CONDITION_XB) { ACTION_361 } else { ACTION_82 } } } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_551 } else { if (CONDITION_TD) { ACTION_999 } else { ACTION_361 } } } else { goto NODE_1086; } } } else { if (CONDITION_QB) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_530 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_530 } else { ACTION_136 } } else { NODE_1087: if (CONDITION_XB) { ACTION_340 } else { ACTION_72 } } } } else { if (CONDITION_WB) { if (CONDITION_XA) { ACTION_982 } else { if (CONDITION_XB) { ACTION_982 } else { ACTION_342 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_978 } else { goto NODE_1087; } } else { if (CONDITION_XA) { ACTION_340 } else { goto NODE_1087; } } } } } else { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_144 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_144 } else { ACTION_21 } } else { NODE_1088: if (CONDITION_XB) { ACTION_80 } else { ACTION_9 } } } } else { if (CONDITION_WB) { goto NODE_1085; } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_357 } else { goto NODE_1088; } } else { if (CONDITION_XA) { ACTION_80 } else { goto NODE_1088; } } } } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { ACTION_144 } else { if (CONDITION_WD) { ACTION_551 } else { ACTION_144 } } } else { if (CONDITION_WB) { ACTION_361 } else { if (CONDITION_TD) { if (CONDITION_WD) { ACTION_999 } else { ACTION_357 } } else { goto NODE_1054; } } } } else { goto NODE_1088; } } } else { if (CONDITION_XC) { goto NODE_1084; } else { NODE_1089: if (CONDITION_XA) { NODE_1090: if (CONDITION_KD) { goto NODE_1076; } else { if (CONDITION_WB) { ACTION_91 } else { if (CONDITION_TD) { if (CONDITION_WD) { ACTION_369 } else { ACTION_87 } } else { NODE_1091: if (CONDITION_WD) { ACTION_91 } else { ACTION_12 } } } } } else { goto NODE_1020; } } } } else { if (CONDITION_XD) { if (CONDITION_SA) { if (CONDITION_XC) { if (CONDITION_WD) { if (CONDITION_WB) { NODE_1092: if (CONDITION_XA) { ACTION_367 } else { NODE_1093: if (CONDITION_XB) { ACTION_367 } else { ACTION_86 } } } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_557 } else { if (CONDITION_TD) { ACTION_1002 } else { ACTION_367 } } } else { goto NODE_1093; } } } else { if (CONDITION_QB) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_534 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_534 } else { ACTION_137 } } else { NODE_1094: if (CONDITION_XB) { ACTION_344 } else { ACTION_73 } } } } else { if (CONDITION_WB) { if (CONDITION_XA) { ACTION_988 } else { if (CONDITION_XB) { ACTION_988 } else { ACTION_346 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_984 } else { goto NODE_1094; } } else { if (CONDITION_XA) { ACTION_344 } else { goto NODE_1094; } } } } } else { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_148 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_148 } else { ACTION_22 } } else { NODE_1095: if (CONDITION_XB) { ACTION_84 } else { ACTION_10 } } } } else { if (CONDITION_WB) { goto NODE_1092; } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_363 } else { goto NODE_1095; } } else { if (CONDITION_XA) { ACTION_84 } else { goto NODE_1095; } } } } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { ACTION_148 } else { if (CONDITION_WD) { ACTION_557 } else { ACTION_148 } } } else { if (CONDITION_WB) { ACTION_367 } else { if (CONDITION_TD) { if (CONDITION_WD) { ACTION_1002 } else { ACTION_363 } } else { if (CONDITION_WD) { ACTION_367 } else { ACTION_84 } } } } } else { goto NODE_1095; } } } else { if (CONDITION_XC) { NODE_1096: if (CONDITION_WD) { if (CONDITION_WB) { NODE_1097: if (CONDITION_XA) { ACTION_91 } else { NODE_1098: if (CONDITION_XB) { ACTION_91 } else { ACTION_14 } } } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_155 } else { if (CONDITION_TD) { ACTION_369 } else { ACTION_91 } } } else { goto NODE_1098; } } } else { if (CONDITION_QB) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_139 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_139 } else { ACTION_20 } } else { NODE_1099: if (CONDITION_XB) { ACTION_75 } else { ACTION_8 } } } } else { if (CONDITION_WB) { if (CONDITION_XA) { ACTION_351 } else { if (CONDITION_XB) { ACTION_351 } else { ACTION_77 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_347 } else { goto NODE_1099; } } else { if (CONDITION_XA) { ACTION_75 } else { goto NODE_1099; } } } } } else { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_24 } else { if (CONDITION_WB) { if (CONDITION_XB) { ACTION_24 } else { ACTION_2 } } else { NODE_1100: if (CONDITION_XB) { ACTION_12 } else { ACTION_1 } } } } else { if (CONDITION_WB) { goto NODE_1097; } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_87 } else { goto NODE_1100; } } else { if (CONDITION_XA) { ACTION_12 } else { goto NODE_1100; } } } } } } } else { if (CONDITION_XA) { goto NODE_1090; } else { goto NODE_1100; } } } } else { if (CONDITION_XC) { goto NODE_1096; } else { goto NODE_1089; } } } } } } } } } } else { if (CONDITION_OD) { if (CONDITION_RA) { if (CONDITION_PA) { if (CONDITION_KD) { if (CONDITION_XA) { goto NODE_561; } else { if (CONDITION_XD) { if (CONDITION_UC) { if (CONDITION_XB) { goto NODE_561; } else { NODE_1101: if (CONDITION_ND) { ACTION_6 } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_6 } else { if (CONDITION_XC) { ACTION_18 } else { ACTION_6 } } } else { ACTION_6 } } } } else { goto NODE_1101; } } else { if (CONDITION_XC) { if (CONDITION_ND) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_5 } else { if (CONDITION_XB) { ACTION_17 } else { ACTION_5 } } } else { ACTION_5 } } else { if (CONDITION_WD) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_6 } else { NODE_1102: if (CONDITION_XB) { ACTION_18 } else { ACTION_6 } } } else { ACTION_6 } } else { if (CONDITION_WB) { ACTION_18 } else { if (CONDITION_UC) { goto NODE_1102; } else { ACTION_6 } } } } } else { if (CONDITION_XB) { if (CONDITION_UC) { goto NODE_561; } else { ACTION_6 } } else { ACTION_0 } } } } } else { if (CONDITION_UC) { if (CONDITION_WB) { if (CONDITION_ND) { goto NODE_395; } else { if (CONDITION_WD) { goto NODE_385; } else { if (CONDITION_XA) { ACTION_62 } else { if (CONDITION_XB) { ACTION_62 } else { if (CONDITION_XC) { ACTION_62 } else { goto NODE_62; } } } } } } else { if (CONDITION_XA) { ACTION_62 } else { if (CONDITION_XB) { ACTION_62 } else { goto NODE_61; } } } } else { if (CONDITION_TD) { if (CONDITION_ND) { if (CONDITION_WB) { goto NODE_395; } else { if (CONDITION_XA) { ACTION_53 } else { goto NODE_396; } } } else { if (CONDITION_XA) { if (CONDITION_WB) { goto NODE_563; } else { ACTION_61 } } else { if (CONDITION_WB) { if (CONDITION_WD) { goto NODE_386; } else { if (CONDITION_XC) { ACTION_61 } else { goto NODE_406; } } } else { goto NODE_386; } } } } else { if (CONDITION_ND) { goto NODE_395; } else { if (CONDITION_WB) { if (CONDITION_WD) { goto NODE_385; } else { goto NODE_520; } } else { goto NODE_385; } } } } } } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_UC) { if (CONDITION_WB) { if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_WD) { ACTION_39 } else { ACTION_225 } } } else { ACTION_225 } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_ND) { ACTION_16 } else { if (CONDITION_WD) { ACTION_16 } else { ACTION_104 } } } else { ACTION_104 } } else { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_WD) { ACTION_39 } else { ACTION_224 } } } else { ACTION_224 } } else { if (CONDITION_ND) { ACTION_39 } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_39 } else { ACTION_227 } } else { ACTION_39 } } } } } else { if (CONDITION_ND) { ACTION_39 } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_39 } else { if (CONDITION_XC) { ACTION_227 } else { ACTION_39 } } } else { ACTION_39 } } } } } else { if (CONDITION_VC) { if (CONDITION_UC) { if (CONDITION_WB) { if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_WD) { ACTION_63 } else { ACTION_315 } } } else { ACTION_315 } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_ND) { ACTION_25 } else { if (CONDITION_WD) { ACTION_25 } else { ACTION_127 } } } else { ACTION_127 } } else { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_WD) { ACTION_63 } else { ACTION_313 } } } else { ACTION_313 } } else { if (CONDITION_ND) { ACTION_63 } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_63 } else { ACTION_317 } } else { ACTION_63 } } } } } else { if (CONDITION_ND) { ACTION_63 } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_63 } else { if (CONDITION_XC) { ACTION_317 } else { ACTION_63 } } } else { ACTION_63 } } } } } else { if (CONDITION_UC) { NODE_1103: if (CONDITION_WB) { goto NODE_986; } else { ACTION_62 } } else { if (CONDITION_XA) { goto NODE_560; } else { goto NODE_566; } } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { goto NODE_561; } else { if (CONDITION_TD) { goto NODE_562; } else { if (CONDITION_UC) { goto NODE_1103; } else { goto NODE_564; } } } } else { goto NODE_568; } } } } else { if (CONDITION_WB) { if (CONDITION_PA) { if (CONDITION_XA) { NODE_1104: if (CONDITION_ND) { ACTION_64 } else { goto NODE_573; } } else { if (CONDITION_UC) { if (CONDITION_XB) { goto NODE_990; } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_62 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_58 } else { ACTION_300 } } else { ACTION_62 } } } else { goto NODE_62; } } } else { if (CONDITION_XC) { NODE_1105: if (CONDITION_ND) { ACTION_64 } else { goto NODE_575; } } else { goto NODE_406; } } } } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_UC) { if (CONDITION_ND) { ACTION_225 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_225 } else { NODE_1106: if (CONDITION_XC) { ACTION_751 } else { ACTION_225 } } } else { ACTION_225 } } } else { if (CONDITION_XA) { if (CONDITION_ND) { ACTION_227 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_227 } else { if (CONDITION_XC) { ACTION_753 } else { ACTION_227 } } } else { ACTION_227 } } } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_227 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_221 } else { ACTION_753 } } else { ACTION_227 } } } else { ACTION_39 } } } } else { if (CONDITION_UC) { if (CONDITION_VC) { if (CONDITION_ND) { ACTION_315 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_315 } else { NODE_1107: if (CONDITION_XC) { ACTION_923 } else { ACTION_315 } } } else { ACTION_315 } } } else { goto NODE_990; } } else { if (CONDITION_VC) { if (CONDITION_XA) { if (CONDITION_ND) { ACTION_317 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_317 } else { if (CONDITION_XC) { ACTION_925 } else { ACTION_317 } } } else { ACTION_317 } } } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_317 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_301 } else { ACTION_925 } } else { ACTION_317 } } } else { ACTION_63 } } } else { if (CONDITION_XA) { goto NODE_1104; } else { if (CONDITION_XC) { goto NODE_1105; } else { ACTION_6 } } } } } } else { if (CONDITION_XA) { goto NODE_1104; } else { if (CONDITION_XC) { goto NODE_1105; } else { goto NODE_62; } } } } } else { if (CONDITION_ND) { if (CONDITION_XB) { if (CONDITION_PA) { NODE_1108: if (CONDITION_KD) { if (CONDITION_XA) { ACTION_113 } else { if (CONDITION_UC) { if (CONDITION_XC) { ACTION_113 } else { ACTION_18 } } else { goto NODE_693; } } } else { if (CONDITION_UC) { goto NODE_687; } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_258 } else { goto NODE_693; } } else { goto NODE_692; } } } } else { if (CONDITION_MC) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_414 } else { if (CONDITION_UC) { if (CONDITION_XC) { ACTION_414 } else { ACTION_104 } } else { goto NODE_686; } } } else { if (CONDITION_UC) { if (CONDITION_XA) { ACTION_712 } else { if (CONDITION_XC) { ACTION_712 } else { ACTION_225 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_711 } else { goto NODE_686; } } else { goto NODE_685; } } } } else { if (CONDITION_VC) { if (CONDITION_KD) { if (CONDITION_XA) { ACTION_460 } else { if (CONDITION_UC) { if (CONDITION_XC) { ACTION_460 } else { ACTION_127 } } else { goto NODE_691; } } } else { if (CONDITION_UC) { if (CONDITION_XA) { ACTION_834 } else { if (CONDITION_XC) { ACTION_834 } else { ACTION_315 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_832 } else { goto NODE_691; } } else { goto NODE_690; } } } } else { goto NODE_1108; } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { ACTION_113 } else { if (CONDITION_TD) { ACTION_258 } else { if (CONDITION_UC) { ACTION_259 } else { ACTION_48 } } } } else { goto NODE_597; } } } else { if (CONDITION_XB) { if (CONDITION_PA) { if (CONDITION_UC) { goto NODE_993; } else { if (CONDITION_XA) { goto NODE_577; } else { if (CONDITION_XC) { goto NODE_99; } else { ACTION_6 } } } } else { if (CONDITION_MC) { if (CONDITION_UC) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_767 } else { if (CONDITION_XC) { ACTION_767 } else { ACTION_225 } } } else { if (CONDITION_QB) { goto NODE_1106; } else { ACTION_225 } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WD) { ACTION_428 } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_423 } else { ACTION_104 } } else { ACTION_104 } } } else { if (CONDITION_WD) { if (CONDITION_TD) { ACTION_765 } else { ACTION_227 } } else { if (CONDITION_TD) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_750 } else { ACTION_224 } } else { ACTION_224 } } else { goto NODE_429; } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_221 } else { if (CONDITION_WD) { ACTION_227 } else { ACTION_39 } } } else { ACTION_39 } } } } else { if (CONDITION_UC) { if (CONDITION_VC) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_944 } else { if (CONDITION_XC) { ACTION_944 } else { ACTION_315 } } } else { if (CONDITION_QB) { goto NODE_1107; } else { ACTION_315 } } } else { goto NODE_993; } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WD) { if (CONDITION_VC) { ACTION_507 } else { ACTION_128 } } else { if (CONDITION_VC) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_491 } else { ACTION_127 } } else { ACTION_127 } } else { goto NODE_579; } } } else { if (CONDITION_WD) { if (CONDITION_TD) { if (CONDITION_VC) { ACTION_943 } else { ACTION_314 } } else { if (CONDITION_VC) { ACTION_317 } else { ACTION_64 } } } else { if (CONDITION_TD) { if (CONDITION_VC) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_921 } else { ACTION_313 } } else { ACTION_313 } } else { goto NODE_581; } } else { if (CONDITION_VC) { goto NODE_444; } else { goto NODE_380; } } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { goto NODE_373; } else { if (CONDITION_VC) { if (CONDITION_WD) { ACTION_317 } else { ACTION_63 } } else { goto NODE_79; } } } else { goto NODE_372; } } } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { goto NODE_578; } else { if (CONDITION_TD) { if (CONDITION_WD) { ACTION_314 } else { goto NODE_581; } } else { if (CONDITION_WD) { if (CONDITION_UC) { ACTION_316 } else { ACTION_64 } } else { if (CONDITION_UC) { goto NODE_994; } else { goto NODE_380; } } } } } else { goto NODE_98; } } } } } } else { if (CONDITION_PA) { if (CONDITION_WB) { if (CONDITION_UC) { if (CONDITION_XB) { if (CONDITION_RB) { if (CONDITION_PC) { if (CONDITION_RA) { goto NODE_999; } else { goto NODE_1002; } } else { if (CONDITION_RA) { goto NODE_1000; } else { if (CONDITION_XD) { NODE_1109: if (CONDITION_ND) { ACTION_326 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_326 } else { NODE_1110: if (CONDITION_XC) { ACTION_946 } else { ACTION_326 } } } else { ACTION_326 } } } else { if (CONDITION_XC) { NODE_1111: if (CONDITION_ND) { ACTION_326 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_318 } else { ACTION_946 } } else { ACTION_326 } } } else { ACTION_69 } } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { NODE_1112: if (CONDITION_ND) { ACTION_69 } else { if (CONDITION_WD) { ACTION_69 } else { goto NODE_1042; } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_330 } else { if (CONDITION_WD) { ACTION_330 } else { if (CONDITION_RA) { ACTION_960 } else { NODE_1113: if (CONDITION_QB) { NODE_1114: if (CONDITION_XC) { ACTION_950 } else { ACTION_330 } } else { ACTION_330 } } } } } else { goto NODE_1112; } } } else { if (CONDITION_ND) { ACTION_69 } else { if (CONDITION_WD) { ACTION_69 } else { NODE_1115: if (CONDITION_XC) { if (CONDITION_QB) { ACTION_321 } else { if (CONDITION_RA) { ACTION_326 } else { ACTION_69 } } } else { ACTION_69 } } } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_1004; } else { if (CONDITION_RB) { if (CONDITION_RA) { goto NODE_1005; } else { if (CONDITION_XA) { goto NODE_1109; } else { if (CONDITION_XC) { goto NODE_1111; } else { ACTION_66 } } } } else { if (CONDITION_RA) { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_324 } else { if (CONDITION_WD) { ACTION_324 } else { if (CONDITION_XA) { ACTION_960 } else { if (CONDITION_XC) { ACTION_960 } else { ACTION_324 } } } } } else { goto NODE_1005; } } else { if (CONDITION_SA) { if (CONDITION_XA) { if (CONDITION_ND) { ACTION_330 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_330 } else { goto NODE_1114; } } else { ACTION_330 } } } else { if (CONDITION_XC) { if (CONDITION_ND) { ACTION_330 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_319 } else { ACTION_950 } } else { ACTION_330 } } } else { ACTION_67 } } } else { goto NODE_1006; } } } } } else { if (CONDITION_XA) { NODE_1116: if (CONDITION_XC) { goto NODE_1016; } else { ACTION_12 } } else { if (CONDITION_XC) { goto NODE_1016; } else { ACTION_0 } } } } } else { if (CONDITION_XA) { if (CONDITION_PC) { if (CONDITION_ND) { if (CONDITION_RA) { goto NODE_702; } else { if (CONDITION_XB) { ACTION_49 } else { if (CONDITION_XD) { ACTION_49 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_49 } else { ACTION_5 } } else { ACTION_5 } } } } } else { if (CONDITION_WD) { NODE_1117: if (CONDITION_RA) { NODE_1118: if (CONDITION_RB) { ACTION_9 } else { goto NODE_933; } } else { if (CONDITION_XB) { ACTION_71 } else { if (CONDITION_XD) { ACTION_71 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_71 } else { ACTION_14 } } else { ACTION_14 } } } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { NODE_1119: if (CONDITION_XB) { ACTION_71 } else { if (CONDITION_XC) { ACTION_71 } else { goto NODE_864; } } } else { if (CONDITION_XC) { ACTION_323 } else { goto NODE_913; } } } else { goto NODE_1119; } } else { if (CONDITION_XB) { NODE_1120: if (CONDITION_RA) { NODE_1121: if (CONDITION_XC) { ACTION_328 } else { goto NODE_941; } } else { NODE_1122: if (CONDITION_QB) { goto NODE_923; } else { ACTION_71 } } } else { if (CONDITION_XD) { NODE_1123: if (CONDITION_RA) { ACTION_328 } else { goto NODE_1122; } } else { NODE_1124: if (CONDITION_XC) { if (CONDITION_QB) { ACTION_77 } else { if (CONDITION_RA) { ACTION_82 } else { ACTION_14 } } } else { ACTION_14 } } } } } } } else { if (CONDITION_XB) { if (CONDITION_XD) { NODE_1125: if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_49 } else { if (CONDITION_WD) { ACTION_66 } else { ACTION_328 } } } else { if (CONDITION_ND) { ACTION_328 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_328 } else { if (CONDITION_XC) { ACTION_948 } else { ACTION_328 } } } else { ACTION_328 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_332 } else { if (CONDITION_WD) { ACTION_332 } else { if (CONDITION_RA) { ACTION_962 } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_952 } else { ACTION_332 } } else { ACTION_332 } } } } } else { if (CONDITION_ND) { ACTION_71 } else { if (CONDITION_WD) { ACTION_71 } else { goto NODE_1123; } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { goto NODE_441; } else { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_71 } else { NODE_1126: if (CONDITION_RB) { ACTION_328 } else { ACTION_71 } } } else { if (CONDITION_RA) { ACTION_328 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_948 } else { ACTION_323 } } else { goto NODE_1126; } } } } } else { ACTION_71 } } } else { if (CONDITION_XD) { goto NODE_1125; } else { if (CONDITION_XC) { if (CONDITION_ND) { goto NODE_297; } else { if (CONDITION_WD) { goto NODE_331; } else { if (CONDITION_RA) { ACTION_82 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_342 } else { ACTION_77 } } else { goto NODE_332; } } } } } else { ACTION_14 } } } } } else { if (CONDITION_XC) { if (CONDITION_WD) { if (CONDITION_RA) { if (CONDITION_PC) { goto NODE_1118; } else { if (CONDITION_XB) { goto NODE_968; } else { if (CONDITION_XD) { goto NODE_326; } else { ACTION_9 } } } } else { NODE_1127: if (CONDITION_RB) { if (CONDITION_PC) { ACTION_82 } else { goto NODE_937; } } else { NODE_1128: if (CONDITION_XB) { if (CONDITION_PC) { ACTION_71 } else { goto NODE_979; } } else { NODE_1129: if (CONDITION_XD) { if (CONDITION_PC) { ACTION_71 } else { goto NODE_983; } } else { ACTION_14 } } } } } else { if (CONDITION_ND) { goto NODE_701; } else { if (CONDITION_RA) { if (CONDITION_PC) { if (CONDITION_RB) { ACTION_82 } else { goto NODE_937; } } else { if (CONDITION_XB) { if (CONDITION_RB) { ACTION_328 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_962 } else { ACTION_328 } } else { ACTION_328 } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_328 } else { if (CONDITION_SA) { ACTION_962 } else { ACTION_328 } } } else { ACTION_82 } } } } else { if (CONDITION_QB) { if (CONDITION_RB) { if (CONDITION_PC) { ACTION_342 } else { goto NODE_976; } } else { if (CONDITION_XB) { if (CONDITION_PC) { ACTION_323 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_952 } else { ACTION_323 } } else { ACTION_323 } } } else { if (CONDITION_XD) { if (CONDITION_PC) { ACTION_323 } else { if (CONDITION_SA) { ACTION_952 } else { ACTION_323 } } } else { ACTION_77 } } } } else { goto NODE_1127; } } } } } else { goto NODE_708; } } } } else { if (CONDITION_ND) { if (CONDITION_KD) { if (CONDITION_XA) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_17 } else { if (CONDITION_XB) { ACTION_114 } else { if (CONDITION_XD) { ACTION_114 } else { ACTION_17 } } } } else { if (CONDITION_XB) { ACTION_114 } else { if (CONDITION_XD) { ACTION_114 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_114 } else { ACTION_17 } } else { ACTION_17 } } } } } else { if (CONDITION_XB) { if (CONDITION_RA) { NODE_1130: if (CONDITION_RB) { ACTION_114 } else { NODE_1131: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_463 } else { ACTION_114 } } else { ACTION_114 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_462 } else { if (CONDITION_XD) { ACTION_462 } else { ACTION_114 } } } else { goto NODE_1131; } } } else { if (CONDITION_XD) { if (CONDITION_RA) { NODE_1132: if (CONDITION_RB) { ACTION_114 } else { NODE_1133: if (CONDITION_SA) { ACTION_463 } else { ACTION_114 } } } else { if (CONDITION_RB) { ACTION_462 } else { goto NODE_1133; } } } else { NODE_1134: if (CONDITION_RA) { ACTION_17 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_115 } else { ACTION_17 } } else { ACTION_17 } } } } } } else { if (CONDITION_UC) { if (CONDITION_XB) { if (CONDITION_PC) { if (CONDITION_XC) { goto NODE_921; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_19 } else { if (CONDITION_XD) { ACTION_114 } else { ACTION_19 } } } else { ACTION_19 } } } else { if (CONDITION_RA) { if (CONDITION_XC) { goto NODE_1130; } else { if (CONDITION_XD) { goto NODE_1132; } else { ACTION_19 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_462 } else { goto NODE_1131; } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_130 } else { if (CONDITION_SA) { ACTION_131 } else { ACTION_19 } } } else { ACTION_19 } } } } } else { NODE_1135: if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_284; } else { if (CONDITION_RA) { goto NODE_286; } else { if (CONDITION_RB) { goto NODE_290; } else { goto NODE_292; } } } } else { goto NODE_296; } } } else { if (CONDITION_XB) { if (CONDITION_PC) { goto NODE_906; } else { if (CONDITION_RA) { if (CONDITION_XC) { goto NODE_703; } else { if (CONDITION_XD) { goto NODE_286; } else { ACTION_7 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_263 } else { goto NODE_704; } } else { if (CONDITION_XD) { goto NODE_985; } else { ACTION_7 } } } } } else { goto NODE_1135; } } } } else { if (CONDITION_PC) { if (CONDITION_UC) { if (CONDITION_XA) { goto NODE_1022; } else { if (CONDITION_XB) { goto NODE_1027; } else { goto NODE_908; } } } else { if (CONDITION_TD) { if (CONDITION_XA) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_53 } else { if (CONDITION_XB) { ACTION_265 } else { if (CONDITION_XD) { ACTION_265 } else { ACTION_53 } } } } else { if (CONDITION_XB) { ACTION_265 } else { if (CONDITION_XD) { ACTION_265 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_265 } else { ACTION_53 } } else { ACTION_53 } } } } } else { goto NODE_905; } } else { if (CONDITION_XC) { if (CONDITION_RA) { goto NODE_702; } else { if (CONDITION_RB) { ACTION_49 } else { goto NODE_695; } } } else { if (CONDITION_XA) { if (CONDITION_RA) { goto NODE_702; } else { goto NODE_695; } } else { if (CONDITION_XB) { goto NODE_907; } else { goto NODE_909; } } } } } } else { if (CONDITION_RA) { if (CONDITION_XD) { if (CONDITION_RB) { NODE_1136: if (CONDITION_UC) { if (CONDITION_XA) { ACTION_266 } else { if (CONDITION_XB) { ACTION_266 } else { ACTION_49 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_265 } else { ACTION_49 } } else { ACTION_49 } } } else { if (CONDITION_SA) { NODE_1137: if (CONDITION_UC) { if (CONDITION_XA) { ACTION_849 } else { if (CONDITION_XB) { ACTION_849 } else { ACTION_264 } } } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_848 } else { ACTION_264 } } else { ACTION_264 } } } else { goto NODE_1136; } } } else { NODE_1138: if (CONDITION_XB) { if (CONDITION_UC) { goto NODE_719; } else { if (CONDITION_TD) { if (CONDITION_XA) { ACTION_265 } else { goto NODE_285; } } else { goto NODE_735; } } } else { if (CONDITION_XA) { if (CONDITION_TD) { ACTION_53 } else { if (CONDITION_UC) { ACTION_54 } else { ACTION_5 } } } else { goto NODE_488; } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_XC) { if (CONDITION_UC) { if (CONDITION_XA) { ACTION_845 } else { if (CONDITION_XB) { ACTION_845 } else { ACTION_263 } } } else { NODE_1139: if (CONDITION_TD) { if (CONDITION_XA) { ACTION_844 } else { ACTION_263 } } else { ACTION_263 } } } else { if (CONDITION_XA) { if (CONDITION_TD) { ACTION_844 } else { if (CONDITION_UC) { ACTION_845 } else { ACTION_263 } } } else { if (CONDITION_UC) { if (CONDITION_XB) { ACTION_326 } else { ACTION_66 } } else { ACTION_66 } } } } else { if (CONDITION_XC) { if (CONDITION_XB) { if (CONDITION_UC) { ACTION_845 } else { goto NODE_1139; } } else { if (CONDITION_XA) { if (CONDITION_TD) { ACTION_276 } else { if (CONDITION_UC) { ACTION_277 } else { ACTION_51 } } } else { ACTION_51 } } } else { if (CONDITION_XA) { if (CONDITION_TD) { if (CONDITION_XB) { ACTION_265 } else { ACTION_53 } } else { if (CONDITION_UC) { if (CONDITION_XB) { ACTION_266 } else { ACTION_54 } } else { goto NODE_696; } } } else { NODE_1140: if (CONDITION_XB) { if (CONDITION_UC) { ACTION_69 } else { ACTION_7 } } else { ACTION_0 } } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_XC) { goto NODE_1137; } else { if (CONDITION_XA) { if (CONDITION_TD) { ACTION_848 } else { if (CONDITION_UC) { ACTION_849 } else { ACTION_264 } } } else { if (CONDITION_UC) { if (CONDITION_XB) { ACTION_330 } else { ACTION_67 } } else { ACTION_67 } } } } else { goto NODE_1138; } } else { if (CONDITION_XD) { if (CONDITION_XC) { goto NODE_1136; } else { if (CONDITION_XA) { if (CONDITION_TD) { ACTION_265 } else { if (CONDITION_UC) { ACTION_266 } else { ACTION_49 } } } else { NODE_1141: if (CONDITION_UC) { if (CONDITION_XB) { ACTION_69 } else { ACTION_7 } } else { ACTION_7 } } } } else { goto NODE_1138; } } } } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_21 } else { goto NODE_932; } } else { if (CONDITION_XB) { ACTION_135 } else { if (CONDITION_XD) { ACTION_135 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_135 } else { ACTION_26 } } else { ACTION_26 } } } } } else { if (CONDITION_XB) { if (CONDITION_RA) { goto NODE_970; } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_518 } else { if (CONDITION_XD) { ACTION_518 } else { ACTION_135 } } } else { goto NODE_977; } } } else { if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_972; } else { if (CONDITION_RB) { ACTION_518 } else { if (CONDITION_SA) { ACTION_522 } else { ACTION_135 } } } } else { NODE_1142: if (CONDITION_RA) { ACTION_26 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_146 } else { ACTION_26 } } else { ACTION_26 } } } } } } else { if (CONDITION_XB) { if (CONDITION_PC) { NODE_1143: if (CONDITION_RB) { NODE_1144: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_19 } else { goto NODE_925; } } else { ACTION_19 } } else { goto NODE_929; } } else { if (CONDITION_RB) { if (CONDITION_XD) { NODE_1145: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_130 } else { if (CONDITION_XC) { ACTION_508 } else { ACTION_130 } } } else { ACTION_130 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_129 } else { ACTION_508 } } else { ACTION_130 } } else { ACTION_19 } } } else { if (CONDITION_XD) { NODE_1146: if (CONDITION_RA) { goto NODE_973; } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_509 } else { ACTION_131 } } else { ACTION_131 } } else { goto NODE_924; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_129 } else { if (CONDITION_RA) { ACTION_130 } else { ACTION_19 } } } else { ACTION_19 } } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RB) { goto NODE_1144; } else { NODE_1147: if (CONDITION_RA) { ACTION_130 } else { goto NODE_924; } } } else { if (CONDITION_RB) { goto NODE_1145; } else { goto NODE_1146; } } } else { if (CONDITION_XC) { NODE_1148: if (CONDITION_RA) { ACTION_21 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_136 } else { ACTION_20 } } else { NODE_1149: if (CONDITION_RB) { ACTION_21 } else { ACTION_2 } } } } else { ACTION_2 } } } } } else { if (CONDITION_TD) { if (CONDITION_WD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_79 } else { if (CONDITION_XB) { ACTION_325 } else { if (CONDITION_XD) { ACTION_325 } else { ACTION_79 } } } } else { if (CONDITION_XB) { ACTION_335 } else { if (CONDITION_XD) { ACTION_335 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_335 } else { ACTION_89 } } else { ACTION_89 } } } } } else { if (CONDITION_XB) { if (CONDITION_RA) { goto NODE_971; } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_965 } else { if (CONDITION_XD) { ACTION_965 } else { ACTION_335 } } } else { goto NODE_978; } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_325 } else { NODE_1150: if (CONDITION_SA) { ACTION_959 } else { ACTION_325 } } } else { if (CONDITION_RB) { ACTION_965 } else { if (CONDITION_SA) { ACTION_971 } else { ACTION_335 } } } } else { NODE_1151: if (CONDITION_RA) { ACTION_89 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_359 } else { ACTION_89 } } else { ACTION_89 } } } } } } else { if (CONDITION_XB) { if (CONDITION_PC) { NODE_1152: if (CONDITION_RB) { NODE_1153: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_68 } else { goto NODE_928; } } else { ACTION_68 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_325 } else { goto NODE_940; } } else { goto NODE_927; } } } else { if (CONDITION_RB) { if (CONDITION_XD) { NODE_1154: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_325 } else { if (CONDITION_XC) { ACTION_945 } else { ACTION_325 } } } else { ACTION_325 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_320 } else { ACTION_945 } } else { ACTION_325 } } else { ACTION_68 } } } else { if (CONDITION_XD) { NODE_1155: if (CONDITION_RA) { goto NODE_1150; } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_949 } else { ACTION_329 } } else { ACTION_329 } } else { goto NODE_927; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_320 } else { if (CONDITION_RA) { ACTION_325 } else { ACTION_68 } } } else { ACTION_68 } } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RB) { goto NODE_1153; } else { NODE_1156: if (CONDITION_RA) { ACTION_325 } else { goto NODE_927; } } } else { if (CONDITION_RB) { goto NODE_1154; } else { goto NODE_1155; } } } else { if (CONDITION_XC) { NODE_1157: if (CONDITION_RA) { ACTION_79 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_339 } else { ACTION_74 } } else { NODE_1158: if (CONDITION_RB) { ACTION_79 } else { ACTION_11 } } } } else { ACTION_11 } } } } } else { if (CONDITION_WD) { if (CONDITION_UC) { if (CONDITION_PC) { goto NODE_1033; } else { if (CONDITION_XB) { if (CONDITION_RA) { NODE_1159: if (CONDITION_RB) { ACTION_326 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_960 } else { ACTION_326 } } else { ACTION_326 } } } else { if (CONDITION_RB) { goto NODE_1068; } else { NODE_1160: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_973 } else { ACTION_337 } } else { ACTION_337 } } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_326 } else { NODE_1161: if (CONDITION_SA) { ACTION_960 } else { ACTION_326 } } } else { if (CONDITION_RB) { ACTION_967 } else { if (CONDITION_SA) { ACTION_973 } else { ACTION_337 } } } } else { NODE_1162: if (CONDITION_RA) { ACTION_91 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_361 } else { ACTION_91 } } else { ACTION_91 } } } } } } else { if (CONDITION_PC) { goto NODE_1117; } else { if (CONDITION_XB) { if (CONDITION_RA) { goto NODE_968; } else { if (CONDITION_RB) { goto NODE_1121; } else { goto NODE_979; } } } else { if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_326; } else { if (CONDITION_RB) { ACTION_328 } else { goto NODE_983; } } } else { NODE_1163: if (CONDITION_RA) { ACTION_14 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_82 } else { ACTION_14 } } else { ACTION_14 } } } } } } } else { if (CONDITION_UC) { if (CONDITION_XB) { if (CONDITION_PC) { goto NODE_1070; } else { if (CONDITION_RB) { if (CONDITION_XD) { NODE_1164: if (CONDITION_QB) { if (CONDITION_RA) { ACTION_326 } else { goto NODE_1110; } } else { ACTION_326 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_321 } else { ACTION_946 } } else { ACTION_326 } } else { ACTION_69 } } } else { if (CONDITION_XD) { NODE_1165: if (CONDITION_RA) { goto NODE_1161; } else { if (CONDITION_SA) { goto NODE_1113; } else { goto NODE_1040; } } } else { goto NODE_1115; } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RB) { goto NODE_1071; } else { goto NODE_1042; } } else { if (CONDITION_RB) { goto NODE_1164; } else { goto NODE_1165; } } } else { if (CONDITION_XC) { goto NODE_1018; } else { ACTION_12 } } } } else { if (CONDITION_XB) { if (CONDITION_PC) { NODE_1166: if (CONDITION_RB) { goto NODE_346; } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_66 } else { goto NODE_738; } } else { goto NODE_353; } } } else { if (CONDITION_RB) { if (CONDITION_XD) { goto NODE_348; } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_65 } else { ACTION_318 } } else { ACTION_66 } } else { ACTION_7 } } } else { if (CONDITION_XD) { NODE_1167: if (CONDITION_RA) { goto NODE_327; } else { if (CONDITION_SA) { if (CONDITION_QB) { goto NODE_959; } else { ACTION_67 } } else { goto NODE_353; } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_65 } else { goto NODE_1077; } } else { ACTION_7 } } } } } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RB) { goto NODE_346; } else { if (CONDITION_RA) { ACTION_66 } else { goto NODE_353; } } } else { if (CONDITION_RB) { goto NODE_348; } else { goto NODE_1167; } } } else { if (CONDITION_XC) { if (CONDITION_RA) { ACTION_9 } else { if (CONDITION_QB) { if (CONDITION_RB) { ACTION_72 } else { ACTION_8 } } else { if (CONDITION_RB) { ACTION_9 } else { ACTION_1 } } } } else { ACTION_1 } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_RA) { if (CONDITION_XB) { if (CONDITION_UC) { if (CONDITION_PC) { goto NODE_1060; } else { goto NODE_1159; } } else { if (CONDITION_PC) { goto NODE_711; } else { goto NODE_968; } } } else { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_711; } else { goto NODE_326; } } else { ACTION_9 } } } else { if (CONDITION_QB) { if (CONDITION_RB) { if (CONDITION_PC) { if (CONDITION_UC) { if (CONDITION_XB) { ACTION_321 } else { ACTION_65 } } else { ACTION_65 } } else { if (CONDITION_UC) { if (CONDITION_XB) { ACTION_946 } else { goto NODE_963; } } else { goto NODE_962; } } } else { if (CONDITION_UC) { if (CONDITION_XB) { if (CONDITION_PC) { ACTION_321 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_950 } else { ACTION_321 } } else { ACTION_321 } } } else { NODE_1168: if (CONDITION_XD) { if (CONDITION_PC) { ACTION_65 } else { if (CONDITION_SA) { ACTION_319 } else { ACTION_65 } } } else { ACTION_8 } } } else { if (CONDITION_XB) { if (CONDITION_PC) { ACTION_65 } else { goto NODE_980; } } else { goto NODE_1168; } } } } else { if (CONDITION_WD) { if (CONDITION_RB) { if (CONDITION_PC) { if (CONDITION_UC) { if (CONDITION_XB) { ACTION_337 } else { ACTION_71 } } else { ACTION_71 } } else { if (CONDITION_UC) { if (CONDITION_XB) { ACTION_967 } else { goto NODE_865; } } else { goto NODE_937; } } } else { if (CONDITION_UC) { if (CONDITION_XB) { if (CONDITION_PC) { ACTION_337 } else { goto NODE_1160; } } else { goto NODE_1129; } } else { goto NODE_1128; } } } else { if (CONDITION_RB) { if (CONDITION_PC) { goto NODE_1141; } else { if (CONDITION_UC) { if (CONDITION_XB) { ACTION_326 } else { goto NODE_866; } } else { goto NODE_933; } } } else { if (CONDITION_UC) { if (CONDITION_XB) { if (CONDITION_PC) { ACTION_69 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_330 } else { ACTION_69 } } else { ACTION_69 } } } else { NODE_1169: if (CONDITION_XD) { if (CONDITION_PC) { ACTION_7 } else { goto NODE_712; } } else { ACTION_1 } } } else { if (CONDITION_XB) { if (CONDITION_PC) { ACTION_7 } else { goto NODE_981; } } else { goto NODE_1169; } } } } } } } else { if (CONDITION_XD) { if (CONDITION_UC) { if (CONDITION_XB) { if (CONDITION_PC) { goto NODE_1072; } else { if (CONDITION_RB) { ACTION_326 } else { if (CONDITION_RA) { goto NODE_1161; } else { if (CONDITION_SA) { ACTION_330 } else { ACTION_69 } } } } } else { goto NODE_709; } } else { goto NODE_709; } } else { goto NODE_1140; } } } } } } else { if (CONDITION_XB) { if (CONDITION_MC) { if (CONDITION_UC) { if (CONDITION_PC) { if (CONDITION_WB) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_WD) { ACTION_40 } else { ACTION_231 } } } else { if (CONDITION_ND) { ACTION_231 } else { if (CONDITION_WD) { ACTION_231 } else { NODE_1170: if (CONDITION_XC) { ACTION_774 } else { NODE_1171: if (CONDITION_XD) { ACTION_774 } else { ACTION_231 } } } } } } else { if (CONDITION_ND) { ACTION_231 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_231 } else { NODE_1172: if (CONDITION_XC) { ACTION_770 } else { ACTION_231 } } } else { ACTION_231 } } } } else { if (CONDITION_ND) { if (CONDITION_RB) { if (CONDITION_RA) { ACTION_231 } else { if (CONDITION_XA) { ACTION_718 } else { if (CONDITION_XC) { ACTION_718 } else { ACTION_231 } } } } else { if (CONDITION_XA) { ACTION_718 } else { if (CONDITION_XC) { ACTION_718 } else { if (CONDITION_RA) { if (CONDITION_XD) { ACTION_718 } else { ACTION_231 } } else { ACTION_231 } } } } } else { if (CONDITION_WD) { if (CONDITION_RB) { if (CONDITION_RA) { ACTION_231 } else { if (CONDITION_XA) { ACTION_781 } else { if (CONDITION_XC) { ACTION_781 } else { ACTION_231 } } } } else { if (CONDITION_XA) { ACTION_781 } else { if (CONDITION_XC) { ACTION_781 } else { if (CONDITION_RA) { goto NODE_1171; } else { ACTION_231 } } } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_231 } else { goto NODE_1172; } } else { ACTION_231 } } else { if (CONDITION_RA) { goto NODE_1170; } else { if (CONDITION_QB) { goto NODE_1172; } else { ACTION_231 } } } } } } } else { if (CONDITION_WB) { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_WD) { ACTION_42 } else { ACTION_242 } } } else { if (CONDITION_ND) { ACTION_242 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_242 } else { NODE_1173: if (CONDITION_XC) { ACTION_784 } else { ACTION_242 } } } else { ACTION_242 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_246 } else { if (CONDITION_WD) { ACTION_246 } else { if (CONDITION_RA) { ACTION_798 } else { NODE_1174: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_788 } else { ACTION_246 } } else { ACTION_246 } } } } } else { if (CONDITION_ND) { ACTION_45 } else { if (CONDITION_WD) { ACTION_45 } else { if (CONDITION_RA) { ACTION_242 } else { NODE_1175: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_237 } else { ACTION_45 } } else { ACTION_45 } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { goto NODE_430; } else { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_45 } else { NODE_1176: if (CONDITION_RB) { ACTION_242 } else { ACTION_45 } } } else { if (CONDITION_RA) { ACTION_242 } else { if (CONDITION_QB) { NODE_1177: if (CONDITION_RB) { ACTION_784 } else { ACTION_237 } } else { goto NODE_1176; } } } } } else { ACTION_45 } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_1178: if (CONDITION_XA) { ACTION_217 } else { if (CONDITION_XC) { ACTION_217 } else { if (CONDITION_XD) { ACTION_217 } else { ACTION_45 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_733 } else { if (CONDITION_XA) { ACTION_217 } else { if (CONDITION_XC) { ACTION_217 } else { ACTION_45 } } } } else { goto NODE_1178; } } } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_729 } else { if (CONDITION_XD) { ACTION_729 } else { ACTION_217 } } } else { NODE_1179: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_733 } else { ACTION_217 } } else { ACTION_217 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_729 } else { goto NODE_1179; } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_242 } else { if (CONDITION_SA) { ACTION_246 } else { ACTION_45 } } } else { ACTION_45 } } } } } else { if (CONDITION_RA) { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_242 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_798 } else { ACTION_242 } } else { ACTION_242 } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_242 } else { if (CONDITION_SA) { ACTION_798 } else { ACTION_242 } } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_242 } else { ACTION_45 } } else { ACTION_45 } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_805 } else { if (CONDITION_XC) { ACTION_805 } else { ACTION_242 } } } else { if (CONDITION_QB) { goto NODE_1173; } else { ACTION_242 } } } else { if (CONDITION_SA) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_811 } else { if (CONDITION_XC) { ACTION_811 } else { ACTION_246 } } } else { goto NODE_1174; } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_253 } else { if (CONDITION_XC) { ACTION_253 } else { ACTION_45 } } } else { goto NODE_1175; } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { goto NODE_1177; } else { if (CONDITION_RB) { if (CONDITION_WD) { ACTION_805 } else { ACTION_242 } } else { if (CONDITION_WD) { ACTION_253 } else { ACTION_45 } } } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_253 } else { ACTION_45 } } else { ACTION_45 } } } } } } } } else { if (CONDITION_PC) { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_16 } else { if (CONDITION_WD) { ACTION_16 } else { ACTION_105 } } } else { if (CONDITION_ND) { ACTION_105 } else { if (CONDITION_WD) { ACTION_105 } else { NODE_1180: if (CONDITION_XC) { ACTION_430 } else { if (CONDITION_XD) { ACTION_430 } else { ACTION_105 } } } } } } else { if (CONDITION_ND) { ACTION_105 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_105 } else { NODE_1181: if (CONDITION_XC) { ACTION_429 } else { ACTION_105 } } } else { ACTION_105 } } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_103 } else { ACTION_415 } } else { ACTION_415 } } else { if (CONDITION_WD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_105 } else { ACTION_430 } } else { ACTION_434 } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_105 } else { goto NODE_1181; } } else { ACTION_105 } } else { if (CONDITION_RA) { goto NODE_1180; } else { if (CONDITION_QB) { goto NODE_1181; } else { ACTION_105 } } } } } } } else { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_38 } else { if (CONDITION_WD) { ACTION_40 } else { ACTION_230 } } } else { if (CONDITION_ND) { ACTION_230 } else { if (CONDITION_WD) { ACTION_230 } else { NODE_1182: if (CONDITION_XC) { ACTION_773 } else { if (CONDITION_XD) { ACTION_773 } else { ACTION_230 } } } } } } else { if (CONDITION_ND) { ACTION_230 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_230 } else { NODE_1183: if (CONDITION_XC) { ACTION_769 } else { ACTION_230 } } } else { ACTION_230 } } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_216 } else { ACTION_717 } } else { ACTION_717 } } else { if (CONDITION_WD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_230 } else { ACTION_773 } } else { ACTION_779 } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_230 } else { goto NODE_1183; } } else { ACTION_230 } } else { if (CONDITION_RA) { goto NODE_1182; } else { if (CONDITION_QB) { goto NODE_1183; } else { ACTION_230 } } } } } } } else { if (CONDITION_ND) { NODE_1184: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_38 } else { ACTION_212 } } else { ACTION_212 } } else { if (CONDITION_WD) { NODE_1185: if (CONDITION_RA) { NODE_1186: if (CONDITION_RB) { ACTION_40 } else { ACTION_229 } } else { ACTION_233 } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_233 } else { NODE_1187: if (CONDITION_XC) { ACTION_772 } else { ACTION_233 } } } else { ACTION_233 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_776 } else { if (CONDITION_XD) { ACTION_776 } else { ACTION_233 } } } else { if (CONDITION_QB) { goto NODE_1187; } else { ACTION_233 } } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_40 } else { NODE_1188: if (CONDITION_XC) { ACTION_228 } else { ACTION_40 } } } else { ACTION_40 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_229 } else { goto NODE_716; } } else { if (CONDITION_QB) { goto NODE_1188; } else { ACTION_40 } } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { goto NODE_1184; } else { if (CONDITION_WD) { goto NODE_1185; } else { if (CONDITION_WB) { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_233 } else { ACTION_772 } } else { ACTION_772 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_233 } else { ACTION_776 } } else { ACTION_233 } } } else { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_40 } else { ACTION_228 } } else { ACTION_228 } } else { if (CONDITION_RA) { goto NODE_1186; } else { ACTION_40 } } } } } } else { goto NODE_715; } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_RB) { NODE_1189: if (CONDITION_XA) { ACTION_38 } else { if (CONDITION_XC) { ACTION_38 } else { if (CONDITION_XD) { ACTION_38 } else { ACTION_4 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_215 } else { if (CONDITION_XA) { ACTION_38 } else { if (CONDITION_XC) { ACTION_38 } else { ACTION_4 } } } } else { goto NODE_1189; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RB) { ACTION_103 } else { NODE_1190: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_417 } else { ACTION_103 } } else { ACTION_103 } } } else { if (CONDITION_TD) { if (CONDITION_RB) { ACTION_216 } else { NODE_1191: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_732 } else { ACTION_216 } } else { ACTION_216 } } } else { NODE_1192: if (CONDITION_RB) { ACTION_38 } else { NODE_1193: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_215 } else { ACTION_38 } } else { ACTION_38 } } } } } else { if (CONDITION_XC) { goto NODE_1192; } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_38 } else { if (CONDITION_SA) { ACTION_215 } else { ACTION_38 } } } else { ACTION_4 } } } } } else { if (CONDITION_WB) { if (CONDITION_XA) { NODE_1194: if (CONDITION_RB) { if (CONDITION_XC) { ACTION_214 } else { if (CONDITION_XD) { ACTION_214 } else { ACTION_38 } } } else { goto NODE_1193; } } else { NODE_1195: if (CONDITION_XC) { if (CONDITION_RB) { ACTION_214 } else { goto NODE_1193; } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_42 } else { NODE_1196: if (CONDITION_SA) { ACTION_43 } else { ACTION_4 } } } else { ACTION_4 } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_416 } else { if (CONDITION_XD) { ACTION_416 } else { ACTION_103 } } } else { goto NODE_1190; } } else { if (CONDITION_TD) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_728 } else { if (CONDITION_XD) { ACTION_728 } else { ACTION_216 } } } else { goto NODE_1191; } } else { goto NODE_1194; } } } else { goto NODE_1195; } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_1197: if (CONDITION_WB) { if (CONDITION_WD) { ACTION_16 } else { NODE_1198: if (CONDITION_XC) { ACTION_107 } else { if (CONDITION_XD) { ACTION_107 } else { ACTION_16 } } } } else { if (CONDITION_WD) { ACTION_107 } else { goto NODE_1198; } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_108 } else { ACTION_441 } } else { ACTION_441 } } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_16 } else { NODE_1199: if (CONDITION_XC) { ACTION_107 } else { ACTION_16 } } } else { if (CONDITION_WD) { ACTION_107 } else { goto NODE_1199; } } } } else { goto NODE_1197; } } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_107 } else { if (CONDITION_XC) { ACTION_435 } else { ACTION_107 } } } else { ACTION_107 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_107 } else { ACTION_435 } } else { ACTION_107 } } else { ACTION_16 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_108 } else { if (CONDITION_XC) { ACTION_436 } else { ACTION_108 } } } else { ACTION_108 } } else { NODE_1200: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_16 } else { if (CONDITION_XC) { ACTION_106 } else { ACTION_16 } } } else { ACTION_16 } } } else { goto NODE_1200; } } } else { if (CONDITION_WD) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_445 } else { if (CONDITION_XD) { ACTION_445 } else { ACTION_112 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_449 } else { ACTION_112 } } else { ACTION_112 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_QB) { ACTION_435 } else { ACTION_107 } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_436 } else { ACTION_106 } } else { ACTION_106 } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_108 } else { ACTION_16 } } else { ACTION_16 } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_107 } else { if (CONDITION_SA) { ACTION_108 } else { ACTION_16 } } } else { ACTION_16 } } } } } } else { if (CONDITION_WD) { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_RA) { NODE_1201: if (CONDITION_RB) { ACTION_42 } else { NODE_1202: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_240 } else { ACTION_42 } } else { ACTION_42 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_241 } else { if (CONDITION_XD) { ACTION_241 } else { ACTION_44 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_245 } else { ACTION_44 } } else { ACTION_44 } } } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_241 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_797 } else { ACTION_241 } } else { ACTION_241 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_803 } else { if (CONDITION_XD) { ACTION_803 } else { ACTION_251 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_809 } else { ACTION_251 } } else { ACTION_251 } } } } } else { if (CONDITION_RA) { goto NODE_1201; } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_244 } else { if (CONDITION_XD) { ACTION_244 } else { ACTION_47 } } } else { NODE_1203: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_248 } else { ACTION_47 } } else { ACTION_47 } } } } } else { if (CONDITION_TD) { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_241 } else { if (CONDITION_XC) { ACTION_783 } else { ACTION_241 } } } else { ACTION_241 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_236 } else { ACTION_783 } } else { ACTION_241 } } else { ACTION_44 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_SA) { ACTION_797 } else { ACTION_241 } } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_787 } else { ACTION_245 } } else { ACTION_245 } } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_236 } else { ACTION_44 } } else { ACTION_44 } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_236 } else { if (CONDITION_RA) { ACTION_241 } else { ACTION_44 } } } else { ACTION_44 } } } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_244 } else { if (CONDITION_XC) { ACTION_786 } else { ACTION_244 } } } else { ACTION_244 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_239 } else { ACTION_786 } } else { ACTION_244 } } else { ACTION_47 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_SA) { ACTION_800 } else { ACTION_244 } } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_790 } else { ACTION_248 } } else { ACTION_248 } } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_239 } else { ACTION_47 } } else { ACTION_47 } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_239 } else { if (CONDITION_RA) { ACTION_244 } else { ACTION_47 } } } else { ACTION_47 } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_42 } else { if (CONDITION_XC) { ACTION_234 } else { ACTION_42 } } } else { ACTION_42 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_41 } else { ACTION_234 } } else { ACTION_42 } } else { ACTION_4 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { NODE_1204: if (CONDITION_SA) { ACTION_240 } else { ACTION_42 } } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_235 } else { ACTION_43 } } else { ACTION_43 } } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_41 } else { ACTION_4 } } else { ACTION_4 } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_41 } else { if (CONDITION_RA) { ACTION_42 } else { ACTION_4 } } } else { ACTION_4 } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_42 } else { ACTION_244 } } else { ACTION_42 } } else { if (CONDITION_WD) { ACTION_244 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_786 } else { ACTION_234 } } else { if (CONDITION_WB) { ACTION_244 } else { ACTION_42 } } } } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_235 } else { ACTION_790 } } else { ACTION_235 } } else { NODE_1205: if (CONDITION_WB) { if (CONDITION_WD) { ACTION_41 } else { ACTION_239 } } else { ACTION_41 } } } else { goto NODE_1205; } } else { if (CONDITION_WD) { goto NODE_1203; } else { if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_800 } else { ACTION_244 } } else { ACTION_244 } } else { goto NODE_1202; } } else { if (CONDITION_WB) { goto NODE_1203; } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_43 } else { ACTION_4 } } else { ACTION_4 } } } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_42 } else { if (CONDITION_RA) { goto NODE_1204; } else { goto NODE_1196; } } } else { ACTION_4 } } } } } } } else { if (CONDITION_UC) { if (CONDITION_PC) { if (CONDITION_VC) { if (CONDITION_WB) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_WD) { ACTION_70 } else { ACTION_336 } } } else { if (CONDITION_ND) { ACTION_336 } else { if (CONDITION_WD) { ACTION_336 } else { NODE_1206: if (CONDITION_XC) { ACTION_966 } else { NODE_1207: if (CONDITION_XD) { ACTION_966 } else { ACTION_336 } } } } } } else { if (CONDITION_ND) { ACTION_336 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_336 } else { NODE_1208: if (CONDITION_XC) { ACTION_956 } else { ACTION_336 } } } else { ACTION_336 } } } } else { if (CONDITION_ND) { if (CONDITION_RB) { if (CONDITION_RA) { ACTION_336 } else { if (CONDITION_XA) { ACTION_855 } else { if (CONDITION_XC) { ACTION_855 } else { ACTION_336 } } } } else { if (CONDITION_XA) { ACTION_855 } else { if (CONDITION_XC) { ACTION_855 } else { if (CONDITION_RA) { if (CONDITION_XD) { ACTION_855 } else { ACTION_336 } } else { ACTION_336 } } } } } else { if (CONDITION_WD) { if (CONDITION_RB) { if (CONDITION_RA) { ACTION_336 } else { if (CONDITION_XA) { ACTION_977 } else { if (CONDITION_XC) { ACTION_977 } else { ACTION_336 } } } } else { if (CONDITION_XA) { ACTION_977 } else { if (CONDITION_XC) { ACTION_977 } else { if (CONDITION_RA) { goto NODE_1207; } else { ACTION_336 } } } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_336 } else { goto NODE_1208; } } else { ACTION_336 } } else { if (CONDITION_RA) { goto NODE_1206; } else { if (CONDITION_QB) { goto NODE_1208; } else { ACTION_336 } } } } } } } else { if (CONDITION_WB) { goto NODE_998; } else { if (CONDITION_ND) { goto NODE_718; } else { if (CONDITION_WD) { if (CONDITION_RB) { if (CONDITION_RA) { ACTION_69 } else { if (CONDITION_XA) { ACTION_337 } else { if (CONDITION_XC) { ACTION_337 } else { ACTION_69 } } } } else { if (CONDITION_XA) { ACTION_337 } else { if (CONDITION_XC) { ACTION_337 } else { if (CONDITION_RA) { goto NODE_723; } else { ACTION_69 } } } } } else { goto NODE_1070; } } } } } else { if (CONDITION_VC) { if (CONDITION_WB) { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_55 } else { if (CONDITION_WD) { ACTION_81 } else { ACTION_360 } } } else { if (CONDITION_ND) { ACTION_360 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_360 } else { NODE_1209: if (CONDITION_XC) { ACTION_981 } else { ACTION_360 } } } else { ACTION_360 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_366 } else { if (CONDITION_WD) { ACTION_366 } else { if (CONDITION_RA) { ACTION_996 } else { NODE_1210: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_987 } else { ACTION_366 } } else { ACTION_366 } } } } } else { if (CONDITION_ND) { ACTION_90 } else { if (CONDITION_WD) { ACTION_90 } else { if (CONDITION_RA) { ACTION_360 } else { NODE_1211: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_350 } else { ACTION_90 } } else { ACTION_90 } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { goto NODE_445; } else { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_90 } else { NODE_1212: if (CONDITION_RB) { ACTION_360 } else { ACTION_90 } } } else { if (CONDITION_RA) { ACTION_360 } else { if (CONDITION_QB) { NODE_1213: if (CONDITION_RB) { ACTION_981 } else { ACTION_350 } } else { goto NODE_1212; } } } } } else { ACTION_90 } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_1214: if (CONDITION_XA) { ACTION_287 } else { if (CONDITION_XC) { ACTION_287 } else { if (CONDITION_XD) { ACTION_287 } else { ACTION_90 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_885 } else { if (CONDITION_XA) { ACTION_287 } else { if (CONDITION_XC) { ACTION_287 } else { ACTION_90 } } } } else { goto NODE_1214; } } } else { if (CONDITION_XA) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_879 } else { if (CONDITION_XD) { ACTION_879 } else { ACTION_287 } } } else { NODE_1215: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_885 } else { ACTION_287 } } else { ACTION_287 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_879 } else { goto NODE_1215; } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_360 } else { if (CONDITION_SA) { ACTION_366 } else { ACTION_90 } } } else { ACTION_90 } } } } } else { if (CONDITION_RA) { if (CONDITION_XC) { if (CONDITION_RB) { ACTION_360 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_996 } else { ACTION_360 } } else { ACTION_360 } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_360 } else { if (CONDITION_SA) { ACTION_996 } else { ACTION_360 } } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_360 } else { ACTION_90 } } else { ACTION_90 } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_1001 } else { if (CONDITION_XC) { ACTION_1001 } else { ACTION_360 } } } else { if (CONDITION_QB) { goto NODE_1209; } else { ACTION_360 } } } else { if (CONDITION_SA) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_1004 } else { if (CONDITION_XC) { ACTION_1004 } else { ACTION_366 } } } else { goto NODE_1210; } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_371 } else { if (CONDITION_XC) { ACTION_371 } else { ACTION_90 } } } else { goto NODE_1211; } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { goto NODE_1213; } else { if (CONDITION_RB) { if (CONDITION_WD) { ACTION_1001 } else { ACTION_360 } } else { if (CONDITION_WD) { ACTION_371 } else { ACTION_90 } } } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_371 } else { ACTION_90 } } else { ACTION_90 } } } } } } } else { if (CONDITION_WB) { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_9 } else { ACTION_80 } } } else { goto NODE_1010; } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_84 } else { if (CONDITION_WD) { ACTION_84 } else { if (CONDITION_RA) { ACTION_354 } else { goto NODE_1047; } } } } else { if (CONDITION_ND) { ACTION_12 } else { if (CONDITION_WD) { ACTION_12 } else { if (CONDITION_RA) { ACTION_80 } else { goto NODE_1048; } } } } } } else { goto NODE_1116; } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_1216: if (CONDITION_XA) { ACTION_54 } else { if (CONDITION_XC) { ACTION_54 } else { if (CONDITION_XD) { ACTION_54 } else { ACTION_12 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_281 } else { if (CONDITION_XA) { ACTION_54 } else { if (CONDITION_XC) { ACTION_54 } else { ACTION_12 } } } } else { goto NODE_1216; } } } else { if (CONDITION_XA) { goto NODE_1025; } else { goto NODE_1030; } } } else { if (CONDITION_RA) { if (CONDITION_XC) { goto NODE_1035; } else { if (CONDITION_XD) { goto NODE_1053; } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_80 } else { ACTION_12 } } else { ACTION_12 } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_361 } else { if (CONDITION_XC) { ACTION_361 } else { ACTION_80 } } } else { if (CONDITION_QB) { goto NODE_1011; } else { ACTION_80 } } } else { if (CONDITION_SA) { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_367 } else { if (CONDITION_XC) { ACTION_367 } else { ACTION_84 } } } else { goto NODE_1047; } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_91 } else { if (CONDITION_XC) { ACTION_91 } else { ACTION_12 } } } else { goto NODE_1048; } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { goto NODE_1019; } else { if (CONDITION_RB) { goto NODE_1054; } else { goto NODE_1091; } } } else { if (CONDITION_WD) { if (CONDITION_XA) { ACTION_91 } else { ACTION_12 } } else { ACTION_12 } } } } } } } } } else { if (CONDITION_PC) { if (CONDITION_VC) { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_25 } else { if (CONDITION_WD) { ACTION_25 } else { ACTION_134 } } } else { if (CONDITION_ND) { ACTION_134 } else { if (CONDITION_WD) { ACTION_134 } else { NODE_1217: if (CONDITION_XC) { ACTION_517 } else { if (CONDITION_XD) { ACTION_517 } else { ACTION_134 } } } } } } else { if (CONDITION_ND) { ACTION_134 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_134 } else { NODE_1218: if (CONDITION_XC) { ACTION_512 } else { ACTION_134 } } } else { ACTION_134 } } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_119 } else { ACTION_466 } } else { ACTION_466 } } else { if (CONDITION_WD) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_134 } else { ACTION_517 } } else { ACTION_528 } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_134 } else { goto NODE_1218; } } else { ACTION_134 } } else { if (CONDITION_RA) { goto NODE_1217; } else { if (CONDITION_QB) { goto NODE_1218; } else { ACTION_134 } } } } } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_TD) { if (CONDITION_WB) { ACTION_55 } else { ACTION_285 } } else { ACTION_55 } } else { NODE_1219: if (CONDITION_TD) { if (CONDITION_WB) { ACTION_267 } else { ACTION_853 } } else { ACTION_267 } } } else { goto NODE_1219; } } else { if (CONDITION_WD) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_TD) { if (CONDITION_WB) { ACTION_70 } else { ACTION_334 } } else { ACTION_70 } } else { if (CONDITION_TD) { if (CONDITION_WB) { ACTION_327 } else { ACTION_964 } } else { ACTION_327 } } } else { if (CONDITION_TD) { if (CONDITION_WB) { ACTION_334 } else { ACTION_976 } } else { ACTION_338 } } } else { if (CONDITION_TD) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_334 } else { NODE_1220: if (CONDITION_XC) { ACTION_954 } else { ACTION_334 } } } else { ACTION_334 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_964 } else { if (CONDITION_XD) { ACTION_964 } else { ACTION_334 } } } else { if (CONDITION_QB) { goto NODE_1220; } else { ACTION_334 } } } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_338 } else { NODE_1221: if (CONDITION_XC) { ACTION_958 } else { ACTION_338 } } } else { ACTION_338 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_968 } else { if (CONDITION_XD) { ACTION_968 } else { ACTION_338 } } } else { if (CONDITION_QB) { goto NODE_1221; } else { ACTION_338 } } } } else { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_70 } else { NODE_1222: if (CONDITION_XC) { ACTION_322 } else { ACTION_70 } } } else { ACTION_70 } } else { if (CONDITION_RA) { if (CONDITION_XC) { ACTION_327 } else { goto NODE_733; } } else { if (CONDITION_QB) { goto NODE_1222; } else { ACTION_70 } } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_55 } else { ACTION_267 } } else { ACTION_267 } } else { if (CONDITION_WD) { if (CONDITION_RA) { NODE_1223: if (CONDITION_RB) { ACTION_70 } else { ACTION_327 } } else { ACTION_338 } } else { if (CONDITION_WB) { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_338 } else { ACTION_958 } } else { ACTION_958 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_338 } else { ACTION_968 } } else { ACTION_338 } } } else { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_70 } else { ACTION_322 } } else { ACTION_322 } } else { if (CONDITION_RA) { goto NODE_1223; } else { ACTION_70 } } } } } } else { goto NODE_732; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_1224: if (CONDITION_ND) { ACTION_2 } else { if (CONDITION_WD) { ACTION_2 } else { ACTION_19 } } } else { if (CONDITION_ND) { ACTION_19 } else { if (CONDITION_WD) { ACTION_19 } else { goto NODE_930; } } } } else { NODE_1225: if (CONDITION_ND) { ACTION_19 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_19 } else { goto NODE_925; } } else { ACTION_19 } } } } else { if (CONDITION_ND) { goto NODE_921; } else { if (CONDITION_WD) { NODE_1226: if (CONDITION_RA) { if (CONDITION_RB) { ACTION_19 } else { ACTION_130 } } else { ACTION_135 } } else { goto NODE_1143; } } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_TD) { if (CONDITION_WB) { ACTION_5 } else { ACTION_53 } } else { ACTION_5 } } else { NODE_1227: if (CONDITION_TD) { if (CONDITION_WB) { ACTION_49 } else { ACTION_265 } } else { ACTION_49 } } } else { goto NODE_1227; } } else { if (CONDITION_WD) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_TD) { if (CONDITION_WB) { ACTION_7 } else { ACTION_68 } } else { ACTION_7 } } else { if (CONDITION_TD) { if (CONDITION_WB) { ACTION_66 } else { ACTION_325 } } else { ACTION_66 } } } else { if (CONDITION_TD) { if (CONDITION_WB) { ACTION_68 } else { ACTION_335 } } else { ACTION_71 } } } else { if (CONDITION_TD) { goto NODE_1152; } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_71 } else { goto NODE_923; } } else { ACTION_71 } } else { goto NODE_1120; } } else { goto NODE_1166; } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { goto NODE_903; } else { if (CONDITION_WD) { if (CONDITION_RA) { goto NODE_711; } else { ACTION_71 } } else { if (CONDITION_WB) { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_71 } else { ACTION_323 } } else { ACTION_323 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_71 } else { ACTION_328 } } else { ACTION_71 } } } else { if (CONDITION_QB) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_7 } else { ACTION_65 } } else { ACTION_65 } } else { goto NODE_710; } } } } } else { goto NODE_737; } } } } else { if (CONDITION_VC) { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_RB) { NODE_1228: if (CONDITION_XA) { ACTION_55 } else { if (CONDITION_XC) { ACTION_55 } else { if (CONDITION_XD) { ACTION_55 } else { ACTION_13 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_282 } else { if (CONDITION_XA) { ACTION_55 } else { if (CONDITION_XC) { ACTION_55 } else { ACTION_13 } } } } else { goto NODE_1228; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RB) { ACTION_119 } else { NODE_1229: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_474 } else { ACTION_119 } } else { ACTION_119 } } } else { if (CONDITION_TD) { if (CONDITION_RB) { ACTION_285 } else { NODE_1230: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_883 } else { ACTION_285 } } else { ACTION_285 } } } else { NODE_1231: if (CONDITION_RB) { ACTION_55 } else { NODE_1232: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_282 } else { ACTION_55 } } else { ACTION_55 } } } } } else { if (CONDITION_XC) { goto NODE_1231; } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_55 } else { if (CONDITION_SA) { ACTION_282 } else { ACTION_55 } } } else { ACTION_13 } } } } } else { if (CONDITION_WB) { if (CONDITION_XA) { NODE_1233: if (CONDITION_RB) { if (CONDITION_XC) { ACTION_278 } else { if (CONDITION_XD) { ACTION_278 } else { ACTION_55 } } } else { goto NODE_1232; } } else { NODE_1234: if (CONDITION_XC) { if (CONDITION_RB) { ACTION_278 } else { goto NODE_1232; } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_81 } else { NODE_1235: if (CONDITION_SA) { ACTION_85 } else { ACTION_13 } } } else { ACTION_13 } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_470 } else { if (CONDITION_XD) { ACTION_470 } else { ACTION_119 } } } else { goto NODE_1229; } } else { if (CONDITION_TD) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_877 } else { if (CONDITION_XD) { ACTION_877 } else { ACTION_285 } } } else { goto NODE_1230; } } else { goto NODE_1233; } } } else { goto NODE_1234; } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_1236: if (CONDITION_WB) { if (CONDITION_WD) { ACTION_25 } else { NODE_1237: if (CONDITION_XC) { ACTION_145 } else { if (CONDITION_XD) { ACTION_145 } else { ACTION_25 } } } } else { if (CONDITION_WD) { ACTION_145 } else { goto NODE_1237; } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_149 } else { ACTION_545 } } else { ACTION_545 } } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_25 } else { NODE_1238: if (CONDITION_XC) { ACTION_145 } else { ACTION_25 } } } else { if (CONDITION_WD) { ACTION_145 } else { goto NODE_1238; } } } } else { goto NODE_1236; } } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_145 } else { if (CONDITION_XC) { ACTION_531 } else { ACTION_145 } } } else { ACTION_145 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_145 } else { ACTION_531 } } else { ACTION_145 } } else { ACTION_25 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_149 } else { if (CONDITION_XC) { ACTION_535 } else { ACTION_149 } } } else { ACTION_149 } } else { NODE_1239: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_25 } else { if (CONDITION_XC) { ACTION_140 } else { ACTION_25 } } } else { ACTION_25 } } } else { goto NODE_1239; } } } else { if (CONDITION_WD) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_552 } else { if (CONDITION_XD) { ACTION_552 } else { ACTION_156 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_558 } else { ACTION_156 } } else { ACTION_156 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_QB) { ACTION_531 } else { ACTION_145 } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_535 } else { ACTION_140 } } else { ACTION_140 } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_149 } else { ACTION_25 } } else { ACTION_25 } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_145 } else { if (CONDITION_SA) { ACTION_149 } else { ACTION_25 } } } else { ACTION_25 } } } } } } else { if (CONDITION_WD) { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_RA) { NODE_1240: if (CONDITION_RB) { ACTION_81 } else { NODE_1241: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_355 } else { ACTION_81 } } else { ACTION_81 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_358 } else { if (CONDITION_XD) { ACTION_358 } else { ACTION_88 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_364 } else { ACTION_88 } } else { ACTION_88 } } } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_358 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_994 } else { ACTION_358 } } else { ACTION_358 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_1000 } else { if (CONDITION_XD) { ACTION_1000 } else { ACTION_370 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_1003 } else { ACTION_370 } } else { ACTION_370 } } } } } else { if (CONDITION_RA) { goto NODE_1240; } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_362 } else { if (CONDITION_XD) { ACTION_362 } else { ACTION_92 } } } else { NODE_1242: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_368 } else { ACTION_92 } } else { ACTION_92 } } } } } else { if (CONDITION_TD) { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_358 } else { if (CONDITION_XC) { ACTION_979 } else { ACTION_358 } } } else { ACTION_358 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_348 } else { ACTION_979 } } else { ACTION_358 } } else { ACTION_88 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_SA) { ACTION_994 } else { ACTION_358 } } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_985 } else { ACTION_364 } } else { ACTION_364 } } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_348 } else { ACTION_88 } } else { ACTION_88 } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_348 } else { if (CONDITION_RA) { ACTION_358 } else { ACTION_88 } } } else { ACTION_88 } } } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_362 } else { if (CONDITION_XC) { ACTION_983 } else { ACTION_362 } } } else { ACTION_362 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_352 } else { ACTION_983 } } else { ACTION_362 } } else { ACTION_92 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_SA) { ACTION_998 } else { ACTION_362 } } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_989 } else { ACTION_368 } } else { ACTION_368 } } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_352 } else { ACTION_92 } } else { ACTION_92 } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_352 } else { if (CONDITION_RA) { ACTION_362 } else { ACTION_92 } } } else { ACTION_92 } } } } else { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_81 } else { if (CONDITION_XC) { ACTION_341 } else { ACTION_81 } } } else { ACTION_81 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_76 } else { ACTION_341 } } else { ACTION_81 } } else { ACTION_13 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { NODE_1243: if (CONDITION_SA) { ACTION_355 } else { ACTION_81 } } else { if (CONDITION_SA) { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_345 } else { ACTION_85 } } else { ACTION_85 } } else { if (CONDITION_QB) { if (CONDITION_XC) { ACTION_76 } else { ACTION_13 } } else { ACTION_13 } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_76 } else { if (CONDITION_RA) { ACTION_81 } else { ACTION_13 } } } else { ACTION_13 } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_81 } else { ACTION_362 } } else { ACTION_81 } } else { if (CONDITION_WD) { ACTION_362 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_983 } else { ACTION_341 } } else { if (CONDITION_WB) { ACTION_362 } else { ACTION_81 } } } } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_345 } else { ACTION_989 } } else { ACTION_345 } } else { NODE_1244: if (CONDITION_WB) { if (CONDITION_WD) { ACTION_76 } else { ACTION_352 } } else { ACTION_76 } } } else { goto NODE_1244; } } else { if (CONDITION_WD) { goto NODE_1242; } else { if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_998 } else { ACTION_362 } } else { ACTION_362 } } else { goto NODE_1241; } } else { if (CONDITION_WB) { goto NODE_1242; } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_85 } else { ACTION_13 } } else { ACTION_13 } } } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_81 } else { if (CONDITION_RA) { goto NODE_1243; } else { goto NODE_1235; } } } else { ACTION_13 } } } } } else { if (CONDITION_ND) { if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_RB) { NODE_1245: if (CONDITION_XA) { ACTION_5 } else { if (CONDITION_XC) { ACTION_5 } else { if (CONDITION_XD) { ACTION_5 } else { ACTION_1 } } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_52 } else { if (CONDITION_XA) { ACTION_5 } else { goto NODE_295; } } } else { goto NODE_1245; } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RB) { ACTION_17 } else { NODE_1246: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_116 } else { ACTION_17 } } else { ACTION_17 } } } else { if (CONDITION_TD) { if (CONDITION_RB) { ACTION_53 } else { NODE_1247: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_280 } else { ACTION_53 } } else { ACTION_53 } } } else { goto NODE_449; } } } else { if (CONDITION_XC) { goto NODE_449; } else { if (CONDITION_XD) { goto NODE_288; } else { ACTION_1 } } } } } else { if (CONDITION_WB) { if (CONDITION_XA) { NODE_1248: if (CONDITION_RB) { if (CONDITION_XC) { ACTION_51 } else { if (CONDITION_XD) { ACTION_51 } else { ACTION_5 } } } else { goto NODE_450; } } else { NODE_1249: if (CONDITION_XC) { goto NODE_870; } else { if (CONDITION_XD) { goto NODE_871; } else { ACTION_1 } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_115 } else { if (CONDITION_XD) { ACTION_115 } else { ACTION_17 } } } else { goto NODE_1246; } } else { if (CONDITION_TD) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_276 } else { if (CONDITION_XD) { ACTION_276 } else { ACTION_53 } } } else { goto NODE_1247; } } else { goto NODE_1248; } } } else { goto NODE_1249; } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_RA) { if (CONDITION_RB) { NODE_1250: if (CONDITION_WB) { if (CONDITION_WD) { ACTION_2 } else { NODE_1251: if (CONDITION_XC) { ACTION_21 } else { if (CONDITION_XD) { ACTION_21 } else { ACTION_2 } } } } else { if (CONDITION_WD) { ACTION_21 } else { goto NODE_1251; } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_22 } else { ACTION_142 } } else { ACTION_142 } } else { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_2 } else { NODE_1252: if (CONDITION_XC) { ACTION_21 } else { ACTION_2 } } } else { if (CONDITION_WD) { ACTION_21 } else { goto NODE_1252; } } } } else { goto NODE_1250; } } } else { if (CONDITION_WB) { if (CONDITION_RB) { if (CONDITION_XD) { NODE_1253: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_21 } else { NODE_1254: if (CONDITION_XC) { ACTION_136 } else { ACTION_21 } } } else { ACTION_21 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_21 } else { ACTION_136 } } else { ACTION_21 } } else { ACTION_2 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_22 } else { NODE_1255: if (CONDITION_XC) { ACTION_137 } else { ACTION_22 } } } else { ACTION_22 } } else { NODE_1256: if (CONDITION_QB) { if (CONDITION_WD) { ACTION_2 } else { NODE_1257: if (CONDITION_XC) { ACTION_20 } else { ACTION_2 } } } else { ACTION_2 } } } else { goto NODE_1256; } } } else { if (CONDITION_WD) { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_146 } else { if (CONDITION_XD) { ACTION_146 } else { ACTION_26 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_150 } else { ACTION_26 } } else { ACTION_26 } } } else { if (CONDITION_XC) { if (CONDITION_RB) { if (CONDITION_QB) { ACTION_136 } else { ACTION_21 } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_137 } else { ACTION_20 } } else { ACTION_20 } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_22 } else { ACTION_2 } } else { ACTION_2 } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_21 } else { if (CONDITION_SA) { ACTION_22 } else { ACTION_2 } } } else { ACTION_2 } } } } } } else { if (CONDITION_WD) { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_RA) { goto NODE_874; } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_79 } else { if (CONDITION_XD) { ACTION_79 } else { ACTION_11 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_83 } else { ACTION_11 } } else { ACTION_11 } } } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_79 } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_353 } else { ACTION_79 } } else { ACTION_79 } } } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_359 } else { if (CONDITION_XD) { ACTION_359 } else { ACTION_89 } } } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_365 } else { ACTION_89 } } else { ACTION_89 } } } } } else { if (CONDITION_RA) { goto NODE_874; } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_82 } else { if (CONDITION_XD) { ACTION_82 } else { ACTION_14 } } } else { NODE_1258: if (CONDITION_SA) { if (CONDITION_XD) { ACTION_86 } else { ACTION_14 } } else { ACTION_14 } } } } } else { if (CONDITION_TD) { if (CONDITION_RB) { NODE_1259: if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_79 } else { NODE_1260: if (CONDITION_XC) { ACTION_339 } else { ACTION_79 } } } else { ACTION_79 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_74 } else { ACTION_339 } } else { ACTION_79 } } else { ACTION_11 } } } else { if (CONDITION_XD) { NODE_1261: if (CONDITION_RA) { NODE_1262: if (CONDITION_SA) { ACTION_353 } else { ACTION_79 } } else { if (CONDITION_SA) { NODE_1263: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_343 } else { ACTION_83 } } else { ACTION_83 } } else { NODE_1264: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_74 } else { ACTION_11 } } else { ACTION_11 } } } } else { NODE_1265: if (CONDITION_XC) { if (CONDITION_QB) { ACTION_74 } else { if (CONDITION_RA) { ACTION_79 } else { ACTION_11 } } } else { ACTION_11 } } } } else { if (CONDITION_WB) { if (CONDITION_RB) { NODE_1266: if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_82 } else { if (CONDITION_XC) { ACTION_342 } else { ACTION_82 } } } else { ACTION_82 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_77 } else { ACTION_342 } } else { ACTION_82 } } else { ACTION_14 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { if (CONDITION_SA) { ACTION_356 } else { ACTION_82 } } else { if (CONDITION_SA) { NODE_1267: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_346 } else { ACTION_86 } } else { ACTION_86 } } else { NODE_1268: if (CONDITION_QB) { if (CONDITION_XC) { ACTION_77 } else { ACTION_14 } } else { ACTION_14 } } } } else { goto NODE_1124; } } } else { if (CONDITION_RB) { NODE_1269: if (CONDITION_XD) { goto NODE_352; } else { if (CONDITION_XC) { goto NODE_351; } else { ACTION_1 } } } else { if (CONDITION_XD) { if (CONDITION_RA) { goto NODE_329; } else { goto NODE_356; } } else { if (CONDITION_XC) { goto NODE_361; } else { ACTION_1 } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_RB) { NODE_1270: if (CONDITION_RA) { if (CONDITION_WB) { if (CONDITION_WD) { ACTION_9 } else { ACTION_82 } } else { ACTION_9 } } else { if (CONDITION_WD) { ACTION_82 } else { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_342 } else { ACTION_72 } } else { NODE_1271: if (CONDITION_WB) { ACTION_82 } else { ACTION_9 } } } } } else { if (CONDITION_QB) { if (CONDITION_SA) { if (CONDITION_XD) { NODE_1272: if (CONDITION_WB) { if (CONDITION_WD) { ACTION_73 } else { ACTION_346 } } else { ACTION_73 } } else { goto NODE_863; } } else { goto NODE_863; } } else { if (CONDITION_WD) { goto NODE_1258; } else { if (CONDITION_RA) { if (CONDITION_WB) { goto NODE_882; } else { goto NODE_875; } } else { if (CONDITION_WB) { goto NODE_1258; } else { if (CONDITION_SA) { if (CONDITION_XD) { ACTION_10 } else { ACTION_1 } } else { ACTION_1 } } } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_9 } else { NODE_1273: if (CONDITION_RA) { goto NODE_329; } else { goto NODE_684; } } } else { ACTION_1 } } } } } } } } } else { if (CONDITION_XA) { if (CONDITION_KD) { if (CONDITION_WB) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { goto NODE_1224; } else { if (CONDITION_ND) { ACTION_19 } else { if (CONDITION_WD) { ACTION_19 } else { ACTION_130 } } } } else { goto NODE_1225; } } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_2 } else { if (CONDITION_WD) { ACTION_2 } else { ACTION_21 } } } else { if (CONDITION_ND) { ACTION_21 } else { goto NODE_1253; } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_22 } else { if (CONDITION_WD) { ACTION_22 } else { if (CONDITION_RA) { ACTION_142 } else { NODE_1274: if (CONDITION_QB) { goto NODE_1255; } else { ACTION_22 } } } } } else { if (CONDITION_ND) { ACTION_2 } else { if (CONDITION_WD) { ACTION_2 } else { if (CONDITION_RA) { ACTION_21 } else { NODE_1275: if (CONDITION_QB) { goto NODE_1257; } else { ACTION_2 } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { NODE_1276: if (CONDITION_RA) { ACTION_2 } else { goto NODE_1149; } } else { if (CONDITION_WD) { goto NODE_1276; } else { goto NODE_1148; } } } else { ACTION_2 } } } else { if (CONDITION_ND) { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_921; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_17 } else { NODE_1277: if (CONDITION_SA) { ACTION_116 } else { ACTION_17 } } } else { if (CONDITION_RB) { ACTION_115 } else { goto NODE_1277; } } } } else { goto NODE_1134; } } else { if (CONDITION_WD) { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_1226; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_21 } else { NODE_1278: if (CONDITION_SA) { ACTION_142 } else { ACTION_21 } } } else { if (CONDITION_RB) { ACTION_146 } else { if (CONDITION_SA) { ACTION_150 } else { ACTION_26 } } } } } else { goto NODE_1142; } } else { if (CONDITION_RB) { if (CONDITION_XD) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_21 } else { goto NODE_1254; } } else { ACTION_21 } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_RA) { ACTION_20 } else { ACTION_136 } } else { ACTION_21 } } else { ACTION_2 } } } else { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_1147; } else { if (CONDITION_RA) { goto NODE_1278; } else { if (CONDITION_SA) { goto NODE_1274; } else { goto NODE_1275; } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { ACTION_20 } else { if (CONDITION_RA) { ACTION_21 } else { ACTION_2 } } } else { ACTION_2 } } } } } } } else { if (CONDITION_TD) { if (CONDITION_WB) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_7 } else { ACTION_68 } } } else { if (CONDITION_ND) { ACTION_49 } else { if (CONDITION_WD) { ACTION_66 } else { ACTION_325 } } } } else { if (CONDITION_ND) { ACTION_68 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_68 } else { goto NODE_928; } } else { ACTION_68 } } } } else { if (CONDITION_RB) { if (CONDITION_RA) { if (CONDITION_ND) { ACTION_5 } else { if (CONDITION_WD) { ACTION_9 } else { ACTION_79 } } } else { if (CONDITION_ND) { ACTION_79 } else { if (CONDITION_QB) { if (CONDITION_WD) { ACTION_79 } else { goto NODE_1260; } } else { ACTION_79 } } } } else { if (CONDITION_SA) { if (CONDITION_ND) { ACTION_83 } else { if (CONDITION_WD) { ACTION_83 } else { if (CONDITION_RA) { ACTION_353 } else { goto NODE_1263; } } } } else { if (CONDITION_ND) { ACTION_11 } else { if (CONDITION_WD) { ACTION_11 } else { if (CONDITION_RA) { ACTION_79 } else { goto NODE_1264; } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { goto NODE_297; } else { if (CONDITION_WD) { if (CONDITION_RA) { ACTION_11 } else { goto NODE_1158; } } else { goto NODE_1157; } } } else { ACTION_11 } } } else { if (CONDITION_ND) { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_922; } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_53 } else { NODE_1279: if (CONDITION_SA) { ACTION_280 } else { ACTION_53 } } } else { if (CONDITION_RB) { ACTION_276 } else { goto NODE_1279; } } } } else { if (CONDITION_RA) { ACTION_53 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_276 } else { ACTION_53 } } else { ACTION_53 } } } } else { if (CONDITION_WD) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_68 } else { ACTION_325 } } else { ACTION_335 } } else { if (CONDITION_RA) { if (CONDITION_RB) { ACTION_79 } else { goto NODE_1262; } } else { if (CONDITION_RB) { ACTION_359 } else { if (CONDITION_SA) { ACTION_365 } else { ACTION_89 } } } } } else { goto NODE_1151; } } else { if (CONDITION_RB) { goto NODE_1259; } else { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_1156; } else { goto NODE_1261; } } else { goto NODE_1265; } } } } } } else { if (CONDITION_ND) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_UC) { goto NODE_989; } else { ACTION_5 } } else { NODE_1280: if (CONDITION_UC) { if (CONDITION_WB) { ACTION_49 } else { ACTION_266 } } else { ACTION_49 } } } else { goto NODE_1280; } } else { if (CONDITION_UC) { if (CONDITION_WB) { NODE_1281: if (CONDITION_RA) { goto NODE_288; } else { if (CONDITION_RB) { ACTION_51 } else { goto NODE_289; } } } else { if (CONDITION_RA) { goto NODE_1028; } else { if (CONDITION_RB) { ACTION_277 } else { goto NODE_1029; } } } } else { goto NODE_1281; } } } else { if (CONDITION_UC) { if (CONDITION_WB) { NODE_1282: if (CONDITION_RA) { ACTION_5 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_51 } else { ACTION_5 } } else { ACTION_5 } } } else { if (CONDITION_RA) { ACTION_54 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_277 } else { ACTION_54 } } else { ACTION_54 } } } } else { goto NODE_1282; } } } else { if (CONDITION_WD) { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { if (CONDITION_RB) { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_7 } else { ACTION_69 } } else { ACTION_7 } } else { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_66 } else { ACTION_326 } } else { ACTION_66 } } } else { if (CONDITION_UC) { if (CONDITION_WB) { ACTION_69 } else { ACTION_337 } } else { ACTION_71 } } } else { if (CONDITION_UC) { if (CONDITION_WB) { if (CONDITION_RA) { goto NODE_328; } else { goto NODE_1032; } } else { if (CONDITION_RA) { goto NODE_1053; } else { if (CONDITION_RB) { ACTION_361 } else { if (CONDITION_SA) { ACTION_367 } else { ACTION_91 } } } } } else { if (CONDITION_RA) { goto NODE_328; } else { if (CONDITION_RB) { ACTION_82 } else { NODE_1283: if (CONDITION_SA) { ACTION_86 } else { ACTION_14 } } } } } } else { if (CONDITION_UC) { if (CONDITION_WB) { if (CONDITION_RA) { ACTION_12 } else { if (CONDITION_RB) { if (CONDITION_XC) { ACTION_80 } else { ACTION_12 } } else { ACTION_12 } } } else { goto NODE_1162; } } else { goto NODE_1163; } } } else { if (CONDITION_UC) { if (CONDITION_RB) { goto NODE_1044; } else { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_1042; } else { goto NODE_1045; } } else { goto NODE_1043; } } } else { if (CONDITION_RB) { if (CONDITION_WB) { goto NODE_1266; } else { goto NODE_1269; } } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { NODE_1284: if (CONDITION_WB) { ACTION_328 } else { ACTION_66 } } else { if (CONDITION_WB) { goto NODE_1122; } else { goto NODE_353; } } } else { if (CONDITION_RA) { NODE_1285: if (CONDITION_SA) { if (CONDITION_WB) { ACTION_356 } else { ACTION_78 } } else { goto NODE_1271; } } else { if (CONDITION_SA) { if (CONDITION_WB) { goto NODE_1267; } else { goto NODE_357; } } else { if (CONDITION_WB) { goto NODE_1268; } else { goto NODE_358; } } } } } else { if (CONDITION_XC) { if (CONDITION_QB) { if (CONDITION_WB) { ACTION_77 } else { ACTION_8 } } else { NODE_1286: if (CONDITION_RA) { goto NODE_1271; } else { NODE_1287: if (CONDITION_WB) { ACTION_14 } else { ACTION_1 } } } } else { goto NODE_1287; } } } } } } } } } else { if (CONDITION_XC) { if (CONDITION_ND) { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_903; } else { goto NODE_1281; } } else { goto NODE_297; } } else { if (CONDITION_RB) { goto NODE_1270; } else { if (CONDITION_QB) { if (CONDITION_XD) { if (CONDITION_PC) { goto NODE_861; } else { if (CONDITION_SA) { goto NODE_1272; } else { goto NODE_863; } } } else { goto NODE_863; } } else { if (CONDITION_WD) { if (CONDITION_XD) { if (CONDITION_PC) { ACTION_71 } else { goto NODE_1283; } } else { ACTION_14 } } else { if (CONDITION_XD) { if (CONDITION_PC) { if (CONDITION_RA) { goto NODE_1284; } else { goto NODE_859; } } else { if (CONDITION_RA) { goto NODE_1285; } else { if (CONDITION_SA) { if (CONDITION_WB) { ACTION_86 } else { ACTION_10 } } else { goto NODE_1287; } } } } else { goto NODE_1286; } } } } } } else { if (CONDITION_XD) { if (CONDITION_RB) { ACTION_9 } else { if (CONDITION_PC) { goto NODE_1077; } else { goto NODE_1273; } } } else { ACTION_0 } } } } } } } } } } } } } ================================================ FILE: include/labeling3D_EPDT_2829_action_undef.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Maximilian Soechting // Hasso Plattner Institute // University of Potsdam, Germany #undef ACTION_0 #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef ACTION_17 #undef ACTION_18 #undef ACTION_19 #undef ACTION_20 #undef ACTION_21 #undef ACTION_22 #undef ACTION_23 #undef ACTION_24 #undef ACTION_25 #undef ACTION_26 #undef ACTION_27 #undef ACTION_28 #undef ACTION_29 #undef ACTION_30 #undef ACTION_31 #undef ACTION_32 #undef ACTION_33 #undef ACTION_34 #undef ACTION_35 #undef ACTION_36 #undef ACTION_37 #undef ACTION_38 #undef ACTION_39 #undef ACTION_40 #undef ACTION_41 #undef ACTION_42 #undef ACTION_43 #undef ACTION_44 #undef ACTION_45 #undef ACTION_46 #undef ACTION_47 #undef ACTION_48 #undef ACTION_49 #undef ACTION_50 #undef ACTION_51 #undef ACTION_52 #undef ACTION_53 #undef ACTION_54 #undef ACTION_55 #undef ACTION_56 #undef ACTION_57 #undef ACTION_58 #undef ACTION_59 #undef ACTION_60 #undef ACTION_61 #undef ACTION_62 #undef ACTION_63 #undef ACTION_64 #undef ACTION_65 #undef ACTION_66 #undef ACTION_67 #undef ACTION_68 #undef ACTION_69 #undef ACTION_70 #undef ACTION_71 #undef ACTION_72 #undef ACTION_73 #undef ACTION_74 #undef ACTION_75 #undef ACTION_76 #undef ACTION_77 #undef ACTION_78 #undef ACTION_79 #undef ACTION_80 #undef ACTION_81 #undef ACTION_82 #undef ACTION_83 #undef ACTION_84 #undef ACTION_85 #undef ACTION_86 #undef ACTION_87 #undef ACTION_88 #undef ACTION_89 #undef ACTION_90 #undef ACTION_91 #undef ACTION_92 #undef ACTION_93 #undef ACTION_94 #undef ACTION_95 #undef ACTION_96 #undef ACTION_97 #undef ACTION_98 #undef ACTION_99 #undef ACTION_100 #undef ACTION_101 #undef ACTION_102 #undef ACTION_103 #undef ACTION_104 #undef ACTION_105 #undef ACTION_106 #undef ACTION_107 #undef ACTION_108 #undef ACTION_109 #undef ACTION_110 #undef ACTION_111 #undef ACTION_112 #undef ACTION_113 #undef ACTION_114 #undef ACTION_115 #undef ACTION_116 #undef ACTION_117 #undef ACTION_118 #undef ACTION_119 #undef ACTION_120 #undef ACTION_121 #undef ACTION_122 #undef ACTION_123 #undef ACTION_124 #undef ACTION_125 #undef ACTION_126 #undef ACTION_127 #undef ACTION_128 #undef ACTION_129 #undef ACTION_130 #undef ACTION_131 #undef ACTION_132 #undef ACTION_133 #undef ACTION_134 #undef ACTION_135 #undef ACTION_136 #undef ACTION_137 #undef ACTION_138 #undef ACTION_139 #undef ACTION_140 #undef ACTION_141 #undef ACTION_142 #undef ACTION_143 #undef ACTION_144 #undef ACTION_145 #undef ACTION_146 #undef ACTION_147 #undef ACTION_148 #undef ACTION_149 #undef ACTION_150 #undef ACTION_151 #undef ACTION_152 #undef ACTION_153 #undef ACTION_154 #undef ACTION_155 #undef ACTION_156 #undef ACTION_157 #undef ACTION_158 #undef ACTION_159 #undef ACTION_160 #undef ACTION_161 #undef ACTION_162 #undef ACTION_163 #undef ACTION_164 #undef ACTION_165 #undef ACTION_166 #undef ACTION_167 #undef ACTION_168 #undef ACTION_169 #undef ACTION_170 #undef ACTION_171 #undef ACTION_172 #undef ACTION_173 #undef ACTION_174 #undef ACTION_175 #undef ACTION_176 #undef ACTION_177 #undef ACTION_178 #undef ACTION_179 #undef ACTION_180 #undef ACTION_181 #undef ACTION_182 #undef ACTION_183 #undef ACTION_184 #undef ACTION_185 #undef ACTION_186 #undef ACTION_187 #undef ACTION_188 #undef ACTION_189 #undef ACTION_190 #undef ACTION_191 #undef ACTION_192 #undef ACTION_193 #undef ACTION_194 #undef ACTION_195 #undef ACTION_196 #undef ACTION_197 #undef ACTION_198 #undef ACTION_199 #undef ACTION_200 #undef ACTION_201 #undef ACTION_202 #undef ACTION_203 #undef ACTION_204 #undef ACTION_205 #undef ACTION_206 #undef ACTION_207 #undef ACTION_208 #undef ACTION_209 #undef ACTION_210 #undef ACTION_211 #undef ACTION_212 #undef ACTION_213 #undef ACTION_214 #undef ACTION_215 #undef ACTION_216 #undef ACTION_217 #undef ACTION_218 #undef ACTION_219 #undef ACTION_220 #undef ACTION_221 #undef ACTION_222 #undef ACTION_223 #undef ACTION_224 #undef ACTION_225 #undef ACTION_226 #undef ACTION_227 #undef ACTION_228 #undef ACTION_229 #undef ACTION_230 #undef ACTION_231 #undef ACTION_232 #undef ACTION_233 #undef ACTION_234 #undef ACTION_235 #undef ACTION_236 #undef ACTION_237 #undef ACTION_238 #undef ACTION_239 #undef ACTION_240 #undef ACTION_241 #undef ACTION_242 #undef ACTION_243 #undef ACTION_244 #undef ACTION_245 #undef ACTION_246 #undef ACTION_247 #undef ACTION_248 #undef ACTION_249 #undef ACTION_250 #undef ACTION_251 #undef ACTION_252 #undef ACTION_253 #undef ACTION_254 #undef ACTION_255 #undef ACTION_256 #undef ACTION_257 #undef ACTION_258 #undef ACTION_259 #undef ACTION_260 #undef ACTION_261 #undef ACTION_262 #undef ACTION_263 #undef ACTION_264 #undef ACTION_265 #undef ACTION_266 #undef ACTION_267 #undef ACTION_268 #undef ACTION_269 #undef ACTION_270 #undef ACTION_271 #undef ACTION_272 #undef ACTION_273 #undef ACTION_274 #undef ACTION_275 #undef ACTION_276 #undef ACTION_277 #undef ACTION_278 #undef ACTION_279 #undef ACTION_280 #undef ACTION_281 #undef ACTION_282 #undef ACTION_283 #undef ACTION_284 #undef ACTION_285 #undef ACTION_286 #undef ACTION_287 #undef ACTION_288 #undef ACTION_289 #undef ACTION_290 #undef ACTION_291 #undef ACTION_292 #undef ACTION_293 #undef ACTION_294 #undef ACTION_295 #undef ACTION_296 #undef ACTION_297 #undef ACTION_298 #undef ACTION_299 #undef ACTION_300 #undef ACTION_301 #undef ACTION_302 #undef ACTION_303 #undef ACTION_304 #undef ACTION_305 #undef ACTION_306 #undef ACTION_307 #undef ACTION_308 #undef ACTION_309 #undef ACTION_310 #undef ACTION_311 #undef ACTION_312 #undef ACTION_313 #undef ACTION_314 #undef ACTION_315 #undef ACTION_316 #undef ACTION_317 #undef ACTION_318 #undef ACTION_319 #undef ACTION_320 #undef ACTION_321 #undef ACTION_322 #undef ACTION_323 #undef ACTION_324 #undef ACTION_325 #undef ACTION_326 #undef ACTION_327 #undef ACTION_328 #undef ACTION_329 #undef ACTION_330 #undef ACTION_331 #undef ACTION_332 #undef ACTION_333 #undef ACTION_334 #undef ACTION_335 #undef ACTION_336 #undef ACTION_337 #undef ACTION_338 #undef ACTION_339 #undef ACTION_340 #undef ACTION_341 #undef ACTION_342 #undef ACTION_343 #undef ACTION_344 #undef ACTION_345 #undef ACTION_346 #undef ACTION_347 #undef ACTION_348 #undef ACTION_349 #undef ACTION_350 #undef ACTION_351 #undef ACTION_352 #undef ACTION_353 #undef ACTION_354 #undef ACTION_355 #undef ACTION_356 #undef ACTION_357 #undef ACTION_358 #undef ACTION_359 #undef ACTION_360 #undef ACTION_361 #undef ACTION_362 #undef ACTION_363 #undef ACTION_364 #undef ACTION_365 #undef ACTION_366 #undef ACTION_367 #undef ACTION_368 #undef ACTION_369 #undef ACTION_370 #undef ACTION_371 #undef ACTION_372 #undef ACTION_373 #undef ACTION_374 #undef ACTION_375 #undef ACTION_376 #undef ACTION_377 #undef ACTION_378 #undef ACTION_379 #undef ACTION_380 #undef ACTION_381 #undef ACTION_382 #undef ACTION_383 #undef ACTION_384 #undef ACTION_385 #undef ACTION_386 #undef ACTION_387 #undef ACTION_388 #undef ACTION_389 #undef ACTION_390 #undef ACTION_391 #undef ACTION_392 #undef ACTION_393 #undef ACTION_394 #undef ACTION_395 #undef ACTION_396 #undef ACTION_397 #undef ACTION_398 #undef ACTION_399 #undef ACTION_400 #undef ACTION_401 #undef ACTION_402 #undef ACTION_403 #undef ACTION_404 #undef ACTION_405 #undef ACTION_406 #undef ACTION_407 #undef ACTION_408 #undef ACTION_409 #undef ACTION_410 #undef ACTION_411 #undef ACTION_412 #undef ACTION_413 #undef ACTION_414 #undef ACTION_415 #undef ACTION_416 #undef ACTION_417 #undef ACTION_418 #undef ACTION_419 #undef ACTION_420 #undef ACTION_421 #undef ACTION_422 #undef ACTION_423 #undef ACTION_424 #undef ACTION_425 #undef ACTION_426 #undef ACTION_427 #undef ACTION_428 #undef ACTION_429 #undef ACTION_430 #undef ACTION_431 #undef ACTION_432 #undef ACTION_433 #undef ACTION_434 #undef ACTION_435 #undef ACTION_436 #undef ACTION_437 #undef ACTION_438 #undef ACTION_439 #undef ACTION_440 #undef ACTION_441 #undef ACTION_442 #undef ACTION_443 #undef ACTION_444 #undef ACTION_445 #undef ACTION_446 #undef ACTION_447 #undef ACTION_448 #undef ACTION_449 #undef ACTION_450 #undef ACTION_451 #undef ACTION_452 #undef ACTION_453 #undef ACTION_454 #undef ACTION_455 #undef ACTION_456 #undef ACTION_457 #undef ACTION_458 #undef ACTION_459 #undef ACTION_460 #undef ACTION_461 #undef ACTION_462 #undef ACTION_463 #undef ACTION_464 #undef ACTION_465 #undef ACTION_466 #undef ACTION_467 #undef ACTION_468 #undef ACTION_469 #undef ACTION_470 #undef ACTION_471 #undef ACTION_472 #undef ACTION_473 #undef ACTION_474 #undef ACTION_475 #undef ACTION_476 #undef ACTION_477 #undef ACTION_478 #undef ACTION_479 #undef ACTION_480 #undef ACTION_481 #undef ACTION_482 #undef ACTION_483 #undef ACTION_484 #undef ACTION_485 #undef ACTION_486 #undef ACTION_487 #undef ACTION_488 #undef ACTION_489 #undef ACTION_490 #undef ACTION_491 #undef ACTION_492 #undef ACTION_493 #undef ACTION_494 #undef ACTION_495 #undef ACTION_496 #undef ACTION_497 #undef ACTION_498 #undef ACTION_499 #undef ACTION_500 #undef ACTION_501 #undef ACTION_502 #undef ACTION_503 #undef ACTION_504 #undef ACTION_505 #undef ACTION_506 #undef ACTION_507 #undef ACTION_508 #undef ACTION_509 #undef ACTION_510 #undef ACTION_511 #undef ACTION_512 #undef ACTION_513 #undef ACTION_514 #undef ACTION_515 #undef ACTION_516 #undef ACTION_517 #undef ACTION_518 #undef ACTION_519 #undef ACTION_520 #undef ACTION_521 #undef ACTION_522 #undef ACTION_523 #undef ACTION_524 #undef ACTION_525 #undef ACTION_526 #undef ACTION_527 #undef ACTION_528 #undef ACTION_529 #undef ACTION_530 #undef ACTION_531 #undef ACTION_532 #undef ACTION_533 #undef ACTION_534 #undef ACTION_535 #undef ACTION_536 #undef ACTION_537 #undef ACTION_538 #undef ACTION_539 #undef ACTION_540 #undef ACTION_541 #undef ACTION_542 #undef ACTION_543 #undef ACTION_544 #undef ACTION_545 #undef ACTION_546 #undef ACTION_547 #undef ACTION_548 #undef ACTION_549 #undef ACTION_550 #undef ACTION_551 #undef ACTION_552 #undef ACTION_553 #undef ACTION_554 #undef ACTION_555 #undef ACTION_556 #undef ACTION_557 #undef ACTION_558 #undef ACTION_559 #undef ACTION_560 #undef ACTION_561 #undef ACTION_562 #undef ACTION_563 #undef ACTION_564 #undef ACTION_565 #undef ACTION_566 #undef ACTION_567 #undef ACTION_568 #undef ACTION_569 #undef ACTION_570 #undef ACTION_571 #undef ACTION_572 #undef ACTION_573 #undef ACTION_574 #undef ACTION_575 #undef ACTION_576 #undef ACTION_577 #undef ACTION_578 #undef ACTION_579 #undef ACTION_580 #undef ACTION_581 #undef ACTION_582 #undef ACTION_583 #undef ACTION_584 #undef ACTION_585 #undef ACTION_586 #undef ACTION_587 #undef ACTION_588 #undef ACTION_589 #undef ACTION_590 #undef ACTION_591 #undef ACTION_592 #undef ACTION_593 #undef ACTION_594 #undef ACTION_595 #undef ACTION_596 #undef ACTION_597 #undef ACTION_598 #undef ACTION_599 #undef ACTION_600 #undef ACTION_601 #undef ACTION_602 #undef ACTION_603 #undef ACTION_604 #undef ACTION_605 #undef ACTION_606 #undef ACTION_607 #undef ACTION_608 #undef ACTION_609 #undef ACTION_610 #undef ACTION_611 #undef ACTION_612 #undef ACTION_613 #undef ACTION_614 #undef ACTION_615 #undef ACTION_616 #undef ACTION_617 #undef ACTION_618 #undef ACTION_619 #undef ACTION_620 #undef ACTION_621 #undef ACTION_622 #undef ACTION_623 #undef ACTION_624 #undef ACTION_625 #undef ACTION_626 #undef ACTION_627 #undef ACTION_628 #undef ACTION_629 #undef ACTION_630 #undef ACTION_631 #undef ACTION_632 #undef ACTION_633 #undef ACTION_634 #undef ACTION_635 #undef ACTION_636 #undef ACTION_637 #undef ACTION_638 #undef ACTION_639 #undef ACTION_640 #undef ACTION_641 #undef ACTION_642 #undef ACTION_643 #undef ACTION_644 #undef ACTION_645 #undef ACTION_646 #undef ACTION_647 #undef ACTION_648 #undef ACTION_649 #undef ACTION_650 #undef ACTION_651 #undef ACTION_652 #undef ACTION_653 #undef ACTION_654 #undef ACTION_655 #undef ACTION_656 #undef ACTION_657 #undef ACTION_658 #undef ACTION_659 #undef ACTION_660 #undef ACTION_661 #undef ACTION_662 #undef ACTION_663 #undef ACTION_664 #undef ACTION_665 #undef ACTION_666 #undef ACTION_667 #undef ACTION_668 #undef ACTION_669 #undef ACTION_670 #undef ACTION_671 #undef ACTION_672 #undef ACTION_673 #undef ACTION_674 #undef ACTION_675 #undef ACTION_676 #undef ACTION_677 #undef ACTION_678 #undef ACTION_679 #undef ACTION_680 #undef ACTION_681 #undef ACTION_682 #undef ACTION_683 #undef ACTION_684 #undef ACTION_685 #undef ACTION_686 #undef ACTION_687 #undef ACTION_688 #undef ACTION_689 #undef ACTION_690 #undef ACTION_691 #undef ACTION_692 #undef ACTION_693 #undef ACTION_694 #undef ACTION_695 #undef ACTION_696 #undef ACTION_697 #undef ACTION_698 #undef ACTION_699 #undef ACTION_700 #undef ACTION_701 #undef ACTION_702 #undef ACTION_703 #undef ACTION_704 #undef ACTION_705 #undef ACTION_706 #undef ACTION_707 #undef ACTION_708 #undef ACTION_709 #undef ACTION_710 #undef ACTION_711 #undef ACTION_712 #undef ACTION_713 #undef ACTION_714 #undef ACTION_715 #undef ACTION_716 #undef ACTION_717 #undef ACTION_718 #undef ACTION_719 #undef ACTION_720 #undef ACTION_721 #undef ACTION_722 #undef ACTION_723 #undef ACTION_724 #undef ACTION_725 #undef ACTION_726 #undef ACTION_727 #undef ACTION_728 #undef ACTION_729 #undef ACTION_730 #undef ACTION_731 #undef ACTION_732 #undef ACTION_733 #undef ACTION_734 #undef ACTION_735 #undef ACTION_736 #undef ACTION_737 #undef ACTION_738 #undef ACTION_739 #undef ACTION_740 #undef ACTION_741 #undef ACTION_742 #undef ACTION_743 #undef ACTION_744 #undef ACTION_745 #undef ACTION_746 #undef ACTION_747 #undef ACTION_748 #undef ACTION_749 #undef ACTION_750 #undef ACTION_751 #undef ACTION_752 #undef ACTION_753 #undef ACTION_754 #undef ACTION_755 #undef ACTION_756 #undef ACTION_757 #undef ACTION_758 #undef ACTION_759 #undef ACTION_760 #undef ACTION_761 #undef ACTION_762 #undef ACTION_763 #undef ACTION_764 #undef ACTION_765 #undef ACTION_766 #undef ACTION_767 #undef ACTION_768 #undef ACTION_769 #undef ACTION_770 #undef ACTION_771 #undef ACTION_772 #undef ACTION_773 #undef ACTION_774 #undef ACTION_775 #undef ACTION_776 #undef ACTION_777 #undef ACTION_778 #undef ACTION_779 #undef ACTION_780 #undef ACTION_781 #undef ACTION_782 #undef ACTION_783 #undef ACTION_784 #undef ACTION_785 #undef ACTION_786 #undef ACTION_787 #undef ACTION_788 #undef ACTION_789 #undef ACTION_790 #undef ACTION_791 #undef ACTION_792 #undef ACTION_793 #undef ACTION_794 #undef ACTION_795 #undef ACTION_796 #undef ACTION_797 #undef ACTION_798 #undef ACTION_799 #undef ACTION_800 #undef ACTION_801 #undef ACTION_802 #undef ACTION_803 #undef ACTION_804 #undef ACTION_805 #undef ACTION_806 #undef ACTION_807 #undef ACTION_808 #undef ACTION_809 #undef ACTION_810 #undef ACTION_811 #undef ACTION_812 #undef ACTION_813 #undef ACTION_814 #undef ACTION_815 #undef ACTION_816 #undef ACTION_817 #undef ACTION_818 #undef ACTION_819 #undef ACTION_820 #undef ACTION_821 #undef ACTION_822 #undef ACTION_823 #undef ACTION_824 #undef ACTION_825 #undef ACTION_826 #undef ACTION_827 #undef ACTION_828 #undef ACTION_829 #undef ACTION_830 #undef ACTION_831 #undef ACTION_832 #undef ACTION_833 #undef ACTION_834 #undef ACTION_835 #undef ACTION_836 #undef ACTION_837 #undef ACTION_838 #undef ACTION_839 #undef ACTION_840 #undef ACTION_841 #undef ACTION_842 #undef ACTION_843 #undef ACTION_844 #undef ACTION_845 #undef ACTION_846 #undef ACTION_847 #undef ACTION_848 #undef ACTION_849 #undef ACTION_850 #undef ACTION_851 #undef ACTION_852 #undef ACTION_853 #undef ACTION_854 #undef ACTION_855 #undef ACTION_856 #undef ACTION_857 #undef ACTION_858 #undef ACTION_859 #undef ACTION_860 #undef ACTION_861 #undef ACTION_862 #undef ACTION_863 #undef ACTION_864 #undef ACTION_865 #undef ACTION_866 #undef ACTION_867 #undef ACTION_868 #undef ACTION_869 #undef ACTION_870 #undef ACTION_871 #undef ACTION_872 #undef ACTION_873 #undef ACTION_874 #undef ACTION_875 #undef ACTION_876 #undef ACTION_877 #undef ACTION_878 #undef ACTION_879 #undef ACTION_880 #undef ACTION_881 #undef ACTION_882 #undef ACTION_883 #undef ACTION_884 #undef ACTION_885 #undef ACTION_886 #undef ACTION_887 #undef ACTION_888 #undef ACTION_889 #undef ACTION_890 #undef ACTION_891 #undef ACTION_892 #undef ACTION_893 #undef ACTION_894 #undef ACTION_895 #undef ACTION_896 #undef ACTION_897 #undef ACTION_898 #undef ACTION_899 #undef ACTION_900 #undef ACTION_901 #undef ACTION_902 #undef ACTION_903 #undef ACTION_904 #undef ACTION_905 #undef ACTION_906 #undef ACTION_907 #undef ACTION_908 #undef ACTION_909 #undef ACTION_910 #undef ACTION_911 #undef ACTION_912 #undef ACTION_913 #undef ACTION_914 #undef ACTION_915 #undef ACTION_916 #undef ACTION_917 #undef ACTION_918 #undef ACTION_919 #undef ACTION_920 #undef ACTION_921 #undef ACTION_922 #undef ACTION_923 #undef ACTION_924 #undef ACTION_925 #undef ACTION_926 #undef ACTION_927 #undef ACTION_928 #undef ACTION_929 #undef ACTION_930 #undef ACTION_931 #undef ACTION_932 #undef ACTION_933 #undef ACTION_934 #undef ACTION_935 #undef ACTION_936 #undef ACTION_937 #undef ACTION_938 #undef ACTION_939 #undef ACTION_940 #undef ACTION_941 #undef ACTION_942 #undef ACTION_943 #undef ACTION_944 #undef ACTION_945 #undef ACTION_946 #undef ACTION_947 #undef ACTION_948 #undef ACTION_949 #undef ACTION_950 #undef ACTION_951 #undef ACTION_952 #undef ACTION_953 #undef ACTION_954 #undef ACTION_955 #undef ACTION_956 #undef ACTION_957 #undef ACTION_958 #undef ACTION_959 #undef ACTION_960 #undef ACTION_961 #undef ACTION_962 #undef ACTION_963 #undef ACTION_964 #undef ACTION_965 #undef ACTION_966 #undef ACTION_967 #undef ACTION_968 #undef ACTION_969 #undef ACTION_970 #undef ACTION_971 #undef ACTION_972 #undef ACTION_973 #undef ACTION_974 #undef ACTION_975 #undef ACTION_976 #undef ACTION_977 #undef ACTION_978 #undef ACTION_979 #undef ACTION_980 #undef ACTION_981 #undef ACTION_982 #undef ACTION_983 #undef ACTION_984 #undef ACTION_985 #undef ACTION_986 #undef ACTION_987 #undef ACTION_988 #undef ACTION_989 #undef ACTION_990 #undef ACTION_991 #undef ACTION_992 #undef ACTION_993 #undef ACTION_994 #undef ACTION_995 #undef ACTION_996 #undef ACTION_997 #undef ACTION_998 #undef ACTION_999 #undef ACTION_1000 #undef ACTION_1001 #undef ACTION_1002 #undef ACTION_1003 #undef ACTION_1004 #undef ACTION_1005 #undef ACTION_1006 #undef ACTION_1007 #undef ACTION_1008 #undef ACTION_1009 #undef ACTION_1010 #undef ACTION_1011 #undef ACTION_1012 #undef ACTION_1013 #undef ACTION_1014 #undef ACTION_1015 #undef ACTION_1016 #undef ACTION_1017 #undef ACTION_1018 #undef ACTION_1019 #undef ACTION_1020 #undef ACTION_1021 #undef ACTION_1022 #undef ACTION_1023 #undef ACTION_1024 #undef ACTION_1025 #undef ACTION_1026 #undef ACTION_1027 #undef ACTION_1028 #undef ACTION_1029 #undef ACTION_1030 #undef ACTION_1031 #undef ACTION_1032 #undef ACTION_1033 #undef ACTION_1034 #undef ACTION_1035 #undef ACTION_1036 #undef ACTION_1037 #undef ACTION_1038 #undef ACTION_1039 #undef ACTION_1040 #undef ACTION_1041 #undef ACTION_1042 #undef ACTION_1043 #undef ACTION_1044 #undef ACTION_1045 #undef ACTION_1046 #undef ACTION_1047 #undef ACTION_1048 #undef ACTION_1049 #undef ACTION_1050 #undef ACTION_1051 #undef ACTION_1052 #undef ACTION_1053 #undef ACTION_1054 #undef ACTION_1055 #undef ACTION_1056 #undef ACTION_1057 #undef ACTION_1058 #undef ACTION_1059 #undef ACTION_1060 #undef ACTION_1061 #undef ACTION_1062 #undef ACTION_1063 #undef ACTION_1064 #undef ACTION_1065 #undef ACTION_1066 #undef ACTION_1067 #undef ACTION_1068 #undef ACTION_1069 #undef ACTION_1070 #undef ACTION_1071 #undef ACTION_1072 #undef ACTION_1073 #undef ACTION_1074 #undef ACTION_1075 #undef ACTION_1076 #undef ACTION_1077 #undef ACTION_1078 #undef ACTION_1079 #undef ACTION_1080 #undef ACTION_1081 #undef ACTION_1082 #undef ACTION_1083 #undef ACTION_1084 #undef ACTION_1085 #undef ACTION_1086 #undef ACTION_1087 #undef ACTION_1088 #undef ACTION_1089 #undef ACTION_1090 #undef ACTION_1091 #undef ACTION_1092 #undef ACTION_1093 #undef ACTION_1094 #undef ACTION_1095 #undef ACTION_1096 #undef ACTION_1097 #undef ACTION_1098 #undef ACTION_1099 #undef ACTION_1100 #undef ACTION_1101 #undef ACTION_1102 #undef ACTION_1103 #undef ACTION_1104 #undef ACTION_1105 #undef ACTION_1106 #undef ACTION_1107 #undef ACTION_1108 #undef ACTION_1109 #undef ACTION_1110 #undef ACTION_1111 #undef ACTION_1112 #undef ACTION_1113 #undef ACTION_1114 #undef ACTION_1115 #undef ACTION_1116 #undef ACTION_1117 #undef ACTION_1118 #undef ACTION_1119 #undef ACTION_1120 #undef ACTION_1121 #undef ACTION_1122 #undef ACTION_1123 #undef ACTION_1124 #undef ACTION_1125 #undef ACTION_1126 #undef ACTION_1127 #undef ACTION_1128 #undef ACTION_1129 #undef ACTION_1130 #undef ACTION_1131 #undef ACTION_1132 #undef ACTION_1133 #undef ACTION_1134 #undef ACTION_1135 #undef ACTION_1136 #undef ACTION_1137 #undef ACTION_1138 #undef ACTION_1139 #undef ACTION_1140 #undef ACTION_1141 #undef ACTION_1142 #undef ACTION_1143 #undef ACTION_1144 #undef ACTION_1145 #undef ACTION_1146 #undef ACTION_1147 #undef ACTION_1148 #undef ACTION_1149 #undef ACTION_1150 #undef ACTION_1151 #undef ACTION_1152 #undef ACTION_1153 #undef ACTION_1154 #undef ACTION_1155 #undef ACTION_1156 #undef ACTION_1157 #undef ACTION_1158 #undef ACTION_1159 #undef ACTION_1160 #undef ACTION_1161 #undef ACTION_1162 #undef ACTION_1163 #undef ACTION_1164 #undef ACTION_1165 #undef ACTION_1166 #undef ACTION_1167 #undef ACTION_1168 #undef ACTION_1169 #undef ACTION_1170 #undef ACTION_1171 #undef ACTION_1172 #undef ACTION_1173 #undef ACTION_1174 #undef ACTION_1175 #undef ACTION_1176 #undef ACTION_1177 #undef ACTION_1178 #undef ACTION_1179 #undef ACTION_1180 #undef ACTION_1181 #undef ACTION_1182 #undef ACTION_1183 #undef ACTION_1184 #undef ACTION_1185 #undef ACTION_1186 #undef ACTION_1187 #undef ACTION_1188 #undef ACTION_1189 #undef ACTION_1190 #undef ACTION_1191 #undef ACTION_1192 #undef ACTION_1193 #undef ACTION_1194 #undef ACTION_1195 #undef ACTION_1196 #undef ACTION_1197 #undef ACTION_1198 #undef ACTION_1199 #undef ACTION_1200 #undef ACTION_1201 #undef ACTION_1202 #undef ACTION_1203 #undef ACTION_1204 #undef ACTION_1205 #undef ACTION_1206 #undef ACTION_1207 #undef ACTION_1208 #undef ACTION_1209 #undef ACTION_1210 #undef ACTION_1211 #undef ACTION_1212 #undef ACTION_1213 #undef ACTION_1214 #undef ACTION_1215 #undef ACTION_1216 #undef ACTION_1217 #undef ACTION_1218 #undef ACTION_1219 #undef ACTION_1220 #undef ACTION_1221 #undef ACTION_1222 #undef ACTION_1223 #undef ACTION_1224 #undef ACTION_1225 #undef ACTION_1226 #undef ACTION_1227 #undef ACTION_1228 #undef ACTION_1229 #undef ACTION_1230 #undef ACTION_1231 #undef ACTION_1232 #undef ACTION_1233 #undef ACTION_1234 #undef ACTION_1235 #undef ACTION_1236 #undef ACTION_1237 #undef ACTION_1238 #undef ACTION_1239 #undef ACTION_1240 #undef ACTION_1241 #undef ACTION_1242 #undef ACTION_1243 #undef ACTION_1244 #undef ACTION_1245 #undef ACTION_1246 #undef ACTION_1247 #undef ACTION_1248 #undef ACTION_1249 #undef ACTION_1250 #undef ACTION_1251 #undef ACTION_1252 #undef ACTION_1253 #undef ACTION_1254 #undef ACTION_1255 #undef ACTION_1256 #undef ACTION_1257 #undef ACTION_1258 #undef ACTION_1259 #undef ACTION_1260 #undef ACTION_1261 #undef ACTION_1262 #undef ACTION_1263 #undef ACTION_1264 #undef ACTION_1265 #undef ACTION_1266 #undef ACTION_1267 #undef ACTION_1268 #undef ACTION_1269 #undef ACTION_1270 #undef ACTION_1271 #undef ACTION_1272 #undef ACTION_1273 #undef ACTION_1274 #undef ACTION_1275 #undef ACTION_1276 #undef ACTION_1277 #undef ACTION_1278 #undef ACTION_1279 #undef ACTION_1280 #undef ACTION_1281 #undef ACTION_1282 #undef ACTION_1283 #undef ACTION_1284 #undef ACTION_1285 #undef ACTION_1286 #undef ACTION_1287 #undef ACTION_1288 #undef ACTION_1289 #undef ACTION_1290 #undef ACTION_1291 #undef ACTION_1292 #undef ACTION_1293 #undef ACTION_1294 #undef ACTION_1295 #undef ACTION_1296 #undef ACTION_1297 #undef ACTION_1298 #undef ACTION_1299 #undef ACTION_1300 #undef ACTION_1301 #undef ACTION_1302 #undef ACTION_1303 #undef ACTION_1304 #undef ACTION_1305 #undef ACTION_1306 #undef ACTION_1307 #undef ACTION_1308 #undef ACTION_1309 #undef ACTION_1310 #undef ACTION_1311 #undef ACTION_1312 #undef ACTION_1313 #undef ACTION_1314 #undef ACTION_1315 #undef ACTION_1316 #undef ACTION_1317 #undef ACTION_1318 #undef ACTION_1319 #undef ACTION_1320 #undef ACTION_1321 #undef ACTION_1322 #undef ACTION_1323 #undef ACTION_1324 #undef ACTION_1325 #undef ACTION_1326 #undef ACTION_1327 #undef ACTION_1328 #undef ACTION_1329 #undef ACTION_1330 #undef ACTION_1331 #undef ACTION_1332 #undef ACTION_1333 #undef ACTION_1334 #undef ACTION_1335 #undef ACTION_1336 #undef ACTION_1337 #undef ACTION_1338 #undef ACTION_1339 #undef ACTION_1340 #undef ACTION_1341 #undef ACTION_1342 #undef ACTION_1343 #undef ACTION_1344 #undef ACTION_1345 #undef ACTION_1346 #undef ACTION_1347 #undef ACTION_1348 #undef ACTION_1349 #undef ACTION_1350 #undef ACTION_1351 #undef ACTION_1352 #undef ACTION_1353 #undef ACTION_1354 #undef ACTION_1355 #undef ACTION_1356 #undef ACTION_1357 #undef ACTION_1358 #undef ACTION_1359 #undef ACTION_1360 #undef ACTION_1361 #undef ACTION_1362 #undef ACTION_1363 #undef ACTION_1364 #undef ACTION_1365 #undef ACTION_1366 #undef ACTION_1367 #undef ACTION_1368 #undef ACTION_1369 #undef ACTION_1370 #undef ACTION_1371 #undef ACTION_1372 #undef ACTION_1373 #undef ACTION_1374 #undef ACTION_1375 #undef ACTION_1376 #undef ACTION_1377 #undef ACTION_1378 #undef ACTION_1379 #undef ACTION_1380 #undef ACTION_1381 #undef ACTION_1382 #undef ACTION_1383 #undef ACTION_1384 #undef ACTION_1385 #undef ACTION_1386 #undef ACTION_1387 #undef ACTION_1388 #undef ACTION_1389 #undef ACTION_1390 #undef ACTION_1391 #undef ACTION_1392 #undef ACTION_1393 #undef ACTION_1394 #undef ACTION_1395 #undef ACTION_1396 #undef ACTION_1397 #undef ACTION_1398 #undef ACTION_1399 #undef ACTION_1400 #undef ACTION_1401 #undef ACTION_1402 #undef ACTION_1403 #undef ACTION_1404 #undef ACTION_1405 #undef ACTION_1406 #undef ACTION_1407 #undef ACTION_1408 #undef ACTION_1409 #undef ACTION_1410 #undef ACTION_1411 #undef ACTION_1412 #undef ACTION_1413 #undef ACTION_1414 #undef ACTION_1415 #undef ACTION_1416 #undef ACTION_1417 #undef ACTION_1418 #undef ACTION_1419 #undef ACTION_1420 #undef ACTION_1421 #undef ACTION_1422 #undef ACTION_1423 #undef ACTION_1424 #undef ACTION_1425 #undef ACTION_1426 #undef ACTION_1427 #undef ACTION_1428 #undef ACTION_1429 #undef ACTION_1430 #undef ACTION_1431 #undef ACTION_1432 #undef ACTION_1433 #undef ACTION_1434 #undef ACTION_1435 #undef ACTION_1436 #undef ACTION_1437 #undef ACTION_1438 #undef ACTION_1439 #undef ACTION_1440 #undef ACTION_1441 #undef ACTION_1442 #undef ACTION_1443 #undef ACTION_1444 #undef ACTION_1445 #undef ACTION_1446 #undef ACTION_1447 #undef ACTION_1448 #undef ACTION_1449 #undef ACTION_1450 #undef ACTION_1451 #undef ACTION_1452 #undef ACTION_1453 #undef ACTION_1454 #undef ACTION_1455 #undef ACTION_1456 #undef ACTION_1457 #undef ACTION_1458 #undef ACTION_1459 #undef ACTION_1460 #undef ACTION_1461 #undef ACTION_1462 #undef ACTION_1463 #undef ACTION_1464 #undef ACTION_1465 #undef ACTION_1466 #undef ACTION_1467 #undef ACTION_1468 #undef ACTION_1469 #undef ACTION_1470 #undef ACTION_1471 #undef ACTION_1472 #undef ACTION_1473 #undef ACTION_1474 #undef ACTION_1475 #undef ACTION_1476 #undef ACTION_1477 #undef ACTION_1478 #undef ACTION_1479 #undef ACTION_1480 #undef ACTION_1481 #undef ACTION_1482 #undef ACTION_1483 #undef ACTION_1484 #undef ACTION_1485 #undef ACTION_1486 #undef ACTION_1487 #undef ACTION_1488 #undef ACTION_1489 #undef ACTION_1490 #undef ACTION_1491 #undef ACTION_1492 #undef ACTION_1493 #undef ACTION_1494 #undef ACTION_1495 #undef ACTION_1496 #undef ACTION_1497 #undef ACTION_1498 #undef ACTION_1499 #undef ACTION_1500 #undef ACTION_1501 #undef ACTION_1502 #undef ACTION_1503 #undef ACTION_1504 #undef ACTION_1505 #undef ACTION_1506 #undef ACTION_1507 #undef ACTION_1508 #undef ACTION_1509 #undef ACTION_1510 #undef ACTION_1511 #undef ACTION_1512 #undef ACTION_1513 #undef ACTION_1514 #undef ACTION_1515 #undef ACTION_1516 #undef ACTION_1517 #undef ACTION_1518 #undef ACTION_1519 #undef ACTION_1520 #undef ACTION_1521 #undef ACTION_1522 #undef ACTION_1523 #undef ACTION_1524 #undef ACTION_1525 #undef ACTION_1526 #undef ACTION_1527 #undef ACTION_1528 #undef ACTION_1529 #undef ACTION_1530 #undef ACTION_1531 #undef ACTION_1532 #undef ACTION_1533 #undef ACTION_1534 #undef ACTION_1535 #undef ACTION_1536 #undef ACTION_1537 #undef ACTION_1538 #undef ACTION_1539 #undef ACTION_1540 #undef ACTION_1541 #undef ACTION_1542 #undef ACTION_1543 #undef ACTION_1544 #undef ACTION_1545 #undef ACTION_1546 #undef ACTION_1547 #undef ACTION_1548 #undef ACTION_1549 #undef ACTION_1550 #undef ACTION_1551 #undef ACTION_1552 #undef ACTION_1553 #undef ACTION_1554 #undef ACTION_1555 #undef ACTION_1556 #undef ACTION_1557 #undef ACTION_1558 #undef ACTION_1559 #undef ACTION_1560 #undef ACTION_1561 #undef ACTION_1562 #undef ACTION_1563 #undef ACTION_1564 #undef ACTION_1565 #undef ACTION_1566 #undef ACTION_1567 #undef ACTION_1568 #undef ACTION_1569 #undef ACTION_1570 #undef ACTION_1571 #undef ACTION_1572 #undef ACTION_1573 #undef ACTION_1574 #undef ACTION_1575 #undef ACTION_1576 #undef ACTION_1577 #undef ACTION_1578 #undef ACTION_1579 #undef ACTION_1580 #undef ACTION_1581 #undef ACTION_1582 #undef ACTION_1583 #undef ACTION_1584 #undef ACTION_1585 #undef ACTION_1586 #undef ACTION_1587 #undef ACTION_1588 #undef ACTION_1589 #undef ACTION_1590 #undef ACTION_1591 #undef ACTION_1592 #undef ACTION_1593 #undef ACTION_1594 #undef ACTION_1595 #undef ACTION_1596 #undef ACTION_1597 #undef ACTION_1598 #undef ACTION_1599 #undef ACTION_1600 #undef ACTION_1601 #undef ACTION_1602 #undef ACTION_1603 #undef ACTION_1604 #undef ACTION_1605 #undef ACTION_1606 #undef ACTION_1607 #undef ACTION_1608 #undef ACTION_1609 #undef ACTION_1610 #undef ACTION_1611 #undef ACTION_1612 #undef ACTION_1613 #undef ACTION_1614 #undef ACTION_1615 #undef ACTION_1616 #undef ACTION_1617 #undef ACTION_1618 #undef ACTION_1619 #undef ACTION_1620 #undef ACTION_1621 #undef ACTION_1622 #undef ACTION_1623 #undef ACTION_1624 #undef ACTION_1625 #undef ACTION_1626 #undef ACTION_1627 #undef ACTION_1628 #undef ACTION_1629 #undef ACTION_1630 #undef ACTION_1631 #undef ACTION_1632 #undef ACTION_1633 #undef ACTION_1634 #undef ACTION_1635 #undef ACTION_1636 #undef ACTION_1637 #undef ACTION_1638 #undef ACTION_1639 #undef ACTION_1640 #undef ACTION_1641 #undef ACTION_1642 #undef ACTION_1643 #undef ACTION_1644 #undef ACTION_1645 #undef ACTION_1646 #undef ACTION_1647 #undef ACTION_1648 #undef ACTION_1649 #undef ACTION_1650 #undef ACTION_1651 #undef ACTION_1652 #undef ACTION_1653 #undef ACTION_1654 #undef ACTION_1655 #undef ACTION_1656 #undef ACTION_1657 #undef ACTION_1658 #undef ACTION_1659 #undef ACTION_1660 #undef ACTION_1661 #undef ACTION_1662 #undef ACTION_1663 #undef ACTION_1664 #undef ACTION_1665 #undef ACTION_1666 #undef ACTION_1667 #undef ACTION_1668 #undef ACTION_1669 #undef ACTION_1670 #undef ACTION_1671 #undef ACTION_1672 #undef ACTION_1673 #undef ACTION_1674 #undef ACTION_1675 #undef ACTION_1676 #undef ACTION_1677 #undef ACTION_1678 #undef ACTION_1679 #undef ACTION_1680 #undef ACTION_1681 #undef ACTION_1682 #undef ACTION_1683 #undef ACTION_1684 #undef ACTION_1685 #undef ACTION_1686 #undef ACTION_1687 #undef ACTION_1688 #undef ACTION_1689 #undef ACTION_1690 #undef ACTION_1691 #undef ACTION_1692 #undef ACTION_1693 #undef ACTION_1694 #undef ACTION_1695 #undef ACTION_1696 #undef ACTION_1697 #undef ACTION_1698 #undef ACTION_1699 #undef ACTION_1700 #undef ACTION_1701 #undef ACTION_1702 #undef ACTION_1703 #undef ACTION_1704 #undef ACTION_1705 #undef ACTION_1706 #undef ACTION_1707 #undef ACTION_1708 #undef ACTION_1709 #undef ACTION_1710 #undef ACTION_1711 #undef ACTION_1712 #undef ACTION_1713 #undef ACTION_1714 #undef ACTION_1715 #undef ACTION_1716 #undef ACTION_1717 #undef ACTION_1718 #undef ACTION_1719 #undef ACTION_1720 #undef ACTION_1721 #undef ACTION_1722 #undef ACTION_1723 #undef ACTION_1724 #undef ACTION_1725 #undef ACTION_1726 #undef ACTION_1727 #undef ACTION_1728 #undef ACTION_1729 #undef ACTION_1730 #undef ACTION_1731 #undef ACTION_1732 #undef ACTION_1733 #undef ACTION_1734 #undef ACTION_1735 #undef ACTION_1736 #undef ACTION_1737 #undef ACTION_1738 #undef ACTION_1739 #undef ACTION_1740 #undef ACTION_1741 #undef ACTION_1742 #undef ACTION_1743 #undef ACTION_1744 #undef ACTION_1745 #undef ACTION_1746 #undef ACTION_1747 #undef ACTION_1748 #undef ACTION_1749 #undef ACTION_1750 #undef ACTION_1751 #undef ACTION_1752 #undef ACTION_1753 #undef ACTION_1754 #undef ACTION_1755 #undef ACTION_1756 #undef ACTION_1757 #undef ACTION_1758 #undef ACTION_1759 #undef ACTION_1760 #undef ACTION_1761 #undef ACTION_1762 #undef ACTION_1763 #undef ACTION_1764 #undef ACTION_1765 #undef ACTION_1766 #undef ACTION_1767 #undef ACTION_1768 #undef ACTION_1769 #undef ACTION_1770 #undef ACTION_1771 #undef ACTION_1772 #undef ACTION_1773 #undef ACTION_1774 #undef ACTION_1775 #undef ACTION_1776 #undef ACTION_1777 #undef ACTION_1778 #undef ACTION_1779 #undef ACTION_1780 #undef ACTION_1781 #undef ACTION_1782 #undef ACTION_1783 #undef ACTION_1784 #undef ACTION_1785 #undef ACTION_1786 #undef ACTION_1787 #undef ACTION_1788 #undef ACTION_1789 #undef ACTION_1790 #undef ACTION_1791 #undef ACTION_1792 #undef ACTION_1793 #undef ACTION_1794 #undef ACTION_1795 #undef ACTION_1796 #undef ACTION_1797 #undef ACTION_1798 #undef ACTION_1799 #undef ACTION_1800 #undef ACTION_1801 #undef ACTION_1802 #undef ACTION_1803 #undef ACTION_1804 #undef ACTION_1805 #undef ACTION_1806 #undef ACTION_1807 #undef ACTION_1808 #undef ACTION_1809 #undef ACTION_1810 #undef ACTION_1811 #undef ACTION_1812 #undef ACTION_1813 #undef ACTION_1814 #undef ACTION_1815 #undef ACTION_1816 #undef ACTION_1817 #undef ACTION_1818 #undef ACTION_1819 #undef ACTION_1820 #undef ACTION_1821 #undef ACTION_1822 #undef ACTION_1823 #undef ACTION_1824 #undef ACTION_1825 #undef ACTION_1826 #undef ACTION_1827 #undef ACTION_1828 #undef ACTION_1829 #undef ACTION_1830 #undef ACTION_1831 #undef ACTION_1832 #undef ACTION_1833 #undef ACTION_1834 #undef ACTION_1835 #undef ACTION_1836 #undef ACTION_1837 #undef ACTION_1838 #undef ACTION_1839 #undef ACTION_1840 #undef ACTION_1841 #undef ACTION_1842 #undef ACTION_1843 #undef ACTION_1844 #undef ACTION_1845 #undef ACTION_1846 #undef ACTION_1847 #undef ACTION_1848 #undef ACTION_1849 #undef ACTION_1850 #undef ACTION_1851 #undef ACTION_1852 #undef ACTION_1853 #undef ACTION_1854 #undef ACTION_1855 #undef ACTION_1856 #undef ACTION_1857 #undef ACTION_1858 #undef ACTION_1859 #undef ACTION_1860 #undef ACTION_1861 #undef ACTION_1862 #undef ACTION_1863 #undef ACTION_1864 #undef ACTION_1865 #undef ACTION_1866 #undef ACTION_1867 #undef ACTION_1868 #undef ACTION_1869 #undef ACTION_1870 #undef ACTION_1871 #undef ACTION_1872 #undef ACTION_1873 #undef ACTION_1874 #undef ACTION_1875 #undef ACTION_1876 #undef ACTION_1877 #undef ACTION_1878 #undef ACTION_1879 #undef ACTION_1880 #undef ACTION_1881 #undef ACTION_1882 #undef ACTION_1883 #undef ACTION_1884 #undef ACTION_1885 #undef ACTION_1886 #undef ACTION_1887 #undef ACTION_1888 #undef ACTION_1889 #undef ACTION_1890 #undef ACTION_1891 #undef ACTION_1892 #undef ACTION_1893 #undef ACTION_1894 #undef ACTION_1895 #undef ACTION_1896 #undef ACTION_1897 #undef ACTION_1898 #undef ACTION_1899 #undef ACTION_1900 #undef ACTION_1901 #undef ACTION_1902 #undef ACTION_1903 #undef ACTION_1904 #undef ACTION_1905 #undef ACTION_1906 #undef ACTION_1907 #undef ACTION_1908 #undef ACTION_1909 #undef ACTION_1910 #undef ACTION_1911 #undef ACTION_1912 #undef ACTION_1913 #undef ACTION_1914 #undef ACTION_1915 #undef ACTION_1916 #undef ACTION_1917 #undef ACTION_1918 #undef ACTION_1919 #undef ACTION_1920 #undef ACTION_1921 #undef ACTION_1922 #undef ACTION_1923 #undef ACTION_1924 #undef ACTION_1925 #undef ACTION_1926 #undef ACTION_1927 #undef ACTION_1928 #undef ACTION_1929 #undef ACTION_1930 #undef ACTION_1931 #undef ACTION_1932 #undef ACTION_1933 #undef ACTION_1934 #undef ACTION_1935 #undef ACTION_1936 #undef ACTION_1937 #undef ACTION_1938 #undef ACTION_1939 #undef ACTION_1940 #undef ACTION_1941 #undef ACTION_1942 #undef ACTION_1943 #undef ACTION_1944 #undef ACTION_1945 #undef ACTION_1946 #undef ACTION_1947 #undef ACTION_1948 #undef ACTION_1949 #undef ACTION_1950 #undef ACTION_1951 #undef ACTION_1952 #undef ACTION_1953 #undef ACTION_1954 #undef ACTION_1955 #undef ACTION_1956 #undef ACTION_1957 #undef ACTION_1958 #undef ACTION_1959 #undef ACTION_1960 #undef ACTION_1961 #undef ACTION_1962 #undef ACTION_1963 #undef ACTION_1964 #undef ACTION_1965 #undef ACTION_1966 #undef ACTION_1967 #undef ACTION_1968 #undef ACTION_1969 #undef ACTION_1970 #undef ACTION_1971 #undef ACTION_1972 #undef ACTION_1973 #undef ACTION_1974 #undef ACTION_1975 #undef ACTION_1976 #undef ACTION_1977 #undef ACTION_1978 #undef ACTION_1979 #undef ACTION_1980 #undef ACTION_1981 #undef ACTION_1982 #undef ACTION_1983 #undef ACTION_1984 #undef ACTION_1985 #undef ACTION_1986 #undef ACTION_1987 #undef ACTION_1988 #undef ACTION_1989 #undef ACTION_1990 #undef ACTION_1991 #undef ACTION_1992 #undef ACTION_1993 #undef ACTION_1994 #undef ACTION_1995 #undef ACTION_1996 #undef ACTION_1997 #undef ACTION_1998 #undef ACTION_1999 #undef ACTION_2000 #undef ACTION_2001 #undef ACTION_2002 #undef ACTION_2003 #undef ACTION_2004 #undef ACTION_2005 #undef ACTION_2006 #undef ACTION_2007 #undef ACTION_2008 #undef ACTION_2009 #undef ACTION_2010 #undef ACTION_2011 #undef ACTION_2012 #undef ACTION_2013 #undef ACTION_2014 #undef ACTION_2015 #undef ACTION_2016 #undef ACTION_2017 #undef ACTION_2018 #undef ACTION_2019 #undef ACTION_2020 #undef ACTION_2021 #undef ACTION_2022 #undef ACTION_2023 #undef ACTION_2024 #undef ACTION_2025 #undef ACTION_2026 #undef ACTION_2027 #undef ACTION_2028 #undef ACTION_2029 #undef ACTION_2030 #undef ACTION_2031 #undef ACTION_2032 #undef ACTION_2033 #undef ACTION_2034 #undef ACTION_2035 #undef ACTION_2036 #undef ACTION_2037 #undef ACTION_2038 #undef ACTION_2039 #undef ACTION_2040 #undef ACTION_2041 #undef ACTION_2042 #undef ACTION_2043 #undef ACTION_2044 #undef ACTION_2045 #undef ACTION_2046 #undef ACTION_2047 #undef ACTION_2048 #undef ACTION_2049 #undef ACTION_2050 #undef ACTION_2051 #undef ACTION_2052 #undef ACTION_2053 #undef ACTION_2054 #undef ACTION_2055 #undef ACTION_2056 #undef ACTION_2057 #undef ACTION_2058 #undef ACTION_2059 #undef ACTION_2060 #undef ACTION_2061 #undef ACTION_2062 #undef ACTION_2063 #undef ACTION_2064 #undef ACTION_2065 #undef ACTION_2066 #undef ACTION_2067 #undef ACTION_2068 #undef ACTION_2069 #undef ACTION_2070 #undef ACTION_2071 #undef ACTION_2072 #undef ACTION_2073 #undef ACTION_2074 #undef ACTION_2075 #undef ACTION_2076 #undef ACTION_2077 #undef ACTION_2078 #undef ACTION_2079 #undef ACTION_2080 #undef ACTION_2081 #undef ACTION_2082 #undef ACTION_2083 #undef ACTION_2084 #undef ACTION_2085 #undef ACTION_2086 #undef ACTION_2087 #undef ACTION_2088 #undef ACTION_2089 #undef ACTION_2090 #undef ACTION_2091 #undef ACTION_2092 #undef ACTION_2093 #undef ACTION_2094 #undef ACTION_2095 #undef ACTION_2096 #undef ACTION_2097 #undef ACTION_2098 #undef ACTION_2099 #undef ACTION_2100 #undef ACTION_2101 #undef ACTION_2102 #undef ACTION_2103 #undef ACTION_2104 #undef ACTION_2105 #undef ACTION_2106 #undef ACTION_2107 #undef ACTION_2108 #undef ACTION_2109 #undef ACTION_2110 #undef ACTION_2111 #undef ACTION_2112 #undef ACTION_2113 #undef ACTION_2114 #undef ACTION_2115 #undef ACTION_2116 #undef ACTION_2117 #undef ACTION_2118 #undef ACTION_2119 #undef ACTION_2120 #undef ACTION_2121 #undef ACTION_2122 #undef ACTION_2123 #undef ACTION_2124 #undef ACTION_2125 #undef ACTION_2126 #undef ACTION_2127 #undef ACTION_2128 #undef ACTION_2129 #undef ACTION_2130 #undef ACTION_2131 #undef ACTION_2132 #undef ACTION_2133 #undef ACTION_2134 #undef ACTION_2135 #undef ACTION_2136 #undef ACTION_2137 #undef ACTION_2138 #undef ACTION_2139 #undef ACTION_2140 #undef ACTION_2141 #undef ACTION_2142 #undef ACTION_2143 #undef ACTION_2144 #undef ACTION_2145 #undef ACTION_2146 #undef ACTION_2147 #undef ACTION_2148 #undef ACTION_2149 #undef ACTION_2150 #undef ACTION_2151 #undef ACTION_2152 #undef ACTION_2153 #undef ACTION_2154 #undef ACTION_2155 #undef ACTION_2156 #undef ACTION_2157 #undef ACTION_2158 #undef ACTION_2159 #undef ACTION_2160 #undef ACTION_2161 #undef ACTION_2162 #undef ACTION_2163 #undef ACTION_2164 #undef ACTION_2165 #undef ACTION_2166 #undef ACTION_2167 #undef ACTION_2168 #undef ACTION_2169 #undef ACTION_2170 #undef ACTION_2171 #undef ACTION_2172 #undef ACTION_2173 #undef ACTION_2174 #undef ACTION_2175 #undef ACTION_2176 #undef ACTION_2177 #undef ACTION_2178 #undef ACTION_2179 #undef ACTION_2180 #undef ACTION_2181 #undef ACTION_2182 #undef ACTION_2183 #undef ACTION_2184 #undef ACTION_2185 #undef ACTION_2186 #undef ACTION_2187 #undef ACTION_2188 #undef ACTION_2189 #undef ACTION_2190 #undef ACTION_2191 #undef ACTION_2192 #undef ACTION_2193 #undef ACTION_2194 #undef ACTION_2195 #undef ACTION_2196 #undef ACTION_2197 #undef ACTION_2198 #undef ACTION_2199 #undef ACTION_2200 #undef ACTION_2201 #undef ACTION_2202 #undef ACTION_2203 #undef ACTION_2204 #undef ACTION_2205 #undef ACTION_2206 #undef ACTION_2207 #undef ACTION_2208 #undef ACTION_2209 #undef ACTION_2210 #undef ACTION_2211 #undef ACTION_2212 #undef ACTION_2213 #undef ACTION_2214 #undef ACTION_2215 #undef ACTION_2216 #undef ACTION_2217 #undef ACTION_2218 #undef ACTION_2219 #undef ACTION_2220 #undef ACTION_2221 #undef ACTION_2222 #undef ACTION_2223 #undef ACTION_2224 #undef ACTION_2225 #undef ACTION_2226 #undef ACTION_2227 #undef ACTION_2228 #undef ACTION_2229 #undef ACTION_2230 #undef ACTION_2231 #undef ACTION_2232 #undef ACTION_2233 #undef ACTION_2234 #undef ACTION_2235 #undef ACTION_2236 #undef ACTION_2237 #undef ACTION_2238 #undef ACTION_2239 #undef ACTION_2240 #undef ACTION_2241 #undef ACTION_2242 #undef ACTION_2243 #undef ACTION_2244 #undef ACTION_2245 #undef ACTION_2246 #undef ACTION_2247 #undef ACTION_2248 #undef ACTION_2249 #undef ACTION_2250 #undef ACTION_2251 #undef ACTION_2252 #undef ACTION_2253 #undef ACTION_2254 #undef ACTION_2255 #undef ACTION_2256 #undef ACTION_2257 #undef ACTION_2258 #undef ACTION_2259 #undef ACTION_2260 #undef ACTION_2261 #undef ACTION_2262 #undef ACTION_2263 #undef ACTION_2264 #undef ACTION_2265 #undef ACTION_2266 #undef ACTION_2267 #undef ACTION_2268 #undef ACTION_2269 #undef ACTION_2270 #undef ACTION_2271 #undef ACTION_2272 #undef ACTION_2273 #undef ACTION_2274 #undef ACTION_2275 #undef ACTION_2276 #undef ACTION_2277 #undef ACTION_2278 #undef ACTION_2279 #undef ACTION_2280 #undef ACTION_2281 #undef ACTION_2282 #undef ACTION_2283 #undef ACTION_2284 #undef ACTION_2285 #undef ACTION_2286 #undef ACTION_2287 #undef ACTION_2288 #undef ACTION_2289 #undef ACTION_2290 #undef ACTION_2291 #undef ACTION_2292 #undef ACTION_2293 #undef ACTION_2294 #undef ACTION_2295 #undef ACTION_2296 #undef ACTION_2297 #undef ACTION_2298 #undef ACTION_2299 #undef ACTION_2300 #undef ACTION_2301 #undef ACTION_2302 #undef ACTION_2303 #undef ACTION_2304 #undef ACTION_2305 #undef ACTION_2306 #undef ACTION_2307 #undef ACTION_2308 #undef ACTION_2309 #undef ACTION_2310 #undef ACTION_2311 #undef ACTION_2312 #undef ACTION_2313 #undef ACTION_2314 #undef ACTION_2315 #undef ACTION_2316 #undef ACTION_2317 #undef ACTION_2318 #undef ACTION_2319 #undef ACTION_2320 #undef ACTION_2321 #undef ACTION_2322 #undef ACTION_2323 #undef ACTION_2324 #undef ACTION_2325 #undef ACTION_2326 #undef ACTION_2327 #undef ACTION_2328 #undef ACTION_2329 #undef ACTION_2330 #undef ACTION_2331 #undef ACTION_2332 #undef ACTION_2333 #undef ACTION_2334 #undef ACTION_2335 #undef ACTION_2336 #undef ACTION_2337 #undef ACTION_2338 #undef ACTION_2339 #undef ACTION_2340 #undef ACTION_2341 #undef ACTION_2342 #undef ACTION_2343 #undef ACTION_2344 #undef ACTION_2345 #undef ACTION_2346 #undef ACTION_2347 #undef ACTION_2348 #undef ACTION_2349 #undef ACTION_2350 #undef ACTION_2351 #undef ACTION_2352 #undef ACTION_2353 #undef ACTION_2354 #undef ACTION_2355 #undef ACTION_2356 #undef ACTION_2357 #undef ACTION_2358 #undef ACTION_2359 #undef ACTION_2360 #undef ACTION_2361 #undef ACTION_2362 #undef ACTION_2363 #undef ACTION_2364 #undef ACTION_2365 #undef ACTION_2366 #undef ACTION_2367 #undef ACTION_2368 #undef ACTION_2369 #undef ACTION_2370 #undef ACTION_2371 #undef ACTION_2372 #undef ACTION_2373 #undef ACTION_2374 #undef ACTION_2375 #undef ACTION_2376 #undef ACTION_2377 #undef ACTION_2378 #undef ACTION_2379 #undef ACTION_2380 #undef ACTION_2381 #undef ACTION_2382 #undef ACTION_2383 #undef ACTION_2384 #undef ACTION_2385 #undef ACTION_2386 #undef ACTION_2387 #undef ACTION_2388 #undef ACTION_2389 #undef ACTION_2390 #undef ACTION_2391 #undef ACTION_2392 #undef ACTION_2393 #undef ACTION_2394 #undef ACTION_2395 #undef ACTION_2396 #undef ACTION_2397 #undef ACTION_2398 #undef ACTION_2399 #undef ACTION_2400 #undef ACTION_2401 #undef ACTION_2402 #undef ACTION_2403 #undef ACTION_2404 #undef ACTION_2405 #undef ACTION_2406 #undef ACTION_2407 #undef ACTION_2408 #undef ACTION_2409 #undef ACTION_2410 #undef ACTION_2411 #undef ACTION_2412 #undef ACTION_2413 #undef ACTION_2414 #undef ACTION_2415 #undef ACTION_2416 #undef ACTION_2417 #undef ACTION_2418 #undef ACTION_2419 #undef ACTION_2420 #undef ACTION_2421 #undef ACTION_2422 #undef ACTION_2423 #undef ACTION_2424 #undef ACTION_2425 #undef ACTION_2426 #undef ACTION_2427 #undef ACTION_2428 #undef ACTION_2429 #undef ACTION_2430 #undef ACTION_2431 #undef ACTION_2432 #undef ACTION_2433 #undef ACTION_2434 #undef ACTION_2435 #undef ACTION_2436 #undef ACTION_2437 #undef ACTION_2438 #undef ACTION_2439 #undef ACTION_2440 #undef ACTION_2441 #undef ACTION_2442 #undef ACTION_2443 #undef ACTION_2444 #undef ACTION_2445 #undef ACTION_2446 #undef ACTION_2447 #undef ACTION_2448 #undef ACTION_2449 #undef ACTION_2450 #undef ACTION_2451 #undef ACTION_2452 #undef ACTION_2453 #undef ACTION_2454 #undef ACTION_2455 #undef ACTION_2456 #undef ACTION_2457 #undef ACTION_2458 #undef ACTION_2459 #undef ACTION_2460 #undef ACTION_2461 #undef ACTION_2462 #undef ACTION_2463 #undef ACTION_2464 #undef ACTION_2465 #undef ACTION_2466 #undef ACTION_2467 #undef ACTION_2468 #undef ACTION_2469 #undef ACTION_2470 #undef ACTION_2471 #undef ACTION_2472 #undef ACTION_2473 #undef ACTION_2474 #undef ACTION_2475 #undef ACTION_2476 #undef ACTION_2477 #undef ACTION_2478 #undef ACTION_2479 #undef ACTION_2480 #undef ACTION_2481 #undef ACTION_2482 #undef ACTION_2483 #undef ACTION_2484 #undef ACTION_2485 #undef ACTION_2486 #undef ACTION_2487 #undef ACTION_2488 #undef ACTION_2489 #undef ACTION_2490 #undef ACTION_2491 #undef ACTION_2492 #undef ACTION_2493 #undef ACTION_2494 #undef ACTION_2495 #undef ACTION_2496 #undef ACTION_2497 #undef ACTION_2498 #undef ACTION_2499 #undef ACTION_2500 #undef ACTION_2501 #undef ACTION_2502 #undef ACTION_2503 #undef ACTION_2504 #undef ACTION_2505 #undef ACTION_2506 #undef ACTION_2507 #undef ACTION_2508 #undef ACTION_2509 #undef ACTION_2510 #undef ACTION_2511 #undef ACTION_2512 #undef ACTION_2513 #undef ACTION_2514 #undef ACTION_2515 #undef ACTION_2516 #undef ACTION_2517 #undef ACTION_2518 #undef ACTION_2519 #undef ACTION_2520 #undef ACTION_2521 #undef ACTION_2522 #undef ACTION_2523 #undef ACTION_2524 #undef ACTION_2525 #undef ACTION_2526 #undef ACTION_2527 #undef ACTION_2528 #undef ACTION_2529 #undef ACTION_2530 #undef ACTION_2531 #undef ACTION_2532 #undef ACTION_2533 #undef ACTION_2534 #undef ACTION_2535 #undef ACTION_2536 #undef ACTION_2537 #undef ACTION_2538 #undef ACTION_2539 #undef ACTION_2540 #undef ACTION_2541 #undef ACTION_2542 #undef ACTION_2543 #undef ACTION_2544 #undef ACTION_2545 #undef ACTION_2546 #undef ACTION_2547 #undef ACTION_2548 #undef ACTION_2549 #undef ACTION_2550 #undef ACTION_2551 #undef ACTION_2552 #undef ACTION_2553 #undef ACTION_2554 #undef ACTION_2555 #undef ACTION_2556 #undef ACTION_2557 #undef ACTION_2558 #undef ACTION_2559 #undef ACTION_2560 #undef ACTION_2561 #undef ACTION_2562 #undef ACTION_2563 #undef ACTION_2564 #undef ACTION_2565 #undef ACTION_2566 #undef ACTION_2567 #undef ACTION_2568 #undef ACTION_2569 #undef ACTION_2570 #undef ACTION_2571 #undef ACTION_2572 #undef ACTION_2573 #undef ACTION_2574 #undef ACTION_2575 #undef ACTION_2576 #undef ACTION_2577 #undef ACTION_2578 #undef ACTION_2579 #undef ACTION_2580 #undef ACTION_2581 #undef ACTION_2582 #undef ACTION_2583 #undef ACTION_2584 #undef ACTION_2585 #undef ACTION_2586 #undef ACTION_2587 #undef ACTION_2588 #undef ACTION_2589 #undef ACTION_2590 #undef ACTION_2591 #undef ACTION_2592 #undef ACTION_2593 #undef ACTION_2594 #undef ACTION_2595 #undef ACTION_2596 #undef ACTION_2597 #undef ACTION_2598 #undef ACTION_2599 #undef ACTION_2600 #undef ACTION_2601 #undef ACTION_2602 #undef ACTION_2603 #undef ACTION_2604 #undef ACTION_2605 #undef ACTION_2606 #undef ACTION_2607 #undef ACTION_2608 #undef ACTION_2609 #undef ACTION_2610 #undef ACTION_2611 #undef ACTION_2612 #undef ACTION_2613 #undef ACTION_2614 #undef ACTION_2615 #undef ACTION_2616 #undef ACTION_2617 #undef ACTION_2618 #undef ACTION_2619 #undef ACTION_2620 #undef ACTION_2621 #undef ACTION_2622 #undef ACTION_2623 #undef ACTION_2624 #undef ACTION_2625 #undef ACTION_2626 #undef ACTION_2627 #undef ACTION_2628 #undef ACTION_2629 #undef ACTION_2630 #undef ACTION_2631 #undef ACTION_2632 #undef ACTION_2633 #undef ACTION_2634 #undef ACTION_2635 #undef ACTION_2636 #undef ACTION_2637 #undef ACTION_2638 #undef ACTION_2639 #undef ACTION_2640 #undef ACTION_2641 #undef ACTION_2642 #undef ACTION_2643 #undef ACTION_2644 #undef ACTION_2645 #undef ACTION_2646 #undef ACTION_2647 #undef ACTION_2648 #undef ACTION_2649 #undef ACTION_2650 #undef ACTION_2651 #undef ACTION_2652 #undef ACTION_2653 #undef ACTION_2654 #undef ACTION_2655 #undef ACTION_2656 #undef ACTION_2657 #undef ACTION_2658 #undef ACTION_2659 #undef ACTION_2660 #undef ACTION_2661 #undef ACTION_2662 #undef ACTION_2663 #undef ACTION_2664 #undef ACTION_2665 #undef ACTION_2666 #undef ACTION_2667 #undef ACTION_2668 #undef ACTION_2669 #undef ACTION_2670 #undef ACTION_2671 #undef ACTION_2672 #undef ACTION_2673 #undef ACTION_2674 #undef ACTION_2675 #undef ACTION_2676 #undef ACTION_2677 #undef ACTION_2678 #undef ACTION_2679 #undef ACTION_2680 #undef ACTION_2681 #undef ACTION_2682 #undef ACTION_2683 #undef ACTION_2684 #undef ACTION_2685 #undef ACTION_2686 #undef ACTION_2687 #undef ACTION_2688 #undef ACTION_2689 #undef ACTION_2690 #undef ACTION_2691 #undef ACTION_2692 #undef ACTION_2693 #undef ACTION_2694 #undef ACTION_2695 #undef ACTION_2696 #undef ACTION_2697 #undef ACTION_2698 #undef ACTION_2699 #undef ACTION_2700 #undef ACTION_2701 #undef ACTION_2702 #undef ACTION_2703 #undef ACTION_2704 #undef ACTION_2705 #undef ACTION_2706 #undef ACTION_2707 #undef ACTION_2708 #undef ACTION_2709 #undef ACTION_2710 #undef ACTION_2711 #undef ACTION_2712 #undef ACTION_2713 #undef ACTION_2714 #undef ACTION_2715 #undef ACTION_2716 #undef ACTION_2717 #undef ACTION_2718 #undef ACTION_2719 #undef ACTION_2720 #undef ACTION_2721 #undef ACTION_2722 #undef ACTION_2723 #undef ACTION_2724 #undef ACTION_2725 #undef ACTION_2726 #undef ACTION_2727 #undef ACTION_2728 #undef ACTION_2729 #undef ACTION_2730 #undef ACTION_2731 #undef ACTION_2732 #undef ACTION_2733 #undef ACTION_2734 #undef ACTION_2735 #undef ACTION_2736 #undef ACTION_2737 #undef ACTION_2738 #undef ACTION_2739 #undef ACTION_2740 #undef ACTION_2741 #undef ACTION_2742 #undef ACTION_2743 #undef ACTION_2744 #undef ACTION_2745 #undef ACTION_2746 #undef ACTION_2747 #undef ACTION_2748 #undef ACTION_2749 #undef ACTION_2750 #undef ACTION_2751 #undef ACTION_2752 #undef ACTION_2753 #undef ACTION_2754 #undef ACTION_2755 #undef ACTION_2756 #undef ACTION_2757 #undef ACTION_2758 #undef ACTION_2759 #undef ACTION_2760 #undef ACTION_2761 #undef ACTION_2762 #undef ACTION_2763 #undef ACTION_2764 #undef ACTION_2765 #undef ACTION_2766 #undef ACTION_2767 #undef ACTION_2768 #undef ACTION_2769 #undef ACTION_2770 #undef ACTION_2771 #undef ACTION_2772 #undef ACTION_2773 #undef ACTION_2774 #undef ACTION_2775 #undef ACTION_2776 #undef ACTION_2777 #undef ACTION_2778 #undef ACTION_2779 #undef ACTION_2780 #undef ACTION_2781 #undef ACTION_2782 #undef ACTION_2783 #undef ACTION_2784 #undef ACTION_2785 #undef ACTION_2786 #undef ACTION_2787 #undef ACTION_2788 #undef ACTION_2789 #undef ACTION_2790 #undef ACTION_2791 #undef ACTION_2792 #undef ACTION_2793 #undef ACTION_2794 #undef ACTION_2795 #undef ACTION_2796 #undef ACTION_2797 #undef ACTION_2798 #undef ACTION_2799 #undef ACTION_2800 #undef ACTION_2801 #undef ACTION_2802 #undef ACTION_2803 #undef ACTION_2804 #undef ACTION_2805 #undef ACTION_2806 #undef ACTION_2807 #undef ACTION_2808 #undef ACTION_2809 #undef ACTION_2810 #undef ACTION_2811 #undef ACTION_2812 #undef ACTION_2813 #undef ACTION_2814 #undef ACTION_2815 #undef ACTION_2816 #undef ACTION_2817 #undef ACTION_2818 #undef ACTION_2819 #undef ACTION_2820 #undef ACTION_2821 #undef ACTION_2822 #undef ACTION_2823 #undef ACTION_2824 #undef ACTION_2825 #undef ACTION_2826 #undef ACTION_2827 #undef ACTION_2828 ================================================ FILE: include/labeling3D_PRED_2021.h ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_PRED_3D_H_ #define YACCLAB_LABELING_PRED_3D_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" //Actions: // Action 1: nothing #define ACTION_1 img_labels_slice00_row00[c] = 0; // Action 2: x<-newlabel #define ACTION_2 img_labels_slice00_row00[c] = LabelsSolver::NewLabel(); // Action 3: x<-a #define ACTION_3 img_labels_slice00_row00[c] = img_labels_slice11_row11[c - 1]; // Action 4: x<-b #define ACTION_4 img_labels_slice00_row00[c] = img_labels_slice11_row11[c]; // Action 5: x<-c #define ACTION_5 img_labels_slice00_row00[c] = img_labels_slice11_row11[c + 1]; // Action 6: x<-a+c #define ACTION_6 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row11[c + 1], img_labels_slice11_row11[c - 1]); // Action 7: x<-d #define ACTION_7 img_labels_slice00_row00[c] = img_labels_slice11_row00[c - 1]; // Action 8: x<-c+d #define ACTION_8 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 1], img_labels_slice11_row11[c + 1]); // Action 9: x<-e #define ACTION_9 img_labels_slice00_row00[c] = img_labels_slice11_row00[c]; // Action 10: x<-f #define ACTION_10 img_labels_slice00_row00[c] = img_labels_slice11_row00[c + 1]; // Action 11: x<-a+f #define ACTION_11 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row11[c - 1]); // Action 12: x<-d+f #define ACTION_12 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row00[c - 1]); // Action 13: x<-g #define ACTION_13 img_labels_slice00_row00[c] = img_labels_slice11_row01[c - 1]; // Action 14: x<-a+g #define ACTION_14 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c - 1]); // Action 15: x<-b+g #define ACTION_15 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c]); // Action 16: x<-c+g #define ACTION_16 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1]); // Action 17: x<-a+c+g #define ACTION_17 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); // Action 18: x<-f+g #define ACTION_18 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row00[c + 1]); // Action 19: x<-a+f+g #define ACTION_19 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row00[c + 1]), img_labels_slice11_row11[c - 1]); // Action 20: x<-h #define ACTION_20 img_labels_slice00_row00[c] = img_labels_slice11_row01[c]; // Action 21: x<-a+h #define ACTION_21 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 1]); // Action 22: x<-b+h #define ACTION_22 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]); // Action 23: x<-c+h #define ACTION_23 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 1]); // Action 24: x<-a+c+h #define ACTION_24 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); // Action 25: x<-i #define ACTION_25 img_labels_slice00_row00[c] = img_labels_slice11_row01[c + 1]; // Action 26: x<-a+i #define ACTION_26 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c - 1]); // Action 27: x<-b+i #define ACTION_27 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c]); // Action 28: x<-c+i #define ACTION_28 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c + 1]); // Action 29: x<-a+c+i #define ACTION_29 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); // Action 30: x<-d+i #define ACTION_30 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row00[c - 1]); // Action 31: x<-c+d+i #define ACTION_31 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row00[c - 1]), img_labels_slice11_row11[c + 1]); // Action 32: x<-g+i #define ACTION_32 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]); // Action 33: x<-a+g+i #define ACTION_33 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c - 1]); // Action 34: x<-b+g+i #define ACTION_34 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c]); // Action 35: x<-c+g+i #define ACTION_35 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c + 1]); // Action 36: x<-a+c+g+i #define ACTION_36 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), LabelsSolver::Merge(img_labels_slice11_row11[c + 1], img_labels_slice11_row11[c - 1])); // Action 37: x<-j #define ACTION_37 img_labels_slice00_row00[c] = img_labels_slice00_row11[c - 1]; // Action 38: x<-c+j #define ACTION_38 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row11[c + 1]); // Action 39: x<-f+j #define ACTION_39 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row00[c + 1]); // Action 40: x<-g+j #define ACTION_40 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]); // Action 41: x<-c+g+j #define ACTION_41 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c + 1]); // Action 42: x<-f+g+j #define ACTION_42 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row00[c + 1]); // Action 43: x<-h+j #define ACTION_43 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c]); // Action 44: x<-c+h+j #define ACTION_44 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 1]); // Action 45: x<-i+j #define ACTION_45 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]); // Action 46: x<-c+i+j #define ACTION_46 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c + 1]); // Action 47: x<-g+i+j #define ACTION_47 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); // Action 48: x<-c+g+i+j #define ACTION_48 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1])); // Action 49: x<-k #define ACTION_49 img_labels_slice00_row00[c] = img_labels_slice00_row11[c]; // Action 50: x<-g+k #define ACTION_50 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 1]); // Action 51: x<-h+k #define ACTION_51 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]); // Action 52: x<-i+k #define ACTION_52 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 1]); // Action 53: x<-g+i+k #define ACTION_53 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); // Action 54: x<-l #define ACTION_54 img_labels_slice00_row00[c] = img_labels_slice00_row11[c + 1]; // Action 55: x<-a+l #define ACTION_55 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row11[c - 1]); // Action 56: x<-d+l #define ACTION_56 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row00[c - 1]); // Action 57: x<-g+l #define ACTION_57 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c - 1]); // Action 58: x<-a+g+l #define ACTION_58 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c - 1]); // Action 59: x<-h+l #define ACTION_59 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c]); // Action 60: x<-a+h+l #define ACTION_60 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 1]); // Action 61: x<-i+l #define ACTION_61 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]); // Action 62: x<-a+i+l #define ACTION_62 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c - 1]); // Action 63: x<-d+i+l #define ACTION_63 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row00[c - 1]); // Action 64: x<-g+i+l #define ACTION_64 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); // Action 65: x<-a+g+i+l #define ACTION_65 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c - 1])); // Action 66: x<-j+l #define ACTION_66 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]); // Action 67: x<-g+j+l #define ACTION_67 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c - 1]); // Action 68: x<-h+j+l #define ACTION_68 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c]); // Action 69: x<-i+j+l #define ACTION_69 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c + 1]); // Action 70: x<-g+i+j+l #define ACTION_70 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1])); // Action 71: x<-m #define ACTION_71 img_labels_slice00_row00[c] = img_labels_slice00_row00[c - 1]; // Action 72: x<-c+m #define ACTION_72 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row11[c + 1]); // Action 73: x<-f+m #define ACTION_73 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row00[c + 1]); // Action 74: x<-i+m #define ACTION_74 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row01[c + 1]); // Action 75: x<-c+i+m #define ACTION_75 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c + 1]); // Action 76: x<-l+m #define ACTION_76 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice00_row11[c + 1]); // Action 77: x<-i+l+m #define ACTION_77 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice00_row11[c + 1]), img_labels_slice11_row01[c + 1]); // Note. We are just considering special forests (first line, etc) based on the current slice. This means // that first_line_first_slice etc are not considered. template class PRED_3D : public Labeling3D { public: PRED_3D() {} void FirstSlice(int d, int w, int h) { // First slice //Conditions for the first slice: TODO generate also first slice forest #define CONDITION_A false #define CONDITION_B false #define CONDITION_C false #define CONDITION_D false #define CONDITION_E false #define CONDITION_F false #define CONDITION_G false #define CONDITION_H false #define CONDITION_I false #define CONDITION_J img_slice00_row11[c - 1] > 0 #define CONDITION_K img_slice00_row11[c] > 0 #define CONDITION_L img_slice00_row11[c + 1] > 0 #define CONDITION_M img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 // First line of the current slice { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(0, 0); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(0, 0); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto fl_tree_0; #include "labeling3D_PRED_2021_fl_forest.inc.h" } // Center lines of the current slice for (int r = 1; r < h; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(0, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(0, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto ll_tree_0; #include "labeling3D_PRED_2021_ll_forest.inc.h" } // Rows cycle end #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X } void PerformLabeling() { img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First scan int d = img_.size.p[0]; int h = img_.size.p[1]; int w = img_.size.p[2]; // TODO Single line case is missing FirstSlice(d, w, h); //Conditions for all the slices but the first one #define CONDITION_A img_slice11_row11[c - 1] > 0 #define CONDITION_B img_slice11_row11[c] > 0 #define CONDITION_C img_slice11_row11[c + 1] > 0 #define CONDITION_D img_slice11_row00[c - 1] > 0 #define CONDITION_E img_slice11_row00[c] > 0 #define CONDITION_F img_slice11_row00[c + 1] > 0 #define CONDITION_G img_slice11_row01[c - 1] > 0 #define CONDITION_H img_slice11_row01[c] > 0 #define CONDITION_I img_slice11_row01[c + 1] > 0 #define CONDITION_J img_slice00_row11[c - 1] > 0 #define CONDITION_K img_slice00_row11[c] > 0 #define CONDITION_L img_slice00_row11[c + 1] > 0 #define CONDITION_M img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 // All the other slices for (int s = 1; s < d; s++) { // First line of the current slice { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, 0); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, 0); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto fl_tree_0; #include "labeling3D_PRED_2021_fl_forest.inc.h" } // Center lines of the current slice for (int r = 1; r < h - 1; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto cl_tree_0; #include "labeling3D_PRED_2021_cl_forest.inc.h" } // Rows cycle end // Last line of the current slice { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, h - 1); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, h - 1); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); int c = -1; goto ll_tree_0; #include "labeling3D_PRED_2021_ll_forest.inc.h" } } // Planes cycle end #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X // Second scan LabelsSolver::Flatten(); int * img_row = reinterpret_cast(img_labels_.data); for (int s = 0; s < d; s++) { for (int r = 0; r < h; r++) { for (int c = 0; c < w; c++) { img_row[c] = LabelsSolver::GetLabel(img_row[c]); } img_row += img_labels_.step[1] / sizeof(int); } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization int d = img_.size.p[0]; int h = img_.size.p[1]; int w = img_.size.p[2]; // TODO Single line case is missing FirstSlice(d, w, h); //Conditions for all the slices but the first one #define CONDITION_A img_slice11_row11[c - 1] > 0 #define CONDITION_B img_slice11_row11[c] > 0 #define CONDITION_C img_slice11_row11[c + 1] > 0 #define CONDITION_D img_slice11_row00[c - 1] > 0 #define CONDITION_E img_slice11_row00[c] > 0 #define CONDITION_F img_slice11_row00[c + 1] > 0 #define CONDITION_G img_slice11_row01[c - 1] > 0 #define CONDITION_H img_slice11_row01[c] > 0 #define CONDITION_I img_slice11_row01[c + 1] > 0 #define CONDITION_J img_slice00_row11[c - 1] > 0 #define CONDITION_K img_slice00_row11[c] > 0 #define CONDITION_L img_slice00_row11[c + 1] > 0 #define CONDITION_M img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 // All the other slices for (int s = 1; s < d; s++) { // First line of the current slice { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, 0); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, 0); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto fl_tree_0; #include "labeling3D_PRED_2021_fl_forest.inc.h" } // Center lines of the current slice for (int r = 1; r < h - 1; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto cl_tree_0; #include "labeling3D_PRED_2021_cl_forest.inc.h" } // Rows cycle end // Last line of the current slice { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, h - 1); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, h - 1); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); int c = -1; goto ll_tree_0; #include "labeling3D_PRED_2021_ll_forest.inc.h" } } // Planes cycle end } void SecondScan() { LabelsSolver::Flatten(); unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; int * img_row = reinterpret_cast(img_labels_.data); for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { for (unsigned int c = 0; c < w; c++) { img_row[c] = LabelsSolver::GetLabel(img_row[c]); } img_row += img_labels_.step.p[1] / sizeof(int); } } } }; #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef ACTION_17 #undef ACTION_18 #undef ACTION_19 #undef ACTION_20 #undef ACTION_21 #undef ACTION_22 #undef ACTION_23 #undef ACTION_24 #undef ACTION_25 #undef ACTION_26 #undef ACTION_27 #undef ACTION_28 #undef ACTION_29 #undef ACTION_30 #undef ACTION_31 #undef ACTION_32 #undef ACTION_33 #undef ACTION_34 #undef ACTION_35 #undef ACTION_36 #undef ACTION_37 #undef ACTION_38 #undef ACTION_39 #undef ACTION_40 #undef ACTION_41 #undef ACTION_42 #undef ACTION_43 #undef ACTION_44 #undef ACTION_45 #undef ACTION_46 #undef ACTION_47 #undef ACTION_48 #undef ACTION_49 #undef ACTION_50 #undef ACTION_51 #undef ACTION_52 #undef ACTION_53 #undef ACTION_54 #undef ACTION_55 #undef ACTION_56 #undef ACTION_57 #undef ACTION_58 #undef ACTION_59 #undef ACTION_60 #undef ACTION_61 #undef ACTION_62 #undef ACTION_63 #undef ACTION_64 #undef ACTION_65 #undef ACTION_66 #undef ACTION_67 #undef ACTION_68 #undef ACTION_69 #undef ACTION_70 #undef ACTION_71 #undef ACTION_72 #undef ACTION_73 #undef ACTION_74 #undef ACTION_75 #undef ACTION_76 #undef ACTION_77 #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X #endif // !YACCLAB_LABELING_PRED_3D_H_ ================================================ FILE: include/labeling3D_PRED_2021_cl_forest.inc.h ================================================ cl_tree_0: if ((c+=1) >= w - 1) goto cl_break_0_0; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto cl_tree_17; } else { if (CONDITION_K) { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_51 goto cl_tree_14; } } else { if (CONDITION_I) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_52 goto cl_tree_9; } } else { ACTION_49 goto cl_tree_15; } } } else { if (CONDITION_H) { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 goto cl_tree_10; } else { ACTION_10 goto cl_tree_10; } } else { if (CONDITION_B) { ACTION_22 goto cl_tree_14; } else { if (CONDITION_L) { ACTION_59 goto cl_tree_13; } else { if (CONDITION_C) { ACTION_23 goto cl_tree_12; } else { ACTION_20 goto cl_tree_11; } } } } } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 goto cl_tree_10; } else { ACTION_10 goto cl_tree_10; } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { if (CONDITION_L) { ACTION_61 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_28 goto cl_tree_7; } else { ACTION_25 goto cl_tree_6; } } } } else { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_L) { ACTION_54 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_5 goto cl_tree_3; } else { ACTION_2 goto cl_tree_2; } } } } } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_1: if ((c+=1) >= w - 1) goto cl_break_0_1; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto cl_tree_17; } else { if (CONDITION_K) { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_D) { ACTION_7 goto cl_tree_14; } else { ACTION_51 goto cl_tree_14; } } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_F) { if (CONDITION_D) { ACTION_7 goto cl_tree_10; } else { ACTION_18 goto cl_tree_10; } } else { if (CONDITION_D) { ACTION_30 goto cl_tree_9; } else { ACTION_53 goto cl_tree_9; } } } else { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_52 goto cl_tree_9; } } } else { if (CONDITION_G) { if (CONDITION_D) { ACTION_7 goto cl_tree_15; } else { ACTION_50 goto cl_tree_15; } } else { ACTION_49 goto cl_tree_15; } } } } else { if (CONDITION_H) { if (CONDITION_F) { if (CONDITION_D) { ACTION_7 goto cl_tree_10; } else { if (CONDITION_B) { ACTION_4 goto cl_tree_10; } else { if (CONDITION_J) { ACTION_39 goto cl_tree_10; } else { if (CONDITION_A) { ACTION_11 goto cl_tree_10; } else { ACTION_10 goto cl_tree_10; } } } } } else { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 goto cl_tree_14; } else { if (CONDITION_L) { ACTION_56 goto cl_tree_13; } else { if (CONDITION_C) { ACTION_8 goto cl_tree_12; } else { ACTION_7 goto cl_tree_11; } } } } else { if (CONDITION_B) { ACTION_22 goto cl_tree_14; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_68 goto cl_tree_13; } else { if (CONDITION_A) { ACTION_60 goto cl_tree_13; } else { ACTION_59 goto cl_tree_13; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_44 goto cl_tree_12; } else { ACTION_43 goto cl_tree_11; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_24 goto cl_tree_12; } else { ACTION_23 goto cl_tree_12; } } else { if (CONDITION_A) { ACTION_21 goto cl_tree_11; } else { ACTION_20 goto cl_tree_11; } } } } } } } } else { if (CONDITION_F) { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 goto cl_tree_10; } else { ACTION_12 goto cl_tree_10; } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_15 goto cl_tree_10; } else { if (CONDITION_J) { ACTION_42 goto cl_tree_10; } else { if (CONDITION_A) { ACTION_19 goto cl_tree_10; } else { ACTION_18 goto cl_tree_10; } } } } else { if (CONDITION_B) { ACTION_4 goto cl_tree_10; } else { if (CONDITION_J) { ACTION_39 goto cl_tree_10; } else { if (CONDITION_A) { ACTION_11 goto cl_tree_10; } else { ACTION_10 goto cl_tree_10; } } } } } } else { if (CONDITION_I) { if (CONDITION_D) { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { if (CONDITION_L) { ACTION_63 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_31 goto cl_tree_7; } else { ACTION_30 goto cl_tree_6; } } } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_34 goto cl_tree_9; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_70 goto cl_tree_8; } else { if (CONDITION_A) { ACTION_65 goto cl_tree_8; } else { ACTION_64 goto cl_tree_8; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_48 goto cl_tree_7; } else { ACTION_47 goto cl_tree_6; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_36 goto cl_tree_7; } else { ACTION_35 goto cl_tree_7; } } else { if (CONDITION_A) { ACTION_33 goto cl_tree_6; } else { ACTION_32 goto cl_tree_6; } } } } } } else { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_69 goto cl_tree_8; } else { if (CONDITION_A) { ACTION_62 goto cl_tree_8; } else { ACTION_61 goto cl_tree_8; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_46 goto cl_tree_7; } else { ACTION_45 goto cl_tree_6; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_29 goto cl_tree_7; } else { ACTION_28 goto cl_tree_7; } } else { if (CONDITION_A) { ACTION_26 goto cl_tree_6; } else { ACTION_25 goto cl_tree_6; } } } } } } } } else { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_L) { ACTION_56 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_8 goto cl_tree_3; } else { ACTION_7 goto cl_tree_2; } } } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_15 goto cl_tree_5; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_67 goto cl_tree_4; } else { if (CONDITION_A) { ACTION_58 goto cl_tree_4; } else { ACTION_57 goto cl_tree_4; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_41 goto cl_tree_3; } else { ACTION_40 goto cl_tree_2; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_17 goto cl_tree_3; } else { ACTION_16 goto cl_tree_3; } } else { if (CONDITION_A) { ACTION_14 goto cl_tree_2; } else { ACTION_13 goto cl_tree_2; } } } } } } else { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_66 goto cl_tree_4; } else { if (CONDITION_A) { ACTION_55 goto cl_tree_4; } else { ACTION_54 goto cl_tree_4; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_38 goto cl_tree_3; } else { ACTION_37 goto cl_tree_2; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_6 goto cl_tree_3; } else { ACTION_5 goto cl_tree_3; } } else { if (CONDITION_A) { ACTION_3 goto cl_tree_2; } else { ACTION_2 goto cl_tree_2; } } } } } } } } } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_2: if ((c+=1) >= w - 1) goto cl_break_0_2; if (CONDITION_X) { if (CONDITION_F) { ACTION_73 goto cl_tree_10; } else { if (CONDITION_I) { if (CONDITION_L) { ACTION_77 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_75 goto cl_tree_7; } else { ACTION_74 goto cl_tree_6; } } } else { if (CONDITION_L) { ACTION_76 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_72 goto cl_tree_3; } else { ACTION_71 goto cl_tree_2; } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_3: if ((c+=1) >= w - 1) goto cl_break_0_3; if (CONDITION_X) { if (CONDITION_F) { ACTION_4 goto cl_tree_10; } else { if (CONDITION_I) { ACTION_27 goto cl_tree_9; } else { ACTION_4 goto cl_tree_5; } } } else { ACTION_1 goto cl_tree_1; } cl_tree_4: if ((c+=1) >= w - 1) goto cl_break_0_4; if (CONDITION_X) { if (CONDITION_I) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_52 goto cl_tree_9; } } else { ACTION_49 goto cl_tree_15; } } else { ACTION_1 goto cl_tree_1; } cl_tree_5: if ((c+=1) >= w - 1) goto cl_break_0_5; if (CONDITION_X) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_52 goto cl_tree_9; } } else { ACTION_49 goto cl_tree_15; } } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 goto cl_tree_10; } else { ACTION_73 goto cl_tree_10; } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { if (CONDITION_L) { ACTION_77 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_75 goto cl_tree_7; } else { ACTION_74 goto cl_tree_6; } } } } else { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_L) { ACTION_76 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_72 goto cl_tree_3; } else { ACTION_71 goto cl_tree_2; } } } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_6: if ((c+=1) >= w - 1) goto cl_break_0_6; if (CONDITION_X) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_L) { ACTION_59 goto cl_tree_13; } else { if (CONDITION_C) { ACTION_23 goto cl_tree_12; } else { ACTION_20 goto cl_tree_11; } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_7: if ((c+=1) >= w - 1) goto cl_break_0_7; if (CONDITION_X) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_4 goto cl_tree_14; } } else { ACTION_1 goto cl_tree_1; } cl_tree_8: if ((c+=1) >= w - 1) goto cl_break_0_4; if (CONDITION_X) { if (CONDITION_I) { ACTION_20 goto cl_tree_16; } else { ACTION_49 goto cl_tree_15; } } else { ACTION_1 goto cl_tree_1; } cl_tree_9: if ((c+=1) >= w - 1) goto cl_break_0_8; if (CONDITION_X) { if (CONDITION_K) { if (CONDITION_I) { ACTION_20 goto cl_tree_16; } else { ACTION_49 goto cl_tree_15; } } else { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_B) { ACTION_4 goto cl_tree_14; } else { if (CONDITION_L) { ACTION_59 goto cl_tree_13; } else { if (CONDITION_C) { ACTION_23 goto cl_tree_12; } else { ACTION_20 goto cl_tree_11; } } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_10: if ((c+=1) >= w - 1) goto cl_break_0_9; if (CONDITION_X) { ACTION_9 goto cl_tree_17; } else { ACTION_1 goto cl_tree_1; } cl_tree_11: if ((c+=1) >= w - 1) goto cl_break_0_10; if (CONDITION_X) { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_L) { ACTION_59 goto cl_tree_13; } else { if (CONDITION_C) { ACTION_23 goto cl_tree_12; } else { ACTION_20 goto cl_tree_11; } } } } else { if (CONDITION_F) { ACTION_73 goto cl_tree_10; } else { if (CONDITION_I) { if (CONDITION_L) { ACTION_77 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_75 goto cl_tree_7; } else { ACTION_74 goto cl_tree_6; } } } else { if (CONDITION_L) { ACTION_76 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_72 goto cl_tree_3; } else { ACTION_71 goto cl_tree_2; } } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_12: if ((c+=1) >= w - 1) goto cl_break_0_11; if (CONDITION_X) { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_4 goto cl_tree_14; } } else { if (CONDITION_F) { ACTION_4 goto cl_tree_10; } else { if (CONDITION_I) { ACTION_27 goto cl_tree_9; } else { ACTION_4 goto cl_tree_5; } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_13: if ((c+=1) >= w - 1) goto cl_break_0_4; if (CONDITION_X) { if (CONDITION_I) { if (CONDITION_H) { ACTION_20 goto cl_tree_16; } else { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_52 goto cl_tree_9; } } } else { ACTION_49 goto cl_tree_15; } } else { ACTION_1 goto cl_tree_1; } cl_tree_14: if ((c+=1) >= w - 1) goto cl_break_0_12; if (CONDITION_X) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_H) { ACTION_20 goto cl_tree_16; } else { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_52 goto cl_tree_9; } } } else { ACTION_49 goto cl_tree_15; } } else { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_B) { ACTION_4 goto cl_tree_14; } else { if (CONDITION_L) { ACTION_59 goto cl_tree_13; } else { if (CONDITION_C) { ACTION_23 goto cl_tree_12; } else { ACTION_20 goto cl_tree_11; } } } } } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 goto cl_tree_10; } else { ACTION_73 goto cl_tree_10; } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { if (CONDITION_L) { ACTION_77 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_75 goto cl_tree_7; } else { ACTION_74 goto cl_tree_6; } } } } else { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_L) { ACTION_76 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_72 goto cl_tree_3; } else { ACTION_71 goto cl_tree_2; } } } } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_15: if ((c+=1) >= w - 1) goto cl_break_0_13; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto cl_tree_17; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_52 goto cl_tree_9; } } else { ACTION_49 goto cl_tree_15; } } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 goto cl_tree_10; } else { ACTION_73 goto cl_tree_10; } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { if (CONDITION_L) { ACTION_77 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_75 goto cl_tree_7; } else { ACTION_74 goto cl_tree_6; } } } } else { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_L) { ACTION_76 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_72 goto cl_tree_3; } else { ACTION_71 goto cl_tree_2; } } } } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_16: if ((c+=1) >= w - 1) goto cl_break_0_14; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto cl_tree_17; } else { if (CONDITION_K) { if (CONDITION_I) { ACTION_20 goto cl_tree_16; } else { ACTION_49 goto cl_tree_15; } } else { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_B) { ACTION_4 goto cl_tree_14; } else { if (CONDITION_L) { ACTION_59 goto cl_tree_13; } else { if (CONDITION_C) { ACTION_23 goto cl_tree_12; } else { ACTION_20 goto cl_tree_11; } } } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_17: if ((c+=1) >= w - 1) goto cl_break_0_15; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto cl_tree_17; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_H) { ACTION_20 goto cl_tree_16; } else { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_52 goto cl_tree_9; } } } else { ACTION_49 goto cl_tree_15; } } else { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_B) { ACTION_4 goto cl_tree_14; } else { if (CONDITION_L) { ACTION_59 goto cl_tree_13; } else { if (CONDITION_C) { ACTION_23 goto cl_tree_12; } else { ACTION_20 goto cl_tree_11; } } } } } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 goto cl_tree_10; } else { ACTION_73 goto cl_tree_10; } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { if (CONDITION_L) { ACTION_77 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_75 goto cl_tree_7; } else { ACTION_74 goto cl_tree_6; } } } } else { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_L) { ACTION_76 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_72 goto cl_tree_3; } else { ACTION_71 goto cl_tree_2; } } } } } } } } } else { ACTION_1 goto cl_tree_1; } cl_break_0_0: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { if (CONDITION_H) { ACTION_51 } else { ACTION_49 } } else { if (CONDITION_H) { if (CONDITION_B) { ACTION_22 } else { ACTION_20 } } else { if (CONDITION_B) { ACTION_4 } else { ACTION_2 } } } } } else { ACTION_1 } continue; cl_break_0_1: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { if (CONDITION_H) { if (CONDITION_D) { ACTION_7 } else { ACTION_51 } } else { if (CONDITION_G) { if (CONDITION_D) { ACTION_7 } else { ACTION_50 } } else { ACTION_49 } } } else { if (CONDITION_H) { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 } else { ACTION_7 } } else { if (CONDITION_B) { ACTION_22 } else { if (CONDITION_J) { ACTION_43 } else { if (CONDITION_A) { ACTION_21 } else { ACTION_20 } } } } } else { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 } else { ACTION_7 } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_15 } else { if (CONDITION_J) { ACTION_40 } else { if (CONDITION_A) { ACTION_14 } else { ACTION_13 } } } } else { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_J) { ACTION_37 } else { if (CONDITION_A) { ACTION_3 } else { ACTION_2 } } } } } } } } } else { ACTION_1 } continue; cl_break_0_2: if (CONDITION_X) { ACTION_71 } else { ACTION_1 } continue; cl_break_0_3: if (CONDITION_X) { ACTION_4 } else { ACTION_1 } continue; cl_break_0_4: if (CONDITION_X) { ACTION_49 } else { ACTION_1 } continue; cl_break_0_5: if (CONDITION_X) { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_B) { ACTION_4 } else { ACTION_71 } } } else { ACTION_1 } continue; cl_break_0_6: if (CONDITION_X) { ACTION_20 } else { ACTION_1 } continue; cl_break_0_7: if (CONDITION_X) { ACTION_4 } else { ACTION_1 } continue; cl_break_0_8: if (CONDITION_X) { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_B) { ACTION_4 } else { ACTION_20 } } } else { ACTION_1 } continue; cl_break_0_9: if (CONDITION_X) { ACTION_9 } else { ACTION_1 } continue; cl_break_0_10: if (CONDITION_X) { if (CONDITION_H) { ACTION_20 } else { ACTION_71 } } else { ACTION_1 } continue; cl_break_0_11: if (CONDITION_X) { if (CONDITION_H) { ACTION_4 } else { ACTION_4 } } else { ACTION_1 } continue; cl_break_0_12: if (CONDITION_X) { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_H) { if (CONDITION_B) { ACTION_4 } else { ACTION_20 } } else { if (CONDITION_B) { ACTION_4 } else { ACTION_71 } } } } else { ACTION_1 } continue; cl_break_0_13: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_B) { ACTION_4 } else { ACTION_71 } } } } else { ACTION_1 } continue; cl_break_0_14: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_B) { ACTION_4 } else { ACTION_20 } } } } else { ACTION_1 } continue; cl_break_0_15: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_H) { if (CONDITION_B) { ACTION_4 } else { ACTION_20 } } else { if (CONDITION_B) { ACTION_4 } else { ACTION_71 } } } } } else { ACTION_1 } continue; ================================================ FILE: include/labeling3D_PRED_2021_fl_forest.inc.h ================================================ fl_tree_0: if ((c+=1) >= w - 1) goto fl_break_0_0; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto fl_tree_6; } else { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto fl_tree_4; } else { ACTION_20 goto fl_tree_5; } } else { if (CONDITION_F) { ACTION_10 goto fl_tree_4; } else { if (CONDITION_I) { ACTION_25 goto fl_tree_3; } else { ACTION_2 goto fl_tree_2; } } } } } else { ACTION_1 goto fl_tree_1; } fl_tree_1: if ((c+=1) >= w - 1) goto fl_break_0_1; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto fl_tree_6; } else { if (CONDITION_H) { if (CONDITION_F) { if (CONDITION_D) { ACTION_7 goto fl_tree_4; } else { ACTION_10 goto fl_tree_4; } } else { if (CONDITION_D) { ACTION_7 goto fl_tree_5; } else { ACTION_20 goto fl_tree_5; } } } else { if (CONDITION_F) { if (CONDITION_D) { ACTION_12 goto fl_tree_4; } else { if (CONDITION_G) { ACTION_18 goto fl_tree_4; } else { ACTION_10 goto fl_tree_4; } } } else { if (CONDITION_I) { if (CONDITION_D) { ACTION_30 goto fl_tree_3; } else { if (CONDITION_G) { ACTION_32 goto fl_tree_3; } else { ACTION_25 goto fl_tree_3; } } } else { if (CONDITION_D) { ACTION_7 goto fl_tree_2; } else { if (CONDITION_G) { ACTION_13 goto fl_tree_2; } else { ACTION_2 goto fl_tree_2; } } } } } } } else { ACTION_1 goto fl_tree_1; } fl_tree_2: if ((c+=1) >= w - 1) goto fl_break_0_2; if (CONDITION_X) { if (CONDITION_F) { ACTION_73 goto fl_tree_4; } else { if (CONDITION_I) { ACTION_74 goto fl_tree_3; } else { ACTION_71 goto fl_tree_2; } } } else { ACTION_1 goto fl_tree_1; } fl_tree_3: if ((c+=1) >= w - 1) goto fl_break_0_3; if (CONDITION_X) { if (CONDITION_F) { ACTION_10 goto fl_tree_4; } else { ACTION_20 goto fl_tree_5; } } else { ACTION_1 goto fl_tree_1; } fl_tree_4: if ((c+=1) >= w - 1) goto fl_break_0_4; if (CONDITION_X) { ACTION_9 goto fl_tree_6; } else { ACTION_1 goto fl_tree_1; } fl_tree_5: if ((c+=1) >= w - 1) goto fl_break_0_5; if (CONDITION_X) { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto fl_tree_4; } else { ACTION_20 goto fl_tree_5; } } else { if (CONDITION_F) { ACTION_73 goto fl_tree_4; } else { if (CONDITION_I) { ACTION_74 goto fl_tree_3; } else { ACTION_71 goto fl_tree_2; } } } } else { ACTION_1 goto fl_tree_1; } fl_tree_6: if ((c+=1) >= w - 1) goto fl_break_0_6; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto fl_tree_6; } else { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto fl_tree_4; } else { ACTION_20 goto fl_tree_5; } } else { if (CONDITION_F) { ACTION_73 goto fl_tree_4; } else { if (CONDITION_I) { ACTION_74 goto fl_tree_3; } else { ACTION_71 goto fl_tree_2; } } } } } else { ACTION_1 goto fl_tree_1; } fl_break_0_0: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_H) { ACTION_20 } else { ACTION_2 } } } else { ACTION_1 } goto fl_; fl_break_0_1: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_H) { if (CONDITION_D) { ACTION_7 } else { ACTION_20 } } else { if (CONDITION_D) { ACTION_7 } else { if (CONDITION_G) { ACTION_13 } else { ACTION_2 } } } } } else { ACTION_1 } goto fl_; fl_break_0_2: if (CONDITION_X) { ACTION_71 } else { ACTION_1 } goto fl_; fl_break_0_3: if (CONDITION_X) { ACTION_20 } else { ACTION_1 } goto fl_; fl_break_0_4: if (CONDITION_X) { ACTION_9 } else { ACTION_1 } goto fl_; fl_break_0_5: if (CONDITION_X) { if (CONDITION_H) { ACTION_20 } else { ACTION_71 } } else { ACTION_1 } goto fl_; fl_break_0_6: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_H) { ACTION_20 } else { ACTION_71 } } } else { ACTION_1 } goto fl_; fl_:; ================================================ FILE: include/labeling3D_PRED_2021_ll_forest.inc.h ================================================ ll_tree_0: if ((c+=1) >= w - 1) goto ll_break_0_0; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto ll_tree_7; } else { if (CONDITION_K) { ACTION_49 goto ll_tree_7; } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 goto ll_tree_6; } else { ACTION_10 goto ll_tree_6; } } else { if (CONDITION_B) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_L) { ACTION_54 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_5 goto ll_tree_3; } else { ACTION_2 goto ll_tree_2; } } } } } } } else { ACTION_1 goto ll_tree_1; } ll_tree_1: if ((c+=1) >= w - 1) goto ll_break_0_1; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto ll_tree_7; } else { if (CONDITION_K) { ACTION_49 goto ll_tree_7; } else { if (CONDITION_F) { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 goto ll_tree_6; } else { ACTION_12 goto ll_tree_6; } } else { if (CONDITION_B) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_J) { ACTION_39 goto ll_tree_6; } else { if (CONDITION_A) { ACTION_11 goto ll_tree_6; } else { ACTION_10 goto ll_tree_6; } } } } } else { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_L) { ACTION_56 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_8 goto ll_tree_3; } else { ACTION_7 goto ll_tree_2; } } } } else { if (CONDITION_B) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_66 goto ll_tree_4; } else { if (CONDITION_A) { ACTION_55 goto ll_tree_4; } else { ACTION_54 goto ll_tree_4; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_38 goto ll_tree_3; } else { ACTION_37 goto ll_tree_2; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_6 goto ll_tree_3; } else { ACTION_5 goto ll_tree_3; } } else { if (CONDITION_A) { ACTION_3 goto ll_tree_2; } else { ACTION_2 goto ll_tree_2; } } } } } } } } } } else { ACTION_1 goto ll_tree_1; } ll_tree_2: if ((c+=1) >= w - 1) goto ll_break_0_2; if (CONDITION_X) { if (CONDITION_F) { ACTION_73 goto ll_tree_6; } else { if (CONDITION_L) { ACTION_76 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_72 goto ll_tree_3; } else { ACTION_71 goto ll_tree_2; } } } } else { ACTION_1 goto ll_tree_1; } ll_tree_3: if ((c+=1) >= w - 1) goto ll_break_0_3; if (CONDITION_X) { if (CONDITION_F) { ACTION_4 goto ll_tree_6; } else { ACTION_4 goto ll_tree_5; } } else { ACTION_1 goto ll_tree_1; } ll_tree_4: if ((c+=1) >= w - 1) goto ll_break_0_4; if (CONDITION_X) { ACTION_49 goto ll_tree_7; } else { ACTION_1 goto ll_tree_1; } ll_tree_5: if ((c+=1) >= w - 1) goto ll_break_0_5; if (CONDITION_X) { if (CONDITION_K) { ACTION_49 goto ll_tree_7; } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 goto ll_tree_6; } else { ACTION_73 goto ll_tree_6; } } else { if (CONDITION_B) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_L) { ACTION_76 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_72 goto ll_tree_3; } else { ACTION_71 goto ll_tree_2; } } } } } } else { ACTION_1 goto ll_tree_1; } ll_tree_6: if ((c+=1) >= w - 1) goto ll_break_0_6; if (CONDITION_X) { ACTION_9 goto ll_tree_7; } else { ACTION_1 goto ll_tree_1; } ll_tree_7: if ((c+=1) >= w - 1) goto ll_break_0_7; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto ll_tree_7; } else { if (CONDITION_K) { ACTION_49 goto ll_tree_7; } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 goto ll_tree_6; } else { ACTION_73 goto ll_tree_6; } } else { if (CONDITION_B) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_L) { ACTION_76 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_72 goto ll_tree_3; } else { ACTION_71 goto ll_tree_2; } } } } } } } else { ACTION_1 goto ll_tree_1; } ll_break_0_0: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_B) { ACTION_4 } else { ACTION_2 } } } } else { ACTION_1 } goto ll_; ll_break_0_1: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 } else { ACTION_7 } } else { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_J) { ACTION_37 } else { if (CONDITION_A) { ACTION_3 } else { ACTION_2 } } } } } } } else { ACTION_1 } goto ll_; ll_break_0_2: if (CONDITION_X) { ACTION_71 } else { ACTION_1 } goto ll_; ll_break_0_3: if (CONDITION_X) { ACTION_4 } else { ACTION_1 } goto ll_; ll_break_0_4: if (CONDITION_X) { ACTION_49 } else { ACTION_1 } goto ll_; ll_break_0_5: if (CONDITION_X) { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_B) { ACTION_4 } else { ACTION_71 } } } else { ACTION_1 } goto ll_; ll_break_0_6: if (CONDITION_X) { ACTION_9 } else { ACTION_1 } goto ll_; ll_break_0_7: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_B) { ACTION_4 } else { ACTION_71 } } } } else { ACTION_1 } goto ll_; ll_:; ================================================ FILE: include/labeling3D_PRED_2021_sl_forest.inc.h ================================================ sl_tree_0: if ((c+=1) >= w - 1) goto sl_break_0_0; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto sl_tree_4; } else { if (CONDITION_F) { ACTION_10 goto sl_tree_3; } else { ACTION_2 goto sl_tree_2; } } } else { ACTION_1 goto sl_tree_1; } sl_tree_1: if ((c+=1) >= w - 1) goto sl_break_0_1; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto sl_tree_4; } else { if (CONDITION_F) { if (CONDITION_D) { ACTION_12 goto sl_tree_3; } else { ACTION_10 goto sl_tree_3; } } else { if (CONDITION_D) { ACTION_7 goto sl_tree_2; } else { ACTION_2 goto sl_tree_2; } } } } else { ACTION_1 goto sl_tree_1; } sl_tree_2: if ((c+=1) >= w - 1) goto sl_break_0_2; if (CONDITION_X) { if (CONDITION_F) { ACTION_73 goto sl_tree_3; } else { ACTION_71 goto sl_tree_2; } } else { ACTION_1 goto sl_tree_1; } sl_tree_3: if ((c+=1) >= w - 1) goto sl_break_0_3; if (CONDITION_X) { ACTION_9 goto sl_tree_4; } else { ACTION_1 goto sl_tree_1; } sl_tree_4: if ((c+=1) >= w - 1) goto sl_break_0_4; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto sl_tree_4; } else { if (CONDITION_F) { ACTION_73 goto sl_tree_3; } else { ACTION_71 goto sl_tree_2; } } } else { ACTION_1 goto sl_tree_1; } sl_break_0_0: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { ACTION_2 } } else { ACTION_1 } goto sl_; sl_break_0_1: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_D) { ACTION_7 } else { ACTION_2 } } } else { ACTION_1 } goto sl_; sl_break_0_2: if (CONDITION_X) { ACTION_71 } else { ACTION_1 } goto sl_; sl_break_0_3: if (CONDITION_X) { ACTION_9 } else { ACTION_1 } goto sl_; sl_break_0_4: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { ACTION_71 } } else { ACTION_1 } goto sl_; sl_:; ================================================ FILE: include/labeling3D_PREDpp_2021.h ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_PREDPP_3D_H_ #define YACCLAB_LABELING_PREDPP_3D_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" //Actions: // Action 1: nothing #define ACTION_1 img_labels_slice00_row00[c] = 0; // Action 2: x<-newlabel #define ACTION_2 img_labels_slice00_row00[c] = LabelsSolver::NewLabel(); // Action 3: x<-a #define ACTION_3 img_labels_slice00_row00[c] = img_labels_slice11_row11[c - 1]; // Action 4: x<-b #define ACTION_4 img_labels_slice00_row00[c] = img_labels_slice11_row11[c]; // Action 5: x<-c #define ACTION_5 img_labels_slice00_row00[c] = img_labels_slice11_row11[c + 1]; // Action 6: x<-a+c #define ACTION_6 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row11[c + 1], img_labels_slice11_row11[c - 1]); // Action 7: x<-d #define ACTION_7 img_labels_slice00_row00[c] = img_labels_slice11_row00[c - 1]; // Action 8: x<-c+d #define ACTION_8 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 1], img_labels_slice11_row11[c + 1]); // Action 9: x<-e #define ACTION_9 img_labels_slice00_row00[c] = img_labels_slice11_row00[c]; // Action 10: x<-f #define ACTION_10 img_labels_slice00_row00[c] = img_labels_slice11_row00[c + 1]; // Action 11: x<-a+f #define ACTION_11 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row11[c - 1]); // Action 12: x<-d+f #define ACTION_12 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row00[c - 1]); // Action 13: x<-g #define ACTION_13 img_labels_slice00_row00[c] = img_labels_slice11_row01[c - 1]; // Action 14: x<-a+g #define ACTION_14 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c - 1]); // Action 15: x<-b+g #define ACTION_15 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c]); // Action 16: x<-c+g #define ACTION_16 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1]); // Action 17: x<-a+c+g #define ACTION_17 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); // Action 18: x<-f+g #define ACTION_18 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row00[c + 1]); // Action 19: x<-a+f+g #define ACTION_19 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row00[c + 1]), img_labels_slice11_row11[c - 1]); // Action 20: x<-h #define ACTION_20 img_labels_slice00_row00[c] = img_labels_slice11_row01[c]; // Action 21: x<-a+h #define ACTION_21 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 1]); // Action 22: x<-b+h #define ACTION_22 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]); // Action 23: x<-c+h #define ACTION_23 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 1]); // Action 24: x<-a+c+h #define ACTION_24 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); // Action 25: x<-i #define ACTION_25 img_labels_slice00_row00[c] = img_labels_slice11_row01[c + 1]; // Action 26: x<-a+i #define ACTION_26 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c - 1]); // Action 27: x<-b+i #define ACTION_27 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c]); // Action 28: x<-c+i #define ACTION_28 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c + 1]); // Action 29: x<-a+c+i #define ACTION_29 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); // Action 30: x<-d+i #define ACTION_30 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row00[c - 1]); // Action 31: x<-c+d+i #define ACTION_31 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row00[c - 1]), img_labels_slice11_row11[c + 1]); // Action 32: x<-g+i #define ACTION_32 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]); // Action 33: x<-a+g+i #define ACTION_33 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c - 1]); // Action 34: x<-b+g+i #define ACTION_34 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c]); // Action 35: x<-c+g+i #define ACTION_35 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c + 1]); // Action 36: x<-a+c+g+i #define ACTION_36 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), LabelsSolver::Merge(img_labels_slice11_row11[c + 1], img_labels_slice11_row11[c - 1])); // Action 37: x<-j #define ACTION_37 img_labels_slice00_row00[c] = img_labels_slice00_row11[c - 1]; // Action 38: x<-c+j #define ACTION_38 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row11[c + 1]); // Action 39: x<-f+j #define ACTION_39 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row00[c + 1]); // Action 40: x<-g+j #define ACTION_40 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]); // Action 41: x<-c+g+j #define ACTION_41 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c + 1]); // Action 42: x<-f+g+j #define ACTION_42 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row00[c + 1]); // Action 43: x<-h+j #define ACTION_43 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c]); // Action 44: x<-c+h+j #define ACTION_44 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 1]); // Action 45: x<-i+j #define ACTION_45 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]); // Action 46: x<-c+i+j #define ACTION_46 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c + 1]); // Action 47: x<-g+i+j #define ACTION_47 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); // Action 48: x<-c+g+i+j #define ACTION_48 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1])); // Action 49: x<-k #define ACTION_49 img_labels_slice00_row00[c] = img_labels_slice00_row11[c]; // Action 50: x<-g+k #define ACTION_50 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 1]); // Action 51: x<-h+k #define ACTION_51 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]); // Action 52: x<-i+k #define ACTION_52 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 1]); // Action 53: x<-g+i+k #define ACTION_53 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); // Action 54: x<-l #define ACTION_54 img_labels_slice00_row00[c] = img_labels_slice00_row11[c + 1]; // Action 55: x<-a+l #define ACTION_55 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row11[c - 1]); // Action 56: x<-d+l #define ACTION_56 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row00[c - 1]); // Action 57: x<-g+l #define ACTION_57 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c - 1]); // Action 58: x<-a+g+l #define ACTION_58 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c - 1]); // Action 59: x<-h+l #define ACTION_59 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c]); // Action 60: x<-a+h+l #define ACTION_60 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 1]); // Action 61: x<-i+l #define ACTION_61 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]); // Action 62: x<-a+i+l #define ACTION_62 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c - 1]); // Action 63: x<-d+i+l #define ACTION_63 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row00[c - 1]); // Action 64: x<-g+i+l #define ACTION_64 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); // Action 65: x<-a+g+i+l #define ACTION_65 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c - 1])); // Action 66: x<-j+l #define ACTION_66 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]); // Action 67: x<-g+j+l #define ACTION_67 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c - 1]); // Action 68: x<-h+j+l #define ACTION_68 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c]); // Action 69: x<-i+j+l #define ACTION_69 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c + 1]); // Action 70: x<-g+i+j+l #define ACTION_70 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1])); // Action 71: x<-m #define ACTION_71 img_labels_slice00_row00[c] = img_labels_slice00_row00[c - 1]; // Action 72: x<-c+m #define ACTION_72 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row11[c + 1]); // Action 73: x<-f+m #define ACTION_73 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row00[c + 1]); // Action 74: x<-i+m #define ACTION_74 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row01[c + 1]); // Action 75: x<-c+i+m #define ACTION_75 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c + 1]); // Action 76: x<-l+m #define ACTION_76 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice00_row11[c + 1]); // Action 77: x<-i+l+m #define ACTION_77 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice00_row11[c + 1]), img_labels_slice11_row01[c + 1]); // Note. We are just considering special forests (first line, etc) based on the current slice. This means // that first_line_first_slice etc are not considered. template class PREDpp_3D : public Labeling3D { public: PREDpp_3D() {} void FirstSlice(int d, int w, int h) { // First slice //Conditions for the first slice: TODO generate also first slice forest #define CONDITION_A false #define CONDITION_B false #define CONDITION_C false #define CONDITION_D false #define CONDITION_E false #define CONDITION_F false #define CONDITION_G false #define CONDITION_H false #define CONDITION_I false #define CONDITION_J img_slice00_row11[c - 1] > 0 #define CONDITION_K img_slice00_row11[c] > 0 #define CONDITION_L img_slice00_row11[c + 1] > 0 #define CONDITION_M img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 // First line of the current slice { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(0, 0); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(0, 0); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto fl_tree_0; #include "labeling3D_PREDpp_2021_fl_forest.inc.h" } // Center lines of the current slice for (int r = 1; r < h; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(0, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(0, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto ll_tree_0; #include "labeling3D_PREDpp_2021_ll_forest.inc.h" } // Rows cycle end #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X } void PerformLabeling() { img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First scan int d = img_.size.p[0]; int h = img_.size.p[1]; int w = img_.size.p[2]; // TODO Single line case is missing FirstSlice(d, w, h); //Conditions for all the slices but the first one #define CONDITION_A img_slice11_row11[c - 1] > 0 #define CONDITION_B img_slice11_row11[c] > 0 #define CONDITION_C img_slice11_row11[c + 1] > 0 #define CONDITION_D img_slice11_row00[c - 1] > 0 #define CONDITION_E img_slice11_row00[c] > 0 #define CONDITION_F img_slice11_row00[c + 1] > 0 #define CONDITION_G img_slice11_row01[c - 1] > 0 #define CONDITION_H img_slice11_row01[c] > 0 #define CONDITION_I img_slice11_row01[c + 1] > 0 #define CONDITION_J img_slice00_row11[c - 1] > 0 #define CONDITION_K img_slice00_row11[c] > 0 #define CONDITION_L img_slice00_row11[c + 1] > 0 #define CONDITION_M img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 // All the other slices for (int s = 1; s < d; s++) { // First line of the current slice { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, 0); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, 0); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto fl_tree_0; #include "labeling3D_PREDpp_2021_fl_forest.inc.h" } // Center lines of the current slice for (int r = 1; r < h - 1; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto cl_tree_0; #include "labeling3D_PREDpp_2021_cl_forest.inc.h" } // Rows cycle end // Last line of the current slice { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, h - 1); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, h - 1); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); int c = -1; goto ll_tree_0; #include "labeling3D_PREDpp_2021_ll_forest.inc.h" } } // Planes cycle end #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X // Second scan LabelsSolver::Flatten(); int * img_row = reinterpret_cast(img_labels_.data); for (int s = 0; s < d; s++) { for (int r = 0; r < h; r++) { for (int c = 0; c < w; c++) { img_row[c] = LabelsSolver::GetLabel(img_row[c]); } img_row += img_labels_.step[1] / sizeof(int); } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization int d = img_.size.p[0]; int h = img_.size.p[1]; int w = img_.size.p[2]; // TODO Single line case is missing FirstSlice(d, w, h); //Conditions for all the slices but the first one #define CONDITION_A img_slice11_row11[c - 1] > 0 #define CONDITION_B img_slice11_row11[c] > 0 #define CONDITION_C img_slice11_row11[c + 1] > 0 #define CONDITION_D img_slice11_row00[c - 1] > 0 #define CONDITION_E img_slice11_row00[c] > 0 #define CONDITION_F img_slice11_row00[c + 1] > 0 #define CONDITION_G img_slice11_row01[c - 1] > 0 #define CONDITION_H img_slice11_row01[c] > 0 #define CONDITION_I img_slice11_row01[c + 1] > 0 #define CONDITION_J img_slice00_row11[c - 1] > 0 #define CONDITION_K img_slice00_row11[c] > 0 #define CONDITION_L img_slice00_row11[c + 1] > 0 #define CONDITION_M img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 // All the other slices for (int s = 1; s < d; s++) { // First line of the current slice { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, 0); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, 0); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto fl_tree_0; #include "labeling3D_PREDpp_2021_fl_forest.inc.h" } // Center lines of the current slice for (int r = 1; r < h - 1; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); int c = -1; goto cl_tree_0; #include "labeling3D_PREDpp_2021_cl_forest.inc.h" } // Rows cycle end // Last line of the current slice { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, h - 1); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, h - 1); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); int c = -1; goto ll_tree_0; #include "labeling3D_PREDpp_2021_ll_forest.inc.h" } } // Planes cycle end #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X } void SecondScan() { LabelsSolver::Flatten(); unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; int * img_row = reinterpret_cast(img_labels_.data); for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { for (unsigned int c = 0; c < w; c++) { img_row[c] = LabelsSolver::GetLabel(img_row[c]); } img_row += img_labels_.step.p[1] / sizeof(int); } } } }; #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef ACTION_17 #undef ACTION_18 #undef ACTION_19 #undef ACTION_20 #undef ACTION_21 #undef ACTION_22 #undef ACTION_23 #undef ACTION_24 #undef ACTION_25 #undef ACTION_26 #undef ACTION_27 #undef ACTION_28 #undef ACTION_29 #undef ACTION_30 #undef ACTION_31 #undef ACTION_32 #undef ACTION_33 #undef ACTION_34 #undef ACTION_35 #undef ACTION_36 #undef ACTION_37 #undef ACTION_38 #undef ACTION_39 #undef ACTION_40 #undef ACTION_41 #undef ACTION_42 #undef ACTION_43 #undef ACTION_44 #undef ACTION_45 #undef ACTION_46 #undef ACTION_47 #undef ACTION_48 #undef ACTION_49 #undef ACTION_50 #undef ACTION_51 #undef ACTION_52 #undef ACTION_53 #undef ACTION_54 #undef ACTION_55 #undef ACTION_56 #undef ACTION_57 #undef ACTION_58 #undef ACTION_59 #undef ACTION_60 #undef ACTION_61 #undef ACTION_62 #undef ACTION_63 #undef ACTION_64 #undef ACTION_65 #undef ACTION_66 #undef ACTION_67 #undef ACTION_68 #undef ACTION_69 #undef ACTION_70 #undef ACTION_71 #undef ACTION_72 #undef ACTION_73 #undef ACTION_74 #undef ACTION_75 #undef ACTION_76 #undef ACTION_77 #endif // !YACCLAB_LABELING_PREDPP_3D_H_ ================================================ FILE: include/labeling3D_PREDpp_2021_cl_forest.inc.h ================================================ cl_tree_0: if ((c+=1) >= w - 1) goto cl_break_0_0; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto cl_tree_17; } else { if (CONDITION_K) { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_51 goto cl_tree_14; } } else { NODE_1: if (CONDITION_I) { NODE_2: if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_52 goto cl_tree_9; } } else { ACTION_49 goto cl_tree_15; } } } else { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_B) { ACTION_22 goto cl_tree_14; } else { NODE_3: if (CONDITION_L) { ACTION_59 goto cl_tree_13; } else { if (CONDITION_C) { ACTION_23 goto cl_tree_12; } else { ACTION_20 goto cl_tree_11; } } } } } else { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { if (CONDITION_L) { ACTION_61 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_28 goto cl_tree_7; } else { ACTION_25 goto cl_tree_6; } } } } else { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_L) { ACTION_54 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_5 goto cl_tree_3; } else { ACTION_2 goto cl_tree_2; } } } } } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_1: if ((c+=1) >= w - 1) goto cl_break_0_1; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto cl_tree_17; } else { if (CONDITION_K) { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_D) { ACTION_7 goto cl_tree_14; } else { ACTION_51 goto cl_tree_14; } } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_F) { if (CONDITION_D) { ACTION_10 goto cl_tree_10; } else { ACTION_18 goto cl_tree_10; } } else { if (CONDITION_D) { ACTION_52 goto cl_tree_9; } else { ACTION_53 goto cl_tree_9; } } } else { goto NODE_2; } } else { if (CONDITION_G) { if (CONDITION_D) { ACTION_49 goto cl_tree_15; } else { ACTION_50 goto cl_tree_15; } } else { ACTION_49 goto cl_tree_15; } } } } else { if (CONDITION_H) { if (CONDITION_F) { if (CONDITION_D) { ACTION_10 goto cl_tree_10; } else { NODE_4: if (CONDITION_B) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_J) { ACTION_39 goto cl_tree_10; } else { if (CONDITION_A) { ACTION_11 goto cl_tree_10; } else { ACTION_10 goto cl_tree_10; } } } } } else { if (CONDITION_D) { NODE_5: if (CONDITION_B) { ACTION_4 goto cl_tree_14; } else { goto NODE_3; } } else { if (CONDITION_B) { ACTION_22 goto cl_tree_14; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_68 goto cl_tree_13; } else { if (CONDITION_A) { ACTION_60 goto cl_tree_13; } else { ACTION_59 goto cl_tree_13; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_44 goto cl_tree_12; } else { ACTION_43 goto cl_tree_11; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_24 goto cl_tree_12; } else { ACTION_23 goto cl_tree_12; } } else { if (CONDITION_A) { ACTION_21 goto cl_tree_11; } else { ACTION_20 goto cl_tree_11; } } } } } } } } else { if (CONDITION_F) { if (CONDITION_D) { if (CONDITION_B) { ACTION_10 goto cl_tree_10; } else { ACTION_12 goto cl_tree_10; } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_18 goto cl_tree_10; } else { if (CONDITION_J) { ACTION_42 goto cl_tree_10; } else { if (CONDITION_A) { ACTION_19 goto cl_tree_10; } else { ACTION_18 goto cl_tree_10; } } } } else { goto NODE_4; } } } else { if (CONDITION_I) { if (CONDITION_D) { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { if (CONDITION_L) { ACTION_63 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_31 goto cl_tree_7; } else { ACTION_30 goto cl_tree_6; } } } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_34 goto cl_tree_9; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_70 goto cl_tree_8; } else { if (CONDITION_A) { ACTION_65 goto cl_tree_8; } else { ACTION_64 goto cl_tree_8; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_48 goto cl_tree_7; } else { ACTION_47 goto cl_tree_6; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_36 goto cl_tree_7; } else { ACTION_35 goto cl_tree_7; } } else { if (CONDITION_A) { ACTION_33 goto cl_tree_6; } else { ACTION_32 goto cl_tree_6; } } } } } } else { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_69 goto cl_tree_8; } else { if (CONDITION_A) { ACTION_62 goto cl_tree_8; } else { ACTION_61 goto cl_tree_8; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_46 goto cl_tree_7; } else { ACTION_45 goto cl_tree_6; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_29 goto cl_tree_7; } else { ACTION_28 goto cl_tree_7; } } else { if (CONDITION_A) { ACTION_26 goto cl_tree_6; } else { ACTION_25 goto cl_tree_6; } } } } } } } } else { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_L) { ACTION_56 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_8 goto cl_tree_3; } else { ACTION_7 goto cl_tree_2; } } } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_15 goto cl_tree_5; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_67 goto cl_tree_4; } else { if (CONDITION_A) { ACTION_58 goto cl_tree_4; } else { ACTION_57 goto cl_tree_4; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_41 goto cl_tree_3; } else { ACTION_40 goto cl_tree_2; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_17 goto cl_tree_3; } else { ACTION_16 goto cl_tree_3; } } else { if (CONDITION_A) { ACTION_14 goto cl_tree_2; } else { ACTION_13 goto cl_tree_2; } } } } } } else { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_66 goto cl_tree_4; } else { if (CONDITION_A) { ACTION_55 goto cl_tree_4; } else { ACTION_54 goto cl_tree_4; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_38 goto cl_tree_3; } else { ACTION_37 goto cl_tree_2; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_6 goto cl_tree_3; } else { ACTION_5 goto cl_tree_3; } } else { if (CONDITION_A) { ACTION_3 goto cl_tree_2; } else { ACTION_2 goto cl_tree_2; } } } } } } } } } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_2: if ((c+=1) >= w - 1) goto cl_break_0_2; if (CONDITION_X) { NODE_6: if (CONDITION_F) { ACTION_73 goto cl_tree_10; } else { if (CONDITION_I) { NODE_7: if (CONDITION_L) { ACTION_77 goto cl_tree_8; } else { if (CONDITION_C) { ACTION_75 goto cl_tree_7; } else { ACTION_74 goto cl_tree_6; } } } else { NODE_8: if (CONDITION_L) { ACTION_76 goto cl_tree_4; } else { if (CONDITION_C) { ACTION_72 goto cl_tree_3; } else { ACTION_71 goto cl_tree_2; } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_3: if ((c+=1) >= w - 1) goto cl_break_0_3; if (CONDITION_X) { NODE_9: if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { if (CONDITION_I) { ACTION_27 goto cl_tree_9; } else { ACTION_4 goto cl_tree_5; } } } else { ACTION_1 goto cl_tree_1; } cl_tree_4: if ((c+=1) >= w - 1) goto cl_break_0_4; if (CONDITION_X) { goto NODE_1; } else { ACTION_1 goto cl_tree_1; } cl_tree_5: if ((c+=1) >= w - 1) goto cl_break_0_5; if (CONDITION_X) { NODE_10: if (CONDITION_K) { goto NODE_1; } else { NODE_11: if (CONDITION_F) { if (CONDITION_B) { ACTION_10 goto cl_tree_10; } else { ACTION_73 goto cl_tree_10; } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_27 goto cl_tree_9; } else { goto NODE_7; } } else { if (CONDITION_B) { ACTION_4 goto cl_tree_5; } else { goto NODE_8; } } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_6: if ((c+=1) >= w - 1) goto cl_break_0_6; if (CONDITION_X) { NODE_12: if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { goto NODE_3; } } else { ACTION_1 goto cl_tree_1; } cl_tree_7: if ((c+=1) >= w - 1) goto cl_break_0_7; if (CONDITION_X) { NODE_13: if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { ACTION_4 goto cl_tree_14; } } else { ACTION_1 goto cl_tree_1; } cl_tree_8: if ((c+=1) >= w - 1) goto cl_break_0_4; if (CONDITION_X) { NODE_14: if (CONDITION_I) { ACTION_20 goto cl_tree_16; } else { ACTION_49 goto cl_tree_15; } } else { ACTION_1 goto cl_tree_1; } cl_tree_9: if ((c+=1) >= w - 1) goto cl_break_0_8; if (CONDITION_X) { NODE_15: if (CONDITION_K) { goto NODE_14; } else { NODE_16: if (CONDITION_F) { ACTION_10 goto cl_tree_10; } else { goto NODE_5; } } } else { ACTION_1 goto cl_tree_1; } cl_tree_10: if ((c+=1) >= w - 1) goto cl_break_0_9; if (CONDITION_X) { ACTION_9 goto cl_tree_17; } else { ACTION_1 goto cl_tree_1; } cl_tree_11: if ((c+=1) >= w - 1) goto cl_break_0_10; if (CONDITION_X) { if (CONDITION_H) { goto NODE_12; } else { goto NODE_6; } } else { ACTION_1 goto cl_tree_1; } cl_tree_12: if ((c+=1) >= w - 1) goto cl_break_0_11; if (CONDITION_X) { if (CONDITION_H) { goto NODE_13; } else { goto NODE_9; } } else { ACTION_1 goto cl_tree_1; } cl_tree_13: if ((c+=1) >= w - 1) goto cl_break_0_4; if (CONDITION_X) { NODE_17: if (CONDITION_I) { if (CONDITION_H) { ACTION_20 goto cl_tree_16; } else { goto NODE_2; } } else { ACTION_49 goto cl_tree_15; } } else { ACTION_1 goto cl_tree_1; } cl_tree_14: if ((c+=1) >= w - 1) goto cl_break_0_12; if (CONDITION_X) { NODE_18: if (CONDITION_K) { goto NODE_17; } else { if (CONDITION_H) { goto NODE_16; } else { goto NODE_11; } } } else { ACTION_1 goto cl_tree_1; } cl_tree_15: if ((c+=1) >= w - 1) goto cl_break_0_13; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto cl_tree_17; } else { goto NODE_10; } } else { ACTION_1 goto cl_tree_1; } cl_tree_16: if ((c+=1) >= w - 1) goto cl_break_0_14; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto cl_tree_17; } else { goto NODE_15; } } else { ACTION_1 goto cl_tree_1; } cl_tree_17: if ((c+=1) >= w - 1) goto cl_break_0_15; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto cl_tree_17; } else { goto NODE_18; } } else { ACTION_1 goto cl_tree_1; } cl_break_0_0: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { if (CONDITION_H) { ACTION_51 } else { ACTION_49 } } else { if (CONDITION_H) { if (CONDITION_B) { ACTION_22 } else { ACTION_20 } } else { if (CONDITION_B) { ACTION_4 } else { ACTION_2 } } } } } else { ACTION_1 } continue; cl_break_0_1: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { if (CONDITION_H) { if (CONDITION_D) { ACTION_49 } else { ACTION_51 } } else { if (CONDITION_G) { if (CONDITION_D) { ACTION_49 } else { ACTION_50 } } else { ACTION_49 } } } else { if (CONDITION_H) { if (CONDITION_D) { ACTION_7 } else { if (CONDITION_B) { ACTION_22 } else { if (CONDITION_J) { ACTION_43 } else { if (CONDITION_A) { ACTION_21 } else { ACTION_20 } } } } } else { if (CONDITION_D) { ACTION_7 } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_15 } else { if (CONDITION_J) { ACTION_40 } else { if (CONDITION_A) { ACTION_14 } else { ACTION_13 } } } } else { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_J) { ACTION_37 } else { if (CONDITION_A) { ACTION_3 } else { ACTION_2 } } } } } } } } } else { ACTION_1 } continue; cl_break_0_2: NODE_19: if (CONDITION_X) { ACTION_71 } else { ACTION_1 } continue; cl_break_0_3: goto NODE_19; continue; cl_break_0_4: goto NODE_19; continue; cl_break_0_5: goto NODE_19; continue; cl_break_0_6: goto NODE_19; continue; cl_break_0_7: goto NODE_19; continue; cl_break_0_8: goto NODE_19; continue; cl_break_0_9: if (CONDITION_X) { ACTION_9 } else { ACTION_1 } continue; cl_break_0_10: goto NODE_19; continue; cl_break_0_11: goto NODE_19; continue; cl_break_0_12: goto NODE_19; continue; cl_break_0_13: NODE_20: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { ACTION_71 } } else { ACTION_1 } continue; cl_break_0_14: goto NODE_20; continue; cl_break_0_15: goto NODE_20; continue; ================================================ FILE: include/labeling3D_PREDpp_2021_fl_forest.inc.h ================================================ fl_tree_0: if ((c+=1) >= w - 1) goto fl_break_0_0; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto fl_tree_6; } else { if (CONDITION_H) { NODE_21: if (CONDITION_F) { ACTION_10 goto fl_tree_4; } else { ACTION_20 goto fl_tree_5; } } else { if (CONDITION_F) { ACTION_10 goto fl_tree_4; } else { if (CONDITION_I) { ACTION_25 goto fl_tree_3; } else { ACTION_2 goto fl_tree_2; } } } } } else { ACTION_1 goto fl_tree_1; } fl_tree_1: if ((c+=1) >= w - 1) goto fl_break_0_1; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto fl_tree_6; } else { if (CONDITION_H) { goto NODE_21; } else { if (CONDITION_F) { if (CONDITION_D) { ACTION_12 goto fl_tree_4; } else { if (CONDITION_G) { ACTION_18 goto fl_tree_4; } else { ACTION_10 goto fl_tree_4; } } } else { if (CONDITION_I) { if (CONDITION_D) { ACTION_30 goto fl_tree_3; } else { if (CONDITION_G) { ACTION_32 goto fl_tree_3; } else { ACTION_25 goto fl_tree_3; } } } else { if (CONDITION_D) { ACTION_7 goto fl_tree_2; } else { if (CONDITION_G) { ACTION_13 goto fl_tree_2; } else { ACTION_2 goto fl_tree_2; } } } } } } } else { ACTION_1 goto fl_tree_1; } fl_tree_2: if ((c+=1) >= w - 1) goto fl_break_0_2; if (CONDITION_X) { NODE_22: if (CONDITION_F) { ACTION_73 goto fl_tree_4; } else { if (CONDITION_I) { ACTION_74 goto fl_tree_3; } else { ACTION_71 goto fl_tree_2; } } } else { ACTION_1 goto fl_tree_1; } fl_tree_3: if ((c+=1) >= w - 1) goto fl_break_0_3; if (CONDITION_X) { goto NODE_21; } else { ACTION_1 goto fl_tree_1; } fl_tree_4: if ((c+=1) >= w - 1) goto fl_break_0_4; if (CONDITION_X) { ACTION_9 goto fl_tree_6; } else { ACTION_1 goto fl_tree_1; } fl_tree_5: if ((c+=1) >= w - 1) goto fl_break_0_5; if (CONDITION_X) { NODE_23: if (CONDITION_H) { goto NODE_21; } else { goto NODE_22; } } else { ACTION_1 goto fl_tree_1; } fl_tree_6: if ((c+=1) >= w - 1) goto fl_break_0_6; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto fl_tree_6; } else { goto NODE_23; } } else { ACTION_1 goto fl_tree_1; } fl_break_0_0: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_H) { ACTION_20 } else { ACTION_2 } } } else { ACTION_1 } goto fl_; fl_break_0_1: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_H) { ACTION_20 } else { if (CONDITION_D) { ACTION_7 } else { if (CONDITION_G) { ACTION_13 } else { ACTION_2 } } } } } else { ACTION_1 } goto fl_; fl_break_0_2: NODE_24: if (CONDITION_X) { ACTION_71 } else { ACTION_1 } goto fl_; fl_break_0_3: goto NODE_24; goto fl_; fl_break_0_4: if (CONDITION_X) { ACTION_9 } else { ACTION_1 } goto fl_; fl_break_0_5: goto NODE_24; goto fl_; fl_break_0_6: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { ACTION_71 } } else { ACTION_1 } goto fl_; fl_:; ================================================ FILE: include/labeling3D_PREDpp_2021_ll_forest.inc.h ================================================ ll_tree_0: if ((c+=1) >= w - 1) goto ll_break_0_0; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto ll_tree_7; } else { if (CONDITION_K) { ACTION_49 goto ll_tree_7; } else { if (CONDITION_F) { ACTION_10 goto ll_tree_6; } else { if (CONDITION_B) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_L) { ACTION_54 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_5 goto ll_tree_3; } else { ACTION_2 goto ll_tree_2; } } } } } } } else { ACTION_1 goto ll_tree_1; } ll_tree_1: if ((c+=1) >= w - 1) goto ll_break_0_1; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto ll_tree_7; } else { if (CONDITION_K) { ACTION_49 goto ll_tree_7; } else { if (CONDITION_F) { if (CONDITION_D) { if (CONDITION_B) { ACTION_10 goto ll_tree_6; } else { ACTION_12 goto ll_tree_6; } } else { if (CONDITION_B) { ACTION_10 goto ll_tree_6; } else { if (CONDITION_J) { ACTION_39 goto ll_tree_6; } else { if (CONDITION_A) { ACTION_11 goto ll_tree_6; } else { ACTION_10 goto ll_tree_6; } } } } } else { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_L) { ACTION_56 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_8 goto ll_tree_3; } else { ACTION_7 goto ll_tree_2; } } } } else { if (CONDITION_B) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_66 goto ll_tree_4; } else { if (CONDITION_A) { ACTION_55 goto ll_tree_4; } else { ACTION_54 goto ll_tree_4; } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_38 goto ll_tree_3; } else { ACTION_37 goto ll_tree_2; } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_6 goto ll_tree_3; } else { ACTION_5 goto ll_tree_3; } } else { if (CONDITION_A) { ACTION_3 goto ll_tree_2; } else { ACTION_2 goto ll_tree_2; } } } } } } } } } } else { ACTION_1 goto ll_tree_1; } ll_tree_2: if ((c+=1) >= w - 1) goto ll_break_0_2; if (CONDITION_X) { if (CONDITION_F) { ACTION_73 goto ll_tree_6; } else { NODE_25: if (CONDITION_L) { ACTION_76 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_72 goto ll_tree_3; } else { ACTION_71 goto ll_tree_2; } } } } else { ACTION_1 goto ll_tree_1; } ll_tree_3: if ((c+=1) >= w - 1) goto ll_break_0_3; if (CONDITION_X) { if (CONDITION_F) { ACTION_10 goto ll_tree_6; } else { ACTION_4 goto ll_tree_5; } } else { ACTION_1 goto ll_tree_1; } ll_tree_4: if ((c+=1) >= w - 1) goto ll_break_0_4; if (CONDITION_X) { ACTION_49 goto ll_tree_7; } else { ACTION_1 goto ll_tree_1; } ll_tree_5: if ((c+=1) >= w - 1) goto ll_break_0_5; if (CONDITION_X) { NODE_26: if (CONDITION_K) { ACTION_49 goto ll_tree_7; } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_10 goto ll_tree_6; } else { ACTION_73 goto ll_tree_6; } } else { if (CONDITION_B) { ACTION_4 goto ll_tree_5; } else { goto NODE_25; } } } } else { ACTION_1 goto ll_tree_1; } ll_tree_6: if ((c+=1) >= w - 1) goto ll_break_0_6; if (CONDITION_X) { ACTION_9 goto ll_tree_7; } else { ACTION_1 goto ll_tree_1; } ll_tree_7: if ((c+=1) >= w - 1) goto ll_break_0_7; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto ll_tree_7; } else { goto NODE_26; } } else { ACTION_1 goto ll_tree_1; } ll_break_0_0: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_B) { ACTION_4 } else { ACTION_2 } } } } else { ACTION_1 } goto ll_; ll_break_0_1: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_K) { ACTION_49 } else { if (CONDITION_D) { ACTION_7 } else { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_J) { ACTION_37 } else { if (CONDITION_A) { ACTION_3 } else { ACTION_2 } } } } } } } else { ACTION_1 } goto ll_; ll_break_0_2: NODE_27: if (CONDITION_X) { ACTION_71 } else { ACTION_1 } goto ll_; ll_break_0_3: goto NODE_27; goto ll_; ll_break_0_4: goto NODE_27; goto ll_; ll_break_0_5: goto NODE_27; goto ll_; ll_break_0_6: if (CONDITION_X) { ACTION_9 } else { ACTION_1 } goto ll_; ll_break_0_7: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { ACTION_71 } } else { ACTION_1 } goto ll_; ll_:; ================================================ FILE: include/labeling3D_PREDpp_2021_sl_forest.inc.h ================================================ sl_tree_0: if ((c+=1) >= w - 1) goto sl_break_0_0; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto sl_tree_4; } else { if (CONDITION_F) { ACTION_10 goto sl_tree_3; } else { ACTION_2 goto sl_tree_2; } } } else { ACTION_1 goto sl_tree_1; } sl_tree_1: if ((c+=1) >= w - 1) goto sl_break_0_1; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto sl_tree_4; } else { if (CONDITION_F) { if (CONDITION_D) { ACTION_12 goto sl_tree_3; } else { ACTION_10 goto sl_tree_3; } } else { if (CONDITION_D) { ACTION_7 goto sl_tree_2; } else { ACTION_2 goto sl_tree_2; } } } } else { ACTION_1 goto sl_tree_1; } sl_tree_2: if ((c+=1) >= w - 1) goto sl_break_0_2; if (CONDITION_X) { NODE_28: if (CONDITION_F) { ACTION_73 goto sl_tree_3; } else { ACTION_71 goto sl_tree_2; } } else { ACTION_1 goto sl_tree_1; } sl_tree_3: if ((c+=1) >= w - 1) goto sl_break_0_3; if (CONDITION_X) { ACTION_9 goto sl_tree_4; } else { ACTION_1 goto sl_tree_1; } sl_tree_4: if ((c+=1) >= w - 1) goto sl_break_0_4; if (CONDITION_X) { if (CONDITION_E) { ACTION_9 goto sl_tree_4; } else { goto NODE_28; } } else { ACTION_1 goto sl_tree_1; } sl_break_0_0: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { ACTION_2 } } else { ACTION_1 } goto sl_; sl_break_0_1: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_D) { ACTION_7 } else { ACTION_2 } } } else { ACTION_1 } goto sl_; sl_break_0_2: if (CONDITION_X) { ACTION_71 } else { ACTION_1 } goto sl_; sl_break_0_3: if (CONDITION_X) { ACTION_9 } else { ACTION_1 } goto sl_; sl_break_0_4: if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { ACTION_71 } } else { ACTION_1 } goto sl_; sl_:; ================================================ FILE: include/labeling3D_SAUF_2021.h ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING3D_SAUF_H_ #define YACCLAB_LABELING3D_SAUF_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" //Actions: // Action 1: nothing #define ACTION_1 img_labels_slice00_row00[c] = 0; continue; // Action 2: x<-newlabel #define ACTION_2 img_labels_slice00_row00[c] = LabelsSolver::NewLabel(); continue; // Action 3: x<-a #define ACTION_3 img_labels_slice00_row00[c] = img_labels_slice11_row11[c - 1]; continue; // Action 4: x<-b #define ACTION_4 img_labels_slice00_row00[c] = img_labels_slice11_row11[c]; continue; // Action 5: x<-c #define ACTION_5 img_labels_slice00_row00[c] = img_labels_slice11_row11[c + 1]; continue; // Action 6: x<-a+c #define ACTION_6 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row11[c + 1], img_labels_slice11_row11[c - 1]); continue; // Action 7: x<-d #define ACTION_7 img_labels_slice00_row00[c] = img_labels_slice11_row00[c - 1]; continue; // Action 8: x<-c+d #define ACTION_8 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 1], img_labels_slice11_row11[c + 1]); continue; // Action 9: x<-e #define ACTION_9 img_labels_slice00_row00[c] = img_labels_slice11_row00[c]; continue; // Action 10: x<-f #define ACTION_10 img_labels_slice00_row00[c] = img_labels_slice11_row00[c + 1]; continue; // Action 11: x<-a+f #define ACTION_11 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row11[c - 1]); continue; // Action 12: x<-d+f #define ACTION_12 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row00[c - 1]); continue; // Action 13: x<-g #define ACTION_13 img_labels_slice00_row00[c] = img_labels_slice11_row01[c - 1]; continue; // Action 14: x<-a+g #define ACTION_14 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c - 1]); continue; // Action 15: x<-b+g #define ACTION_15 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c]); continue; // Action 16: x<-c+g #define ACTION_16 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1]); continue; // Action 17: x<-a+c+g #define ACTION_17 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); continue; // Action 18: x<-f+g #define ACTION_18 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row00[c + 1]); continue; // Action 19: x<-a+f+g #define ACTION_19 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row00[c + 1]), img_labels_slice11_row11[c - 1]); continue; // Action 20: x<-h #define ACTION_20 img_labels_slice00_row00[c] = img_labels_slice11_row01[c]; continue; // Action 21: x<-a+h #define ACTION_21 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 1]); continue; // Action 22: x<-b+h #define ACTION_22 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]); continue; // Action 23: x<-c+h #define ACTION_23 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 1]); continue; // Action 24: x<-a+c+h #define ACTION_24 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); continue; // Action 25: x<-i #define ACTION_25 img_labels_slice00_row00[c] = img_labels_slice11_row01[c + 1]; continue; // Action 26: x<-a+i #define ACTION_26 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c - 1]); continue; // Action 27: x<-b+i #define ACTION_27 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c]); continue; // Action 28: x<-c+i #define ACTION_28 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c + 1]); continue; // Action 29: x<-a+c+i #define ACTION_29 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); continue; // Action 30: x<-d+i #define ACTION_30 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row00[c - 1]); continue; // Action 31: x<-c+d+i #define ACTION_31 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row00[c - 1]), img_labels_slice11_row11[c + 1]); continue; // Action 32: x<-g+i #define ACTION_32 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]); continue; // Action 33: x<-a+g+i #define ACTION_33 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c - 1]); continue; // Action 34: x<-b+g+i #define ACTION_34 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c]); continue; // Action 35: x<-c+g+i #define ACTION_35 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c + 1]); continue; // Action 36: x<-a+c+g+i #define ACTION_36 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), LabelsSolver::Merge(img_labels_slice11_row11[c + 1], img_labels_slice11_row11[c - 1])); continue; // Action 37: x<-j #define ACTION_37 img_labels_slice00_row00[c] = img_labels_slice00_row11[c - 1]; continue; // Action 38: x<-c+j #define ACTION_38 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row11[c + 1]); continue; // Action 39: x<-f+j #define ACTION_39 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row00[c + 1]); continue; // Action 40: x<-g+j #define ACTION_40 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]); continue; // Action 41: x<-c+g+j #define ACTION_41 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c + 1]); continue; // Action 42: x<-f+g+j #define ACTION_42 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row00[c + 1]); continue; // Action 43: x<-h+j #define ACTION_43 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c]); continue; // Action 44: x<-c+h+j #define ACTION_44 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 1]); continue; // Action 45: x<-i+j #define ACTION_45 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]); continue; // Action 46: x<-c+i+j #define ACTION_46 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c + 1]); continue; // Action 47: x<-g+i+j #define ACTION_47 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); continue; // Action 48: x<-c+g+i+j #define ACTION_48 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1])); continue; // Action 49: x<-k #define ACTION_49 img_labels_slice00_row00[c] = img_labels_slice00_row11[c]; continue; // Action 50: x<-g+k #define ACTION_50 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 1]); continue; // Action 51: x<-h+k #define ACTION_51 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]); continue; // Action 52: x<-i+k #define ACTION_52 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 1]); continue; // Action 53: x<-g+i+k #define ACTION_53 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); continue; // Action 54: x<-l #define ACTION_54 img_labels_slice00_row00[c] = img_labels_slice00_row11[c + 1]; continue; // Action 55: x<-a+l #define ACTION_55 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row11[c - 1]); continue; // Action 56: x<-d+l #define ACTION_56 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row00[c - 1]); continue; // Action 57: x<-g+l #define ACTION_57 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c - 1]); continue; // Action 58: x<-a+g+l #define ACTION_58 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c - 1]); continue; // Action 59: x<-h+l #define ACTION_59 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c]); continue; // Action 60: x<-a+h+l #define ACTION_60 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 1]); continue; // Action 61: x<-i+l #define ACTION_61 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]); continue; // Action 62: x<-a+i+l #define ACTION_62 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c - 1]); continue; // Action 63: x<-d+i+l #define ACTION_63 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row00[c - 1]); continue; // Action 64: x<-g+i+l #define ACTION_64 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); continue; // Action 65: x<-a+g+i+l #define ACTION_65 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c - 1])); continue; // Action 66: x<-j+l #define ACTION_66 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]); continue; // Action 67: x<-g+j+l #define ACTION_67 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c - 1]); continue; // Action 68: x<-h+j+l #define ACTION_68 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c]); continue; // Action 69: x<-i+j+l #define ACTION_69 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c + 1]); continue; // Action 70: x<-g+i+j+l #define ACTION_70 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1])); continue; // Action 71: x<-m #define ACTION_71 img_labels_slice00_row00[c] = img_labels_slice00_row00[c - 1]; continue; // Action 72: x<-c+m #define ACTION_72 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row11[c + 1]); continue; // Action 73: x<-f+m #define ACTION_73 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row00[c + 1]); continue; // Action 74: x<-i+m #define ACTION_74 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row01[c + 1]); continue; // Action 75: x<-c+i+m #define ACTION_75 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c + 1]); continue; // Action 76: x<-l+m #define ACTION_76 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice00_row11[c + 1]); continue; // Action 77: x<-i+l+m #define ACTION_77 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice00_row11[c + 1]), img_labels_slice11_row01[c + 1]); continue; template class SAUF_3D : public Labeling3D { public: SAUF_3D() {} void FirstSlice(unsigned int d, unsigned int w, unsigned int h) { // First slice //Conditions for the first slice: TODO generate also first slice forest #define CONDITION_A false #define CONDITION_B false #define CONDITION_C false #define CONDITION_D false #define CONDITION_E false #define CONDITION_F false #define CONDITION_G false #define CONDITION_H false #define CONDITION_I false #define CONDITION_J c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_K r > 0 && img_slice00_row11[c] > 0 #define CONDITION_L c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_M c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 for (unsigned int r = 0; r < h; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(0, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(0, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c++) { #include "labeling3D_SAUF_2021_tree.inc.h" } } // Rows cycle end #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X } void PerformLabeling() { img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask 3D // +-+-+-+ // |a|b|c| // +-+-+-+ // |d|e|f| // +-+-+-+ // |g|h|i| // +-+-+-+ // // +-+-+-+ // |j|k|l| // +-+-+-+ // |m|x| // +-+-+ // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; // First slice FirstSlice(d, w, h); //Conditions: #define CONDITION_A c > 0 && r > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_B r > 0 && img_slice11_row11[c] > 0 #define CONDITION_C c < w - 1 && r > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_D c > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_E img_slice11_row00[c] > 0 #define CONDITION_F c < w - 1 && img_slice11_row00[c + 1] > 0 #define CONDITION_G c > 0 && r < h - 1 && img_slice11_row01[c - 1] > 0 #define CONDITION_H r < h - 1 && img_slice11_row01[c] > 0 #define CONDITION_I c < w - 1 && r < h - 1 && img_slice11_row01[c + 1] > 0 #define CONDITION_J c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_K r > 0 && img_slice00_row11[c] > 0 #define CONDITION_L c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_M c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 for (unsigned int s = 1; s < d; s++) { for (unsigned int r = 0; r < h; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c++) { #include "labeling3D_SAUF_2021_tree.inc.h" } } // Rows cycle end } // Planes cycle end #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X // Second scan LabelsSolver::Flatten(); int * img_row = reinterpret_cast(img_labels_.data); for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { for (unsigned int c = 0; c < w; c++) { img_row[c] = LabelsSolver::GetLabel(img_row[c]); } img_row += img_labels_.step[1] / sizeof(int); } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; FirstSlice(d, w, h); //Conditions: #define CONDITION_A c > 0 && r > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_B r > 0 && img_slice11_row11[c] > 0 #define CONDITION_C c < w - 1 && r > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_D c > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_E img_slice11_row00[c] > 0 #define CONDITION_F c < w - 1 && img_slice11_row00[c + 1] > 0 #define CONDITION_G c > 0 && r < h - 1 && img_slice11_row01[c - 1] > 0 #define CONDITION_H r < h - 1 && img_slice11_row01[c] > 0 #define CONDITION_I c < w - 1 && r < h - 1 && img_slice11_row01[c + 1] > 0 #define CONDITION_J c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_K r > 0 && img_slice00_row11[c] > 0 #define CONDITION_L c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_M c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 for (unsigned int s = 1; s < d; s++) { for (unsigned int r = 0; r < h; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c++) { #include "labeling3D_SAUF_2021_tree.inc.h" } } // Rows cycle end } // Planes cycle end } void SecondScan() { LabelsSolver::Flatten(); unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; int * img_row = reinterpret_cast(img_labels_.data); for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { for (unsigned int c = 0; c < w; c++) { img_row[c] = LabelsSolver::GetLabel(img_row[c]); } img_row += img_labels_.step.p[1] / sizeof(int); } } } }; #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef ACTION_17 #undef ACTION_18 #undef ACTION_19 #undef ACTION_20 #undef ACTION_21 #undef ACTION_22 #undef ACTION_23 #undef ACTION_24 #undef ACTION_25 #undef ACTION_26 #undef ACTION_27 #undef ACTION_28 #undef ACTION_29 #undef ACTION_30 #undef ACTION_31 #undef ACTION_32 #undef ACTION_33 #undef ACTION_34 #undef ACTION_35 #undef ACTION_36 #undef ACTION_37 #undef ACTION_38 #undef ACTION_39 #undef ACTION_40 #undef ACTION_41 #undef ACTION_42 #undef ACTION_43 #undef ACTION_44 #undef ACTION_45 #undef ACTION_46 #undef ACTION_47 #undef ACTION_48 #undef ACTION_49 #undef ACTION_50 #undef ACTION_51 #undef ACTION_52 #undef ACTION_53 #undef ACTION_54 #undef ACTION_55 #undef ACTION_56 #undef ACTION_57 #undef ACTION_58 #undef ACTION_59 #undef ACTION_60 #undef ACTION_61 #undef ACTION_62 #undef ACTION_63 #undef ACTION_64 #undef ACTION_65 #undef ACTION_66 #undef ACTION_67 #undef ACTION_68 #undef ACTION_69 #undef ACTION_70 #undef ACTION_71 #undef ACTION_72 #undef ACTION_73 #undef ACTION_74 #undef ACTION_75 #undef ACTION_76 #undef ACTION_77 #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X #endif // YACCLAB_LABELING3D_SAUF_H_ ================================================ FILE: include/labeling3D_SAUF_2021_tree.inc.h ================================================ if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_M) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_H) { ACTION_20 } else { if (CONDITION_F) { ACTION_10 } else { ACTION_52 } } } else { ACTION_49 } } else { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 } else { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_L) { ACTION_59 } else { if (CONDITION_C) { ACTION_23 } else { ACTION_20 } } } } } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 } else { ACTION_73 } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_27 } else { if (CONDITION_L) { ACTION_77 } else { if (CONDITION_C) { ACTION_75 } else { ACTION_74 } } } } else { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_L) { ACTION_76 } else { if (CONDITION_C) { ACTION_72 } else { ACTION_71 } } } } } } } } else { if (CONDITION_K) { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 } else { if (CONDITION_D) { ACTION_7 } else { ACTION_51 } } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_F) { if (CONDITION_D) { ACTION_7 } else { ACTION_18 } } else { if (CONDITION_D) { ACTION_30 } else { ACTION_53 } } } else { if (CONDITION_F) { ACTION_10 } else { ACTION_52 } } } else { if (CONDITION_G) { if (CONDITION_D) { ACTION_7 } else { ACTION_50 } } else { ACTION_49 } } } } else { if (CONDITION_H) { if (CONDITION_F) { if (CONDITION_D) { ACTION_7 } else { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_J) { ACTION_39 } else { if (CONDITION_A) { ACTION_11 } else { ACTION_10 } } } } } else { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_L) { ACTION_56 } else { if (CONDITION_C) { ACTION_8 } else { ACTION_7 } } } } else { if (CONDITION_B) { ACTION_22 } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_68 } else { if (CONDITION_A) { ACTION_60 } else { ACTION_59 } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_44 } else { ACTION_43 } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_24 } else { ACTION_23 } } else { if (CONDITION_A) { ACTION_21 } else { ACTION_20 } } } } } } } } else { if (CONDITION_F) { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 } else { ACTION_12 } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_15 } else { if (CONDITION_J) { ACTION_42 } else { if (CONDITION_A) { ACTION_19 } else { ACTION_18 } } } } else { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_J) { ACTION_39 } else { if (CONDITION_A) { ACTION_11 } else { ACTION_10 } } } } } } else { if (CONDITION_I) { if (CONDITION_D) { if (CONDITION_B) { ACTION_27 } else { if (CONDITION_L) { ACTION_63 } else { if (CONDITION_C) { ACTION_31 } else { ACTION_30 } } } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_34 } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_70 } else { if (CONDITION_A) { ACTION_65 } else { ACTION_64 } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_48 } else { ACTION_47 } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_36 } else { ACTION_35 } } else { if (CONDITION_A) { ACTION_33 } else { ACTION_32 } } } } } } else { if (CONDITION_B) { ACTION_27 } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_69 } else { if (CONDITION_A) { ACTION_62 } else { ACTION_61 } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_46 } else { ACTION_45 } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_29 } else { ACTION_28 } } else { if (CONDITION_A) { ACTION_26 } else { ACTION_25 } } } } } } } } else { if (CONDITION_D) { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_L) { ACTION_56 } else { if (CONDITION_C) { ACTION_8 } else { ACTION_7 } } } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_15 } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_67 } else { if (CONDITION_A) { ACTION_58 } else { ACTION_57 } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_41 } else { ACTION_40 } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_17 } else { ACTION_16 } } else { if (CONDITION_A) { ACTION_14 } else { ACTION_13 } } } } } } else { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_66 } else { if (CONDITION_A) { ACTION_55 } else { ACTION_54 } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_38 } else { ACTION_37 } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_6 } else { ACTION_5 } } else { if (CONDITION_A) { ACTION_3 } else { ACTION_2 } } } } } } } } } } } } } } else { ACTION_1 } ================================================ FILE: include/labeling3D_SAUFpp_2021.h ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING3D_SAUFPP_H_ #define YACCLAB_LABELING3D_SAUFPP_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" //Actions: // Action 1: nothing #define ACTION_1 img_labels_slice00_row00[c] = 0; continue; // Action 2: x<-newlabel #define ACTION_2 img_labels_slice00_row00[c] = LabelsSolver::NewLabel(); continue; // Action 3: x<-a #define ACTION_3 img_labels_slice00_row00[c] = img_labels_slice11_row11[c - 1]; continue; // Action 4: x<-b #define ACTION_4 img_labels_slice00_row00[c] = img_labels_slice11_row11[c]; continue; // Action 5: x<-c #define ACTION_5 img_labels_slice00_row00[c] = img_labels_slice11_row11[c + 1]; continue; // Action 6: x<-a+c #define ACTION_6 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row11[c + 1], img_labels_slice11_row11[c - 1]); continue; // Action 7: x<-d #define ACTION_7 img_labels_slice00_row00[c] = img_labels_slice11_row00[c - 1]; continue; // Action 8: x<-c+d #define ACTION_8 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c - 1], img_labels_slice11_row11[c + 1]); continue; // Action 9: x<-e #define ACTION_9 img_labels_slice00_row00[c] = img_labels_slice11_row00[c]; continue; // Action 10: x<-f #define ACTION_10 img_labels_slice00_row00[c] = img_labels_slice11_row00[c + 1]; continue; // Action 11: x<-a+f #define ACTION_11 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row11[c - 1]); continue; // Action 12: x<-d+f #define ACTION_12 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row00[c - 1]); continue; // Action 13: x<-g #define ACTION_13 img_labels_slice00_row00[c] = img_labels_slice11_row01[c - 1]; continue; // Action 14: x<-a+g #define ACTION_14 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c - 1]); continue; // Action 15: x<-b+g #define ACTION_15 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c]); continue; // Action 16: x<-c+g #define ACTION_16 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1]); continue; // Action 17: x<-a+c+g #define ACTION_17 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); continue; // Action 18: x<-f+g #define ACTION_18 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row00[c + 1]); continue; // Action 19: x<-a+f+g #define ACTION_19 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row00[c + 1]), img_labels_slice11_row11[c - 1]); continue; // Action 20: x<-h #define ACTION_20 img_labels_slice00_row00[c] = img_labels_slice11_row01[c]; continue; // Action 21: x<-a+h #define ACTION_21 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 1]); continue; // Action 22: x<-b+h #define ACTION_22 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]); continue; // Action 23: x<-c+h #define ACTION_23 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 1]); continue; // Action 24: x<-a+c+h #define ACTION_24 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); continue; // Action 25: x<-i #define ACTION_25 img_labels_slice00_row00[c] = img_labels_slice11_row01[c + 1]; continue; // Action 26: x<-a+i #define ACTION_26 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c - 1]); continue; // Action 27: x<-b+i #define ACTION_27 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c]); continue; // Action 28: x<-c+i #define ACTION_28 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c + 1]); continue; // Action 29: x<-a+c+i #define ACTION_29 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c + 1]), img_labels_slice11_row11[c - 1]); continue; // Action 30: x<-d+i #define ACTION_30 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row00[c - 1]); continue; // Action 31: x<-c+d+i #define ACTION_31 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row00[c - 1]), img_labels_slice11_row11[c + 1]); continue; // Action 32: x<-g+i #define ACTION_32 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]); continue; // Action 33: x<-a+g+i #define ACTION_33 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c - 1]); continue; // Action 34: x<-b+g+i #define ACTION_34 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c]); continue; // Action 35: x<-c+g+i #define ACTION_35 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c + 1]); continue; // Action 36: x<-a+c+g+i #define ACTION_36 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]), LabelsSolver::Merge(img_labels_slice11_row11[c + 1], img_labels_slice11_row11[c - 1])); continue; // Action 37: x<-j #define ACTION_37 img_labels_slice00_row00[c] = img_labels_slice00_row11[c - 1]; continue; // Action 38: x<-c+j #define ACTION_38 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row11[c + 1]); continue; // Action 39: x<-f+j #define ACTION_39 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row00[c + 1]); continue; // Action 40: x<-g+j #define ACTION_40 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]); continue; // Action 41: x<-c+g+j #define ACTION_41 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c + 1]); continue; // Action 42: x<-f+g+j #define ACTION_42 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row00[c + 1]); continue; // Action 43: x<-h+j #define ACTION_43 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c]); continue; // Action 44: x<-c+h+j #define ACTION_44 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c]), img_labels_slice11_row11[c + 1]); continue; // Action 45: x<-i+j #define ACTION_45 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]); continue; // Action 46: x<-c+i+j #define ACTION_46 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c + 1]); continue; // Action 47: x<-g+i+j #define ACTION_47 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); continue; // Action 48: x<-c+g+i+j #define ACTION_48 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]), LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1])); continue; // Action 49: x<-k #define ACTION_49 img_labels_slice00_row00[c] = img_labels_slice00_row11[c]; continue; // Action 50: x<-g+k #define ACTION_50 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 1]); continue; // Action 51: x<-h+k #define ACTION_51 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]); continue; // Action 52: x<-i+k #define ACTION_52 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 1]); continue; // Action 53: x<-g+i+k #define ACTION_53 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); continue; // Action 54: x<-l #define ACTION_54 img_labels_slice00_row00[c] = img_labels_slice00_row11[c + 1]; continue; // Action 55: x<-a+l #define ACTION_55 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row11[c - 1]); continue; // Action 56: x<-d+l #define ACTION_56 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row00[c - 1]); continue; // Action 57: x<-g+l #define ACTION_57 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c - 1]); continue; // Action 58: x<-a+g+l #define ACTION_58 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c - 1]), img_labels_slice11_row11[c - 1]); continue; // Action 59: x<-h+l #define ACTION_59 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c]); continue; // Action 60: x<-a+h+l #define ACTION_60 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c]), img_labels_slice11_row11[c - 1]); continue; // Action 61: x<-i+l #define ACTION_61 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]); continue; // Action 62: x<-a+i+l #define ACTION_62 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c - 1]); continue; // Action 63: x<-d+i+l #define ACTION_63 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row00[c - 1]); continue; // Action 64: x<-g+i+l #define ACTION_64 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row01[c - 1]); continue; // Action 65: x<-a+g+i+l #define ACTION_65 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]), LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c - 1])); continue; // Action 66: x<-j+l #define ACTION_66 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]); continue; // Action 67: x<-g+j+l #define ACTION_67 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c - 1]); continue; // Action 68: x<-h+j+l #define ACTION_68 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c]); continue; // Action 69: x<-i+j+l #define ACTION_69 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), img_labels_slice11_row01[c + 1]); continue; // Action 70: x<-g+i+j+l #define ACTION_70 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]), LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1])); continue; // Action 71: x<-m #define ACTION_71 img_labels_slice00_row00[c] = img_labels_slice00_row00[c - 1]; continue; // Action 72: x<-c+m #define ACTION_72 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row11[c + 1]); continue; // Action 73: x<-f+m #define ACTION_73 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row00[c + 1]); continue; // Action 74: x<-i+m #define ACTION_74 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row01[c + 1]); continue; // Action 75: x<-c+i+m #define ACTION_75 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row01[c + 1]), img_labels_slice11_row11[c + 1]); continue; // Action 76: x<-l+m #define ACTION_76 img_labels_slice00_row00[c] = LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice00_row11[c + 1]); continue; // Action 77: x<-i+l+m #define ACTION_77 img_labels_slice00_row00[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice00_row11[c + 1]), img_labels_slice11_row01[c + 1]); continue; template class SAUFpp_3D : public Labeling3D { public: SAUFpp_3D() {} void FirstSlice(unsigned int d, unsigned int w, unsigned int h) { // First slice //Conditions for the first slice: TODO generate also first slice forest #define CONDITION_A false #define CONDITION_B false #define CONDITION_C false #define CONDITION_D false #define CONDITION_E false #define CONDITION_F false #define CONDITION_G false #define CONDITION_H false #define CONDITION_I false #define CONDITION_J c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_K r > 0 && img_slice00_row11[c] > 0 #define CONDITION_L c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_M c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 for (unsigned int r = 0; r < h; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(0, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(0, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c++) { #include "labeling3D_SAUFpp_2021_tree.inc.h" } } // Rows cycle end #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X } void PerformLabeling() { img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask 3D // +-+-+-+ // |a|b|c| // +-+-+-+ // |d|e|f| // +-+-+-+ // |g|h|i| // +-+-+-+ // // +-+-+-+ // |j|k|l| // +-+-+-+ // |m|x| // +-+-+ // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; // First slice FirstSlice(d, w, h); //Conditions: #define CONDITION_A c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_B r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_C c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_D c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_E s > 0 && img_slice11_row00[c] > 0 #define CONDITION_F c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_G c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_H r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_I c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_J c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_K r > 0 && img_slice00_row11[c] > 0 #define CONDITION_L c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_M c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 for (unsigned int s = 1; s < d; s++) { for (unsigned int r = 0; r < h; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c++) { #include "labeling3D_SAUFpp_2021_tree.inc.h" } } // Rows cycle end } // Planes cycle end #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X // Second scan LabelsSolver::Flatten(); int * img_row = reinterpret_cast(img_labels_.data); for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { for (unsigned int c = 0; c < w; c++) { img_row[c] = LabelsSolver::GetLabel(img_row[c]); } img_row += img_labels_.step[1] / sizeof(int); } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; FirstSlice(d, w, h); //Conditions: #define CONDITION_A c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_B r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_C c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_D c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_E s > 0 && img_slice11_row00[c] > 0 #define CONDITION_F c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_G c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_H r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_I c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 #define CONDITION_J c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_K r > 0 && img_slice00_row11[c] > 0 #define CONDITION_L c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_M c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_X img_slice00_row00[c] > 0 for (unsigned int s = 1; s < d; s++) { for (unsigned int r = 0; r < h; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c++) { #include "labeling3D_SAUFpp_2021_tree.inc.h" } } // Rows cycle end } // Planes cycle end #undef CONDITION_A #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_F #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_L #undef CONDITION_M #undef CONDITION_X } void SecondScan() { LabelsSolver::Flatten(); unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; int * img_row = reinterpret_cast(img_labels_.data); for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { for (unsigned int c = 0; c < w; c++) { img_row[c] = LabelsSolver::GetLabel(img_row[c]); } img_row += img_labels_.step.p[1] / sizeof(int); } } } }; #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef ACTION_17 #undef ACTION_18 #undef ACTION_19 #undef ACTION_20 #undef ACTION_21 #undef ACTION_22 #undef ACTION_23 #undef ACTION_24 #undef ACTION_25 #undef ACTION_26 #undef ACTION_27 #undef ACTION_28 #undef ACTION_29 #undef ACTION_30 #undef ACTION_31 #undef ACTION_32 #undef ACTION_33 #undef ACTION_34 #undef ACTION_35 #undef ACTION_36 #undef ACTION_37 #undef ACTION_38 #undef ACTION_39 #undef ACTION_40 #undef ACTION_41 #undef ACTION_42 #undef ACTION_43 #undef ACTION_44 #undef ACTION_45 #undef ACTION_46 #undef ACTION_47 #undef ACTION_48 #undef ACTION_49 #undef ACTION_50 #undef ACTION_51 #undef ACTION_52 #undef ACTION_53 #undef ACTION_54 #undef ACTION_55 #undef ACTION_56 #undef ACTION_57 #undef ACTION_58 #undef ACTION_59 #undef ACTION_60 #undef ACTION_61 #undef ACTION_62 #undef ACTION_63 #undef ACTION_64 #undef ACTION_65 #undef ACTION_66 #undef ACTION_67 #undef ACTION_68 #undef ACTION_69 #undef ACTION_70 #undef ACTION_71 #undef ACTION_72 #undef ACTION_73 #undef ACTION_74 #undef ACTION_75 #undef ACTION_76 #undef ACTION_77 #endif // YACCLAB_LABELING3D_SAUFPP_H_ ================================================ FILE: include/labeling3D_SAUFpp_2021_tree.inc.h ================================================ if (CONDITION_X) { if (CONDITION_E) { ACTION_9 } else { if (CONDITION_M) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_H) { ACTION_25 } else { NODE_1: if (CONDITION_F) { ACTION_25 } else { ACTION_52 } } } else { ACTION_49 } } else { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 } else { NODE_2: if (CONDITION_B) { ACTION_4 } else { if (CONDITION_L) { ACTION_76 } else { if (CONDITION_C) { ACTION_72 } else { ACTION_71 } } } } } else { if (CONDITION_F) { if (CONDITION_B) { ACTION_4 } else { ACTION_73 } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_27 } else { if (CONDITION_L) { ACTION_77 } else { if (CONDITION_C) { ACTION_75 } else { ACTION_74 } } } } else { goto NODE_2; } } } } } else { if (CONDITION_K) { if (CONDITION_H) { if (CONDITION_F) { ACTION_10 } else { if (CONDITION_D) { ACTION_7 } else { ACTION_51 } } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_F) { NODE_3: if (CONDITION_D) { ACTION_7 } else { ACTION_50 } } else { if (CONDITION_D) { ACTION_32 } else { ACTION_53 } } } else { goto NODE_1; } } else { if (CONDITION_G) { goto NODE_3; } else { ACTION_49 } } } } else { if (CONDITION_H) { if (CONDITION_F) { if (CONDITION_D) { ACTION_7 } else { NODE_4: if (CONDITION_B) { ACTION_4 } else { if (CONDITION_J) { ACTION_39 } else { if (CONDITION_A) { ACTION_11 } else { ACTION_10 } } } } } else { if (CONDITION_D) { NODE_5: if (CONDITION_B) { ACTION_7 } else { if (CONDITION_L) { ACTION_56 } else { if (CONDITION_C) { ACTION_8 } else { ACTION_7 } } } } else { if (CONDITION_B) { ACTION_22 } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_68 } else { if (CONDITION_A) { ACTION_60 } else { ACTION_59 } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_44 } else { ACTION_43 } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_24 } else { ACTION_23 } } else { if (CONDITION_A) { ACTION_21 } else { ACTION_20 } } } } } } } } else { if (CONDITION_F) { if (CONDITION_D) { if (CONDITION_B) { ACTION_7 } else { ACTION_12 } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_18 } else { if (CONDITION_J) { ACTION_42 } else { if (CONDITION_A) { ACTION_19 } else { ACTION_18 } } } } else { goto NODE_4; } } } else { if (CONDITION_I) { if (CONDITION_D) { if (CONDITION_B) { ACTION_27 } else { if (CONDITION_L) { ACTION_63 } else { if (CONDITION_C) { ACTION_31 } else { ACTION_30 } } } } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_34 } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_70 } else { if (CONDITION_A) { ACTION_65 } else { ACTION_64 } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_48 } else { ACTION_47 } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_36 } else { ACTION_35 } } else { if (CONDITION_A) { ACTION_33 } else { ACTION_32 } } } } } } else { if (CONDITION_B) { ACTION_27 } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_69 } else { if (CONDITION_A) { ACTION_62 } else { ACTION_61 } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_46 } else { ACTION_45 } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_29 } else { ACTION_28 } } else { if (CONDITION_A) { ACTION_26 } else { ACTION_25 } } } } } } } } else { if (CONDITION_D) { goto NODE_5; } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_15 } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_67 } else { if (CONDITION_A) { ACTION_58 } else { ACTION_57 } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_41 } else { ACTION_40 } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_17 } else { ACTION_16 } } else { if (CONDITION_A) { ACTION_14 } else { ACTION_13 } } } } } } else { if (CONDITION_B) { ACTION_4 } else { if (CONDITION_L) { if (CONDITION_J) { ACTION_66 } else { if (CONDITION_A) { ACTION_55 } else { ACTION_54 } } } else { if (CONDITION_J) { if (CONDITION_C) { ACTION_38 } else { ACTION_37 } } else { if (CONDITION_C) { if (CONDITION_A) { ACTION_6 } else { ACTION_5 } } else { if (CONDITION_A) { ACTION_3 } else { ACTION_2 } } } } } } } } } } } } } } else { ACTION_1 } ================================================ FILE: include/labeling3D_he_2011.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING3D_HE_2011_H_ #define YACCLAB_LABELING3D_HE_2011_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" //Conditions: #define CONDITION_V img_slice00_row00[c] > 0 #define CONDITION_V1 c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_V2 c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_V3 r > 0 && img_slice00_row11[c] > 0 #define CONDITION_V4 c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_V5 c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_V6 r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_V7 c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_V8 c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_V9 s > 0 && img_slice11_row00[c] > 0 #define CONDITION_V10 c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_V11 c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_V12 r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_V13 c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 // nothing #define ACTION_1 img_labels_slice00_row00[c] = 0; // v <- v9 #define ACTION_2 img_labels_slice00_row00[c] = img_labels_slice11_row00[c]; // v <- v3 #define ACTION_3 img_labels_slice00_row00[c] = img_labels_slice00_row11[c]; // merge(V3, v12) #define ACTION_4 LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]); // merge(V3, v11) #define ACTION_5 LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 1]); // merge(V3, v13) #define ACTION_6 LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 1]); // v <- v6 #define ACTION_7 img_labels_slice00_row00[c] = img_labels_slice11_row11[c]; // v <- v1 #define ACTION_8 img_labels_slice00_row00[c] = img_labels_slice00_row00[c - 1]; // merge(v1, v10) #define ACTION_9 LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row00[c + 1]); // merge(v1, v4) #define ACTION_10 LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice00_row11[c + 1]); // merge(v1, v7) #define ACTION_11 LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row11[c + 1]); // merge(v1, v13) #define ACTION_12 LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row01[c + 1]); // v <- v8 #define ACTION_13 img_labels_slice00_row00[c] = img_labels_slice11_row00[c - 1]; // v <- v10 #define ACTION_14 img_labels_slice00_row00[c] = img_labels_slice11_row00[c + 1]; // merge(v2, v10) #define ACTION_15 LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row00[c + 1]); // merge(v5, v10) #define ACTION_16 LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row11[c - 1]); // merge(v11, v10) #define ACTION_17 LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row00[c + 1]); // v <- v2 #define ACTION_18 img_labels_slice00_row00[c] = img_labels_slice00_row11[c - 1]; // merge(v4, v2) #define ACTION_19 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]); // merge(v7, v2) #define ACTION_20 LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row11[c + 1]); // merge(v2, V12) #define ACTION_21 LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c]); // merge(v2, V11) #define ACTION_22 LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]); // merge(v2, V13) #define ACTION_23 LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]); // merge(v6, V12) #define ACTION_24 LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]); // merge(v6, V11) #define ACTION_25 LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c]); // merge(v6, V13) #define ACTION_26 LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c]); // merge(v8, v10) #define ACTION_27 LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row00[c - 1]); // merge(v8, v4) #define ACTION_28 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row00[c - 1]); // merge(v8, v7) #define ACTION_29 LabelsSolver::Merge(img_labels_slice11_row00[c - 1], img_labels_slice11_row11[c + 1]); // v <- v5 #define ACTION_30 img_labels_slice00_row00[c] = img_labels_slice11_row11[c - 1]; // merge(v4, v5) #define ACTION_31 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row11[c - 1]); // merge(v7, v5) #define ACTION_32 LabelsSolver::Merge(img_labels_slice11_row11[c + 1], img_labels_slice11_row11[c - 1]); // merge(v5, V12) #define ACTION_33 LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 1]); // merge(v5, V11) #define ACTION_34 LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c - 1]); // merge(v5, V13) #define ACTION_35 LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c - 1]); // v <- v12 #define ACTION_36 img_labels_slice00_row00[c] = img_labels_slice11_row01[c]; // merge(v12, v4) #define ACTION_37 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c]); // merge(v12, v7) #define ACTION_38 LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 1]); // v <- v4 #define ACTION_39 img_labels_slice00_row00[c] = img_labels_slice00_row11[c + 1]; // merge(v11, v4) #define ACTION_40 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c - 1]); // merge(v13, v4) #define ACTION_41 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]); // v <- v7 #define ACTION_42 img_labels_slice00_row00[c] = img_labels_slice11_row11[c + 1]; // merge(v11, v7) #define ACTION_43 LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1]); // merge(v13, v7) #define ACTION_44 LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c + 1]); // v <- v11 #define ACTION_45 img_labels_slice00_row00[c] = img_labels_slice11_row01[c - 1]; // merge(v13, v11) #define ACTION_46 LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]); // v <- v13 #define ACTION_47 img_labels_slice00_row00[c] = img_labels_slice11_row01[c + 1]; // v <- newlabel #define ACTION_48 img_labels_slice00_row00[c] = LabelsSolver::NewLabel(); // merge(v8, v13) #define ACTION_49 LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row00[c - 1]); template class LEB_3D : public Labeling3D { public: LEB_3D() {} void PerformLabeling() { img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // 3D Rosenfeld Mask // +---+---+---+ // |v5 |v6 |v7 | // +---+---+---+ // |v8 |v9 |v10| // +---+---+---+ // |v11|v12|v13| // +---+---+---+ // // +---+---+---+ // |v2 |v3 |v4 | // +---+---+---+ // |v1 |v | // +---+---+ // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c++) { #include "labeling3D_he_2011_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::Flatten(); int * img_row = reinterpret_cast(img_labels_.data); for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { for (unsigned int c = 0; c < w; c++) { img_row[c] = LabelsSolver::GetLabel(img_row[c]); } img_row += img_labels_.step[1] / sizeof(int); } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { { #undef CONDITION_V #undef CONDITION_V1 #undef CONDITION_V2 #undef CONDITION_V3 #undef CONDITION_V4 #undef CONDITION_V5 #undef CONDITION_V6 #undef CONDITION_V7 #undef CONDITION_V8 #undef CONDITION_V9 #undef CONDITION_V10 #undef CONDITION_V11 #undef CONDITION_V12 #undef CONDITION_V13 #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef ACTION_17 #undef ACTION_18 #undef ACTION_19 #undef ACTION_20 #undef ACTION_21 #undef ACTION_22 #undef ACTION_23 #undef ACTION_24 #undef ACTION_25 #undef ACTION_26 #undef ACTION_27 #undef ACTION_28 #undef ACTION_29 #undef ACTION_30 #undef ACTION_31 #undef ACTION_32 #undef ACTION_33 #undef ACTION_34 #undef ACTION_35 #undef ACTION_36 #undef ACTION_37 #undef ACTION_38 #undef ACTION_39 #undef ACTION_40 #undef ACTION_41 #undef ACTION_42 #undef ACTION_43 #undef ACTION_44 #undef ACTION_45 #undef ACTION_46 #undef ACTION_47 #undef ACTION_48 #undef ACTION_49 //Conditions: #define CONDITION_V img(s, r, c) > 0 #define CONDITION_V1 c > 0 && img(s, r, c - 1) > 0 #define CONDITION_V2 c > 0 && r > 0 && img(s, r - 1, c - 1) > 0 #define CONDITION_V3 r > 0 && img(s, r - 1, c) > 0 #define CONDITION_V4 c < w - 1 && r > 0 && img(s, r - 1, c + 1) > 0 #define CONDITION_V5 c > 0 && r > 0 && s > 0 && img(s - 1, r - 1, c - 1) > 0 #define CONDITION_V6 r > 0 && s > 0 && img(s - 1, r - 1, c) > 0 #define CONDITION_V7 c < w - 1 && r > 0 && s > 0 && img(s - 1, r - 1, c + 1) > 0 #define CONDITION_V8 c > 0 && s > 0 && img(s - 1, r, c - 1) > 0 #define CONDITION_V9 s > 0 && img(s - 1, r, c) > 0 #define CONDITION_V10 c < w - 1 && s > 0 && img(s - 1, r, c + 1) > 0 #define CONDITION_V11 c > 0 && r < h - 1 && s > 0 && img(s - 1, r + 1, c - 1) > 0 #define CONDITION_V12 r < h - 1 && s > 0 && img(s - 1, r + 1, c) > 0 #define CONDITION_V13 c < w - 1 && r < h - 1 && s > 0 && img(s - 1, r + 1, c + 1) > 0 // nothing #define ACTION_1 img_labels(s, r, c) = 0; // v <- v9 #define ACTION_2 img_labels(s, r, c) = img_labels(s - 1, r, c); // v <- v3 #define ACTION_3 img_labels(s, r, c) = img_labels(s, r - 1, c); // merge(V3, v12) #define ACTION_4 LabelsSolver::MemMerge(img_labels(s, r - 1, c), img_labels(s - 1, r + 1, c)); // merge(V3, v11) #define ACTION_5 LabelsSolver::MemMerge(img_labels(s, r - 1, c), img_labels(s - 1, r + 1, c - 1)); // merge(V3, v13) #define ACTION_6 LabelsSolver::MemMerge(img_labels(s, r - 1, c), img_labels(s - 1, r + 1, c + 1)); // v <- v6 #define ACTION_7 img_labels(s, r, c) = img_labels(s - 1, r - 1, c); // v <- v1 #define ACTION_8 img_labels(s, r, c) = img_labels(s, r, c - 1); // merge(v1, v10) #define ACTION_9 LabelsSolver::MemMerge(img_labels(s, r, c - 1), img_labels(s - 1, r, c + 1)); // merge(v1, v4) #define ACTION_10 LabelsSolver::MemMerge(img_labels(s, r, c - 1), img_labels(s, r - 1, c + 1)); // merge(v1, v7) #define ACTION_11 LabelsSolver::MemMerge(img_labels(s, r, c - 1), img_labels(s - 1, r - 1, c + 1)); // merge(v1, v13) #define ACTION_12 LabelsSolver::MemMerge(img_labels(s, r, c - 1), img_labels(s - 1, r + 1, c + 1)); // v <- v8 #define ACTION_13 img_labels(s, r, c) = img_labels(s - 1, r, c - 1); // v <- v10 #define ACTION_14 img_labels(s, r, c) = img_labels(s - 1, r, c + 1); // merge(v2, v10) #define ACTION_15 LabelsSolver::MemMerge(img_labels(s, r - 1, c - 1), img_labels(s - 1, r, c + 1)); // merge(v5, v10) #define ACTION_16 LabelsSolver::MemMerge(img_labels(s - 1, r, c + 1), img_labels(s - 1, r - 1, c - 1)); // merge(v11, v10) #define ACTION_17 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 1), img_labels(s - 1, r, c + 1)); // v <- v2 #define ACTION_18 img_labels(s, r, c) = img_labels(s, r - 1, c - 1); // merge(v4, v2) #define ACTION_19 LabelsSolver::MemMerge(img_labels(s, r - 1, c + 1), img_labels(s, r - 1, c - 1)); // merge(v7, v2) #define ACTION_20 LabelsSolver::MemMerge(img_labels(s, r - 1, c - 1), img_labels(s - 1, r - 1, c + 1)); // merge(v2, V12) #define ACTION_21 LabelsSolver::MemMerge(img_labels(s, r - 1, c - 1), img_labels(s - 1, r + 1, c)); // merge(v2, V11) #define ACTION_22 LabelsSolver::MemMerge(img_labels(s, r - 1, c - 1), img_labels(s - 1, r + 1, c - 1)); // merge(v2, V13) #define ACTION_23 LabelsSolver::MemMerge(img_labels(s, r - 1, c - 1), img_labels(s - 1, r + 1, c + 1)); // merge(v6, V12) #define ACTION_24 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c)); // merge(v6, V11) #define ACTION_25 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 1), img_labels(s - 1, r - 1, c)); // merge(v6, V13) #define ACTION_26 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 1), img_labels(s - 1, r - 1, c)); // merge(v8, v10) #define ACTION_27 LabelsSolver::MemMerge(img_labels(s - 1, r, c + 1), img_labels(s - 1, r, c - 1)); // merge(v8, v4) #define ACTION_28 LabelsSolver::MemMerge(img_labels(s, r - 1, c + 1), img_labels(s - 1, r, c - 1)); // merge(v8, v7) #define ACTION_29 LabelsSolver::MemMerge(img_labels(s - 1, r, c - 1), img_labels(s - 1, r - 1, c + 1)); // v <- v5 #define ACTION_30 img_labels(s, r, c) = img_labels(s - 1, r - 1, c - 1); // merge(v4, v5) #define ACTION_31 LabelsSolver::MemMerge(img_labels(s, r - 1, c + 1), img_labels(s - 1, r - 1, c - 1)); // merge(v7, v5) #define ACTION_32 LabelsSolver::MemMerge(img_labels(s - 1, r - 1, c + 1), img_labels(s - 1, r - 1, c - 1)); // merge(v5, V12) #define ACTION_33 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c - 1)); // merge(v5, V11) #define ACTION_34 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 1), img_labels(s - 1, r - 1, c - 1)); // merge(v5, V13) #define ACTION_35 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 1), img_labels(s - 1, r - 1, c - 1)); // v <- v12 #define ACTION_36 img_labels(s, r, c) = img_labels(s - 1, r + 1, c); // merge(v12, v4) #define ACTION_37 LabelsSolver::MemMerge(img_labels(s, r - 1, c + 1), img_labels(s - 1, r + 1, c)); // merge(v12, v7) #define ACTION_38 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c), img_labels(s - 1, r - 1, c + 1)); // v <- v4 #define ACTION_39 img_labels(s, r, c) = img_labels(s, r - 1, c + 1); // merge(v11, v4) #define ACTION_40 LabelsSolver::MemMerge(img_labels(s, r - 1, c + 1), img_labels(s - 1, r + 1, c - 1)); // merge(v13, v4) #define ACTION_41 LabelsSolver::MemMerge(img_labels(s, r - 1, c + 1), img_labels(s - 1, r + 1, c + 1)); // v <- v7 #define ACTION_42 img_labels(s, r, c) = img_labels(s - 1, r - 1, c + 1); // merge(v11, v7) #define ACTION_43 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c - 1), img_labels(s - 1, r - 1, c + 1)); // merge(v13, v7) #define ACTION_44 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 1), img_labels(s - 1, r - 1, c + 1)); // v <- v11 #define ACTION_45 img_labels(s, r, c) = img_labels(s - 1, r + 1, c - 1); // merge(v13, v11) #define ACTION_46 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 1), img_labels(s - 1, r + 1, c - 1)); // v <- v13 #define ACTION_47 img_labels(s, r, c) = img_labels(s - 1, r + 1, c + 1); // v <- newlabel #define ACTION_48 img_labels(s, r, c) = LabelsSolver::MemNewLabel(); // merge(v8, v13) #define ACTION_49 LabelsSolver::MemMerge(img_labels(s - 1, r + 1, c + 1), img_labels(s - 1, r, c - 1)); } LabelsSolver::MemAlloc(UPPER_BOUND_26_CONNECTIVITY); // Equivalence solver MemVol img(img_); MemVol img_labels(img_.size.p); LabelsSolver::MemSetup(); //uint64_t accesses_count = 0; // First scan unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { for (unsigned int c = 0; c < w; c++) { #include "labeling3D_he_2011_tree.inc.h" } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::MemFlatten(); for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { for (unsigned int c = 0; c < w; c++) { img_labels(s, r, c) = LabelsSolver::MemGetLabel(img_labels(s, r, c)); } } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (unsigned long)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (unsigned long)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (unsigned long)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); // Memory deallocation of the labels solver { #undef CONDITION_V #undef CONDITION_V1 #undef CONDITION_V2 #undef CONDITION_V3 #undef CONDITION_V4 #undef CONDITION_V5 #undef CONDITION_V6 #undef CONDITION_V7 #undef CONDITION_V8 #undef CONDITION_V9 #undef CONDITION_V10 #undef CONDITION_V11 #undef CONDITION_V12 #undef CONDITION_V13 #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef ACTION_17 #undef ACTION_18 #undef ACTION_19 #undef ACTION_20 #undef ACTION_21 #undef ACTION_22 #undef ACTION_23 #undef ACTION_24 #undef ACTION_25 #undef ACTION_26 #undef ACTION_27 #undef ACTION_28 #undef ACTION_29 #undef ACTION_30 #undef ACTION_31 #undef ACTION_32 #undef ACTION_33 #undef ACTION_34 #undef ACTION_35 #undef ACTION_36 #undef ACTION_37 #undef ACTION_38 #undef ACTION_39 #undef ACTION_40 #undef ACTION_41 #undef ACTION_42 #undef ACTION_43 #undef ACTION_44 #undef ACTION_45 #undef ACTION_46 #undef ACTION_47 #undef ACTION_48 #undef ACTION_49 //Conditions: #define CONDITION_V img_slice00_row00[c] > 0 #define CONDITION_V1 c > 0 && img_slice00_row00[c - 1] > 0 #define CONDITION_V2 c > 0 && r > 0 && img_slice00_row11[c - 1] > 0 #define CONDITION_V3 r > 0 && img_slice00_row11[c] > 0 #define CONDITION_V4 c < w - 1 && r > 0 && img_slice00_row11[c + 1] > 0 #define CONDITION_V5 c > 0 && r > 0 && s > 0 && img_slice11_row11[c - 1] > 0 #define CONDITION_V6 r > 0 && s > 0 && img_slice11_row11[c] > 0 #define CONDITION_V7 c < w - 1 && r > 0 && s > 0 && img_slice11_row11[c + 1] > 0 #define CONDITION_V8 c > 0 && s > 0 && img_slice11_row00[c - 1] > 0 #define CONDITION_V9 s > 0 && img_slice11_row00[c] > 0 #define CONDITION_V10 c < w - 1 && s > 0 && img_slice11_row00[c + 1] > 0 #define CONDITION_V11 c > 0 && r < h - 1 && s > 0 && img_slice11_row01[c - 1] > 0 #define CONDITION_V12 r < h - 1 && s > 0 && img_slice11_row01[c] > 0 #define CONDITION_V13 c < w - 1 && r < h - 1 && s > 0 && img_slice11_row01[c + 1] > 0 // nothing #define ACTION_1 img_labels_slice00_row00[c] = 0; // v <- v9 #define ACTION_2 img_labels_slice00_row00[c] = img_labels_slice11_row00[c]; // v <- v3 #define ACTION_3 img_labels_slice00_row00[c] = img_labels_slice00_row11[c]; // merge(V3, v12) #define ACTION_4 LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c]); // merge(V3, v11) #define ACTION_5 LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c - 1]); // merge(V3, v13) #define ACTION_6 LabelsSolver::Merge(img_labels_slice00_row11[c], img_labels_slice11_row01[c + 1]); // v <- v6 #define ACTION_7 img_labels_slice00_row00[c] = img_labels_slice11_row11[c]; // v <- v1 #define ACTION_8 img_labels_slice00_row00[c] = img_labels_slice00_row00[c - 1]; // merge(v1, v10) #define ACTION_9 LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row00[c + 1]); // merge(v1, v4) #define ACTION_10 LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice00_row11[c + 1]); // merge(v1, v7) #define ACTION_11 LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row11[c + 1]); // merge(v1, v13) #define ACTION_12 LabelsSolver::Merge(img_labels_slice00_row00[c - 1], img_labels_slice11_row01[c + 1]); // v <- v8 #define ACTION_13 img_labels_slice00_row00[c] = img_labels_slice11_row00[c - 1]; // v <- v10 #define ACTION_14 img_labels_slice00_row00[c] = img_labels_slice11_row00[c + 1]; // merge(v2, v10) #define ACTION_15 LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row00[c + 1]); // merge(v5, v10) #define ACTION_16 LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row11[c - 1]); // merge(v11, v10) #define ACTION_17 LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row00[c + 1]); // v <- v2 #define ACTION_18 img_labels_slice00_row00[c] = img_labels_slice00_row11[c - 1]; // merge(v4, v2) #define ACTION_19 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice00_row11[c - 1]); // merge(v7, v2) #define ACTION_20 LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row11[c + 1]); // merge(v2, V12) #define ACTION_21 LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c]); // merge(v2, V11) #define ACTION_22 LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c - 1]); // merge(v2, V13) #define ACTION_23 LabelsSolver::Merge(img_labels_slice00_row11[c - 1], img_labels_slice11_row01[c + 1]); // merge(v6, V12) #define ACTION_24 LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c]); // merge(v6, V11) #define ACTION_25 LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c]); // merge(v6, V13) #define ACTION_26 LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c]); // merge(v8, v10) #define ACTION_27 LabelsSolver::Merge(img_labels_slice11_row00[c + 1], img_labels_slice11_row00[c - 1]); // merge(v8, v4) #define ACTION_28 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row00[c - 1]); // merge(v8, v7) #define ACTION_29 LabelsSolver::Merge(img_labels_slice11_row00[c - 1], img_labels_slice11_row11[c + 1]); // v <- v5 #define ACTION_30 img_labels_slice00_row00[c] = img_labels_slice11_row11[c - 1]; // merge(v4, v5) #define ACTION_31 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row11[c - 1]); // merge(v7, v5) #define ACTION_32 LabelsSolver::Merge(img_labels_slice11_row11[c + 1], img_labels_slice11_row11[c - 1]); // merge(v5, V12) #define ACTION_33 LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c - 1]); // merge(v5, V11) #define ACTION_34 LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c - 1]); // merge(v5, V13) #define ACTION_35 LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c - 1]); // v <- v12 #define ACTION_36 img_labels_slice00_row00[c] = img_labels_slice11_row01[c]; // merge(v12, v4) #define ACTION_37 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c]); // merge(v12, v7) #define ACTION_38 LabelsSolver::Merge(img_labels_slice11_row01[c], img_labels_slice11_row11[c + 1]); // v <- v4 #define ACTION_39 img_labels_slice00_row00[c] = img_labels_slice00_row11[c + 1]; // merge(v11, v4) #define ACTION_40 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c - 1]); // merge(v13, v4) #define ACTION_41 LabelsSolver::Merge(img_labels_slice00_row11[c + 1], img_labels_slice11_row01[c + 1]); // v <- v7 #define ACTION_42 img_labels_slice00_row00[c] = img_labels_slice11_row11[c + 1]; // merge(v11, v7) #define ACTION_43 LabelsSolver::Merge(img_labels_slice11_row01[c - 1], img_labels_slice11_row11[c + 1]); // merge(v13, v7) #define ACTION_44 LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row11[c + 1]); // v <- v11 #define ACTION_45 img_labels_slice00_row00[c] = img_labels_slice11_row01[c - 1]; // merge(v13, v11) #define ACTION_46 LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row01[c - 1]); // v <- v13 #define ACTION_47 img_labels_slice00_row00[c] = img_labels_slice11_row01[c + 1]; // v <- newlabel #define ACTION_48 img_labels_slice00_row00[c] = LabelsSolver::NewLabel(); // merge(v8, v13) #define ACTION_49 LabelsSolver::Merge(img_labels_slice11_row01[c + 1], img_labels_slice11_row00[c - 1]); } } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { // Row pointers for the input image (current slice) const unsigned char* const img_slice00_row00 = img_.ptr(s, r); const unsigned char* const img_slice00_row11 = (unsigned char *)(((char *)img_slice00_row00) + img_.step.p[1] * -1); // Row pointers for the input image (previous slice) const unsigned char* const img_slice11_row11 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * -1); const unsigned char* const img_slice11_row00 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 0); const unsigned char* const img_slice11_row01 = (unsigned char *)(((char *)img_slice00_row00) - img_.step.p[0] + img_.step.p[1] * 1); // Row pointers for the output image (current slice) unsigned* const img_labels_slice00_row00 = img_labels_.ptr(s, r); unsigned* const img_labels_slice00_row11 = (unsigned *)(((char *)img_labels_slice00_row00) + img_labels_.step.p[1] * -1); // Row pointers for the output image (previous slice) unsigned* const img_labels_slice11_row11 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * -1); unsigned* const img_labels_slice11_row00 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 0); unsigned* const img_labels_slice11_row01 = (unsigned *)(((char *)img_labels_slice00_row00) - img_labels_.step.p[0] + img_labels_.step.p[1] * 1); for (unsigned int c = 0; c < w; c++) { #include "labeling3D_he_2011_tree.inc.h" } } // Rows cycle end } // Planes cycle end } void SecondScan() { LabelsSolver::Flatten(); unsigned int d = img_.size.p[0]; unsigned int h = img_.size.p[1]; unsigned int w = img_.size.p[2]; int * img_row = reinterpret_cast(img_labels_.data); for (unsigned int s = 0; s < d; s++) { for (unsigned int r = 0; r < h; r++) { for (unsigned int c = 0; c < w; c++) { img_row[c] = LabelsSolver::GetLabel(img_row[c]); } img_row += img_labels_.step.p[1] / sizeof(int); } } } }; #undef CONDITION_V #undef CONDITION_V1 #undef CONDITION_V2 #undef CONDITION_V3 #undef CONDITION_V4 #undef CONDITION_V5 #undef CONDITION_V6 #undef CONDITION_V7 #undef CONDITION_V8 #undef CONDITION_V9 #undef CONDITION_V10 #undef CONDITION_V11 #undef CONDITION_V12 #undef CONDITION_V13 #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef ACTION_17 #undef ACTION_18 #undef ACTION_19 #undef ACTION_20 #undef ACTION_21 #undef ACTION_22 #undef ACTION_23 #undef ACTION_24 #undef ACTION_25 #undef ACTION_26 #undef ACTION_27 #undef ACTION_28 #undef ACTION_29 #undef ACTION_30 #undef ACTION_31 #undef ACTION_32 #undef ACTION_33 #undef ACTION_34 #undef ACTION_35 #undef ACTION_36 #undef ACTION_37 #undef ACTION_38 #undef ACTION_39 #undef ACTION_40 #undef ACTION_41 #undef ACTION_42 #undef ACTION_43 #undef ACTION_44 #undef ACTION_45 #undef ACTION_46 #undef ACTION_47 #undef ACTION_48 #undef ACTION_49 #endif // YACCLAB_LABELING3D_HE_2011_H_ ================================================ FILE: include/labeling3D_he_2011_run.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING3D_HE_2011_RUN_H_ #define YACCLAB_LABELING3D_HE_2011_RUN_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" struct Run { uint16_t start = 0; uint16_t end = 0; unsigned label = 0; }; class Table3D { public: size_t d_; size_t h_; size_t max_runs_; Run *data_; // This vector stores run data for each row of each slice uint16_t *sizes_; // This vector stores the number of runs actually contained in each row of each slice void Setup(size_t d, size_t h, size_t w) { d_ = d; h_ = h; max_runs_ = w / 2 + 1; } double Alloc(PerformanceEvaluator& perf) { perf.start(); data_ = new Run[d_ * h_ * max_runs_]; sizes_ = new uint16_t[d_ * h_]; memset(data_, 0, d_ * h_ * max_runs_ * sizeof(Run)); memset(sizes_, 0, d_ * h_ * sizeof(uint16_t)); perf.stop(); double t = perf.last(); perf.start(); memset(data_, 0, d_ * h_ * max_runs_ * sizeof(Run)); memset(sizes_, 0, d_ * h_ * sizeof(uint16_t)); perf.stop(); return t - perf.last(); } void Alloc() { data_ = new Run[d_ * h_ * max_runs_]; sizes_ = new uint16_t[d_ * h_]; } void Dealloc() { delete[] data_; delete[] sizes_; } }; template class RBTS_3D : public Labeling3D { public: RBTS_3D() {} Table3D runs; static inline int ProcessRun(uint16_t row_index, uint16_t row_nruns, Run* row_runs, Run* cur_run, bool *new_label) { // Discard previous non connected runs (step "2" of the 2D algorithm) for (; row_index < row_nruns && row_runs[row_index].end < cur_run->start - 1; ++row_index) { } // Get label (step "3A" of the 2D algorithm) if (row_index < row_nruns && row_runs[row_index].start <= cur_run->end + 1) { if (*new_label) { cur_run->label = row_runs[row_index].label; *new_label = false; } else { LabelsSolver::Merge(cur_run->label, row_runs[row_index].label); } } // Merge label (step "3B" of the 2D algorithm) for (; row_index < row_nruns && row_runs[row_index].end <= cur_run->end; ++row_index) { LabelsSolver::Merge(cur_run->label, row_runs[row_index].label); } // Get label without "removing the run" (step "4" of the 2D algorithm) // the skip step is not required in this case because this algorithm does not employ // a circular buffer. if (row_index < row_nruns && row_runs[row_index].start <= cur_run->end + 1) { LabelsSolver::Merge(cur_run->label, row_runs[row_index].label); } return row_index; } void PerformLabeling() { int d = img_.size.p[0]; int h = img_.size.p[1]; int w = img_.size.p[2]; img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); runs.Setup(d, h, w); runs.Alloc(); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // First scan Run* run_slice00_row00 = runs.data_; uint16_t* nruns_slice00_row00 = runs.sizes_; for (int s = 0; s < d; s++) { for (int r = 0; r < h; r++) { // Row pointers for the input image const unsigned char* const img_slice00_row00 = img_.ptr(s, r); int slice11_row00_index = 0; int slice11_row11_index = 0; int slice11_row01_index = 0; int slice00_row11_index = 0; int nruns = 0; Run* run_slice11_row00 = run_slice00_row00 - (runs.max_runs_) * runs.h_; Run* run_slice11_row11 = run_slice11_row00 - (runs.max_runs_); Run* run_slice11_row01 = run_slice11_row00 + (runs.max_runs_); Run* run_slice00_row11 = run_slice00_row00 - (runs.max_runs_); uint16_t* nruns_slice11_row00 = nruns_slice00_row00 - h; uint16_t* nruns_slice11_row11 = nruns_slice11_row00 - 1; uint16_t* nruns_slice11_row01 = nruns_slice11_row00 + 1; uint16_t* nruns_slice00_row11 = nruns_slice00_row00 - 1; for (int c = 0; c < w; c++) { // Is there a new run ? if (img_slice00_row00[c] == 0) { continue; } // Yes (new run) bool new_label = true; run_slice00_row00[nruns].start = c; // We start from 1 because 0 is a "special" run // to store additional info for (; c < w && img_slice00_row00[c] > 0; ++c) {} run_slice00_row00[nruns].end = c - 1; if (s > 0) { if (r > 0) { slice11_row11_index = ProcessRun(slice11_row11_index, // uint16_t row_index *nruns_slice11_row11, // uint16_t row_nruns run_slice11_row11, // Run* row_runs &run_slice00_row00[nruns], // Run* cur_run &new_label // bool *new_label ); } slice11_row00_index = ProcessRun(slice11_row00_index, // uint16_t row_index *nruns_slice11_row00, // uint16_t row_nruns run_slice11_row00, // Run* row_runs &run_slice00_row00[nruns], // Run* cur_run &new_label // bool *new_label ); if (r < h - 1) { slice11_row01_index = ProcessRun(slice11_row01_index, // uint16_t row_index *nruns_slice11_row01, // uint16_t row_nruns run_slice11_row01, // Run* row_runs &run_slice00_row00[nruns], // Run* cur_run &new_label // bool *new_label ); } } if (r > 0) { slice00_row11_index = ProcessRun(slice00_row11_index, // uint16_t row_index *nruns_slice00_row11, // uint16_t row_nruns run_slice00_row11, // Run* row_runs &run_slice00_row00[nruns], // Run* cur_run &new_label // bool *new_label ); } if (new_label) { run_slice00_row00[nruns].label = LabelsSolver::NewLabel(); } nruns++; } // Columns cycle end run_slice00_row00 += (runs.max_runs_); (*nruns_slice00_row00++) = nruns; } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::Flatten(); int* img_row = reinterpret_cast(img_labels_.data); Run* run_row = runs.data_; uint16_t* nruns = runs.sizes_; for (int s = 0; s < d; s++) { for (int r = 0; r < h; r++) { for (int id = 0; id < *nruns; id++) { for (int c = run_row[id].start; c <= run_row[id].end; ++c) { img_row[c] = LabelsSolver::GetLabel(run_row[id].label); } } run_row += (runs.max_runs_); img_row += img_labels_.step[1] / sizeof(int); nruns++; } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver runs.Dealloc(); // Memory deallocation of the Table3D } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation of Table3D runs.Setup(img_.size.p[0], img_.size.p[1], img_.size.p[2]); ls_t += runs.Alloc(perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); runs.Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { int d = img_.size.p[0]; int h = img_.size.p[1]; int w = img_.size.p[2]; memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); LabelsSolver::Setup(); // Labels solver initialization // First scan Run* run_slice00_row00 = runs.data_; uint16_t* nruns_slice00_row00 = runs.sizes_; for (int s = 0; s < d; s++) { for (int r = 0; r < h; r++) { // Row pointers for the input image const unsigned char* const img_slice00_row00 = img_.ptr(s, r); int slice11_row00_index = 0; int slice11_row11_index = 0; int slice11_row01_index = 0; int slice00_row11_index = 0; int nruns = 0; Run* run_slice11_row00 = run_slice00_row00 - (runs.max_runs_) * runs.h_; Run* run_slice11_row11 = run_slice11_row00 - (runs.max_runs_); Run* run_slice11_row01 = run_slice11_row00 + (runs.max_runs_); Run* run_slice00_row11 = run_slice00_row00 - (runs.max_runs_); uint16_t* nruns_slice11_row00 = nruns_slice00_row00 - h; uint16_t* nruns_slice11_row11 = nruns_slice11_row00 - 1; uint16_t* nruns_slice11_row01 = nruns_slice11_row00 + 1; uint16_t* nruns_slice00_row11 = nruns_slice00_row00 - 1; for (int c = 0; c < w; c++) { // Is there a new run ? if (img_slice00_row00[c] == 0) { continue; } // Yes (new run) bool new_label = true; run_slice00_row00[nruns].start = c; // We start from 1 because 0 is a "special" run // to store additional info for (; c < w && img_slice00_row00[c] > 0; ++c) {} run_slice00_row00[nruns].end = c - 1; if (s > 0) { if (r > 0) { slice11_row11_index = ProcessRun(slice11_row11_index, // uint16_t row_index *nruns_slice11_row11, // uint16_t row_nruns run_slice11_row11, // Run* row_runs &run_slice00_row00[nruns], // Run* cur_run &new_label // bool *new_label ); } slice11_row00_index = ProcessRun(slice11_row00_index, // uint16_t row_index *nruns_slice11_row00, // uint16_t row_nruns run_slice11_row00, // Run* row_runs &run_slice00_row00[nruns], // Run* cur_run &new_label // bool *new_label ); if (r < h - 1) { slice11_row01_index = ProcessRun(slice11_row01_index, // uint16_t row_index *nruns_slice11_row01, // uint16_t row_nruns run_slice11_row01, // Run* row_runs &run_slice00_row00[nruns], // Run* cur_run &new_label // bool *new_label ); } } if (r > 0) { slice00_row11_index = ProcessRun(slice00_row11_index, // uint16_t row_index *nruns_slice00_row11, // uint16_t row_nruns run_slice00_row11, // Run* row_runs &run_slice00_row00[nruns], // Run* cur_run &new_label // bool *new_label ); } if (new_label) { run_slice00_row00[nruns].label = LabelsSolver::NewLabel(); } nruns++; } // Columns cycle end run_slice00_row00 += (runs.max_runs_); (*nruns_slice00_row00++) = nruns; } // Rows cycle end } // Planes cycle end } void SecondScan() { int d = img_.size.p[0]; int h = img_.size.p[1]; // int w = img_.size.p[2]; // Second scan LabelsSolver::Flatten(); int* img_row = reinterpret_cast(img_labels_.data); Run* run_row = runs.data_; uint16_t* nruns = runs.sizes_; for (int s = 0; s < d; s++) { for (int r = 0; r < h; r++) { for (int id = 0; id < *nruns; id++) { for (int c = run_row[id].start; c <= run_row[id].end; ++c) { img_row[c] = LabelsSolver::GetLabel(run_row[id].label); } } run_row += (runs.max_runs_); img_row += img_labels_.step[1] / sizeof(int); nruns++; } } } }; #endif // YACCLAB_LABELING3D_HE_2011_RUN_H_ ================================================ FILE: include/labeling3D_he_2011_tree.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. if (CONDITION_V){ if(CONDITION_V9){ ACTION_2 continue; }else{ if(CONDITION_V3){ ACTION_3 if(CONDITION_V12){ ACTION_4 continue; }else{ if(CONDITION_V11){ ACTION_5 } if(CONDITION_V13){ ACTION_6 } } }else{ if(CONDITION_V6){ ACTION_7 if(CONDITION_V12){ ACTION_24 continue; }else{ if(CONDITION_V11){ ACTION_25 } if(CONDITION_V13){ ACTION_26 } } }else{ if (CONDITION_V1){ ACTION_8 if(CONDITION_V10){ ACTION_9 }else{ if(CONDITION_V4){ ACTION_10 }else{ if(CONDITION_V7){ ACTION_11 } } if (CONDITION_V13){ ACTION_12 } } }else{ if(CONDITION_V8){ ACTION_13 if(CONDITION_V10){ ACTION_27 }else{ if(CONDITION_V4){ ACTION_28 }else{ if(CONDITION_V7){ ACTION_29 } } if (CONDITION_V13){ ACTION_49 } } }else{ if(CONDITION_V10){ ACTION_14 if(CONDITION_V2){ ACTION_15 }else{ if(CONDITION_V5){ ACTION_16 } } if(CONDITION_V11){ ACTION_17 } }else{ if(CONDITION_V2){ ACTION_18 if(CONDITION_V4){ ACTION_19 }else{ if(CONDITION_V7){ ACTION_20 } } if(CONDITION_V12){ ACTION_21 }else{ if(CONDITION_V11){ ACTION_22 } if(CONDITION_V13){ ACTION_23 } } }else{ if(CONDITION_V5){ ACTION_30 if(CONDITION_V4){ ACTION_31 }else{ if(CONDITION_V7){ ACTION_32 } } if(CONDITION_V12){ ACTION_33 }else{ if(CONDITION_V11){ ACTION_34 } if(CONDITION_V13){ ACTION_35 } } }else{ if(CONDITION_V12){ ACTION_36 if(CONDITION_V4){ ACTION_37 }else{ if(CONDITION_V7){ ACTION_38 } } }else{ if(CONDITION_V4){ ACTION_39 if(CONDITION_V11){ ACTION_40 } if(CONDITION_V13){ ACTION_41 } }else{ if(CONDITION_V7){ ACTION_42 if(CONDITION_V11){ ACTION_43 } if(CONDITION_V13){ ACTION_44 } }else{ if(CONDITION_V11){ ACTION_45 if(CONDITION_V13){ ACTION_46 } }else{ if(CONDITION_V13){ ACTION_47 }else{ ACTION_48 } } } } } } } } } } } } } } else{ ACTION_1 // Nothing to do } ================================================ FILE: include/labeling3D_naive.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_NAIVE_3D_H_ #define YACCLAB_LABELING_NAIVE_3D_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class naive_3D : public Labeling3D { public: naive_3D() {} void PerformLabeling() { //img_labels_ = cv::Mat1i(img_.size(), 0); // Allocation + initialization of the output image img_labels_.create(3, img_.size.p, CV_32SC1); LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First scan for (int z = 0; z < img_.size[0]; z++) { unsigned char const * const img_plane = img_.data + img_.step[0] * z; // img_.ptr(z, 0, 0); unsigned char const * const img_prev_plane = (z > 0) ? (img_plane - img_.step[0]) : nullptr; int * const labels_plane = reinterpret_cast(img_labels_.data) + (img_labels_.step[0] / sizeof(int)) * z; int * const labels_prev_plane = labels_plane - (img_labels_.step[0] / sizeof(int)); for (int y = 0; y < img_.size[1]; y++) { // Prev plane row pointers unsigned char const * img_prev_plane_rows[3]; int prev_plane_first_row, prev_plane_last_row; if (img_prev_plane != nullptr) { img_prev_plane_rows[1] = img_prev_plane + img_.step[1] * y; img_prev_plane_rows[0] = (y > 0) ? (prev_plane_first_row = 0, img_prev_plane_rows[1] - img_.step[1]) : (prev_plane_first_row = 1, nullptr); img_prev_plane_rows[2] = (y + 1 < img_.size[1]) ? (prev_plane_last_row = 2, img_prev_plane_rows[1] + img_.step[1]) : (prev_plane_last_row = 1, nullptr); } int * labels_prev_plane_rows[3]; labels_prev_plane_rows[1] = labels_prev_plane + (img_labels_.step[1] / sizeof(int)) * y; labels_prev_plane_rows[0] = labels_prev_plane_rows[1] - (img_labels_.step[1] / sizeof(int)); labels_prev_plane_rows[2] = labels_prev_plane_rows[1] + (img_labels_.step[1] / sizeof(int)); // Cur plane row pointers unsigned char const * const img_row = img_plane + img_.step[1] * y; unsigned char const * const img_prev_row = (y > 0) ? (img_row - img_.step[1]) : nullptr; int * const labels_row = labels_plane + (img_labels_.step[1] / sizeof(int)) * y; int * const labels_prev_row = labels_row - (img_labels_.step[1] / sizeof(int)); for (int x = 0; x < img_.size[2]; x++) { int label = 0; if (img_row[x] > 0) { int const first_neighbour_x = (x > 0) ? (x - 1) : x; int const last_neighbour_x = (x + 1 < img_.size[2]) ? (x + 1) : x; // Previous plane if (img_prev_plane != nullptr) { for (int r = prev_plane_first_row; r <= prev_plane_last_row; r++) { for (int c = first_neighbour_x; c <= last_neighbour_x; c++) { if (img_prev_plane_rows[r][c] > 0) { if (label == 0) { label = labels_prev_plane_rows[r][c]; } else { LabelsSolver::Merge(labels_prev_plane_rows[r][c], label); } } } } } // Previous row if (img_prev_row != nullptr) { for (int c = first_neighbour_x; c <= last_neighbour_x; c++) { if (img_prev_row[c] > 0) { if (label == 0) { label = labels_prev_row[c]; } else { LabelsSolver::Merge(labels_prev_row[c], label); } } } } // Previous col if (x > 0) { if (img_row[x - 1] > 0) { if (label == 0) { label = labels_row[x - 1]; } else { LabelsSolver::Merge(labels_row[x - 1], label); } } } if (label == 0) { label = LabelsSolver::NewLabel(); } } labels_row[x] = label; } } // Rows cycle end } // Planes cycle end // Second scan LabelsSolver::Flatten(); int * img_row = reinterpret_cast(img_labels_.data); for (int z = 0; z < img_labels_.size[0]; z++) { for (int y = 0; y < img_labels_.size[1]; y++) { for (int x = 0; x < img_labels_.size[2]; x++) { img_row[x] = LabelsSolver::GetLabel(img_row[x]); } img_row += img_labels_.step[1] / sizeof(int); } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_26_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_.create(3, img_.size.p, CV_32SC1); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First scan for (int z = 0; z < img_.size[0]; z++) { unsigned char const * const img_plane = img_.data + img_.step[0] * z; // img_.ptr(z, 0, 0); unsigned char const * const img_prev_plane = (z > 0) ? (img_plane - img_.step[0]) : nullptr; int * const labels_plane = reinterpret_cast(img_labels_.data) + (img_labels_.step[0] / sizeof(int)) * z; int * const labels_prev_plane = labels_plane - (img_labels_.step[0] / sizeof(int)); for (int y = 0; y < img_.size[1]; y++) { // Prev plane row pointers unsigned char const * img_prev_plane_rows[3]; int prev_plane_first_row, prev_plane_last_row; if (img_prev_plane != nullptr) { img_prev_plane_rows[1] = img_prev_plane + img_.step[1] * y; img_prev_plane_rows[0] = (y > 0) ? (prev_plane_first_row = 0, img_prev_plane_rows[1] - img_.step[1]) : (prev_plane_first_row = 1, nullptr); img_prev_plane_rows[2] = (y + 1 < img_.size[1]) ? (prev_plane_last_row = 2, img_prev_plane_rows[1] + img_.step[1]) : (prev_plane_last_row = 1, nullptr); } int * labels_prev_plane_rows[3]; labels_prev_plane_rows[1] = labels_prev_plane + (img_labels_.step[1] / sizeof(int)) * y; labels_prev_plane_rows[0] = labels_prev_plane_rows[1] - (img_labels_.step[1] / sizeof(int)); labels_prev_plane_rows[2] = labels_prev_plane_rows[1] + (img_labels_.step[1] / sizeof(int)); // Cur plane row pointers unsigned char const * const img_row = img_plane + img_.step[1] * y; unsigned char const * const img_prev_row = (y > 0) ? (img_row - img_.step[1]) : nullptr; int * const labels_row = labels_plane + (img_labels_.step[1] / sizeof(int)) * y; int * const labels_prev_row = labels_row - (img_labels_.step[1] / sizeof(int)); for (int x = 0; x < img_.size[2]; x++) { int label = 0; if (img_row[x] > 0) { int const first_neighbour_x = (x > 0) ? (x - 1) : x; int const last_neighbour_x = (x + 1 < img_.size[2]) ? (x + 1) : x; // Previous plane if (img_prev_plane != nullptr) { for (int r = prev_plane_first_row; r <= prev_plane_last_row; r++) { for (int c = first_neighbour_x; c <= last_neighbour_x; c++) { if (img_prev_plane_rows[r][c] > 0) { if (label == 0) { label = labels_prev_plane_rows[r][c]; } else { LabelsSolver::Merge(labels_prev_plane_rows[r][c], label); } } } } } // Previous row if (img_prev_row != nullptr) { for (int c = first_neighbour_x; c <= last_neighbour_x; c++) { if (img_prev_row[c] > 0) { if (label == 0) { label = labels_prev_row[c]; } else { LabelsSolver::Merge(labels_prev_row[c], label); } } } } // Previous col if (x > 0) { if (img_row[x - 1] > 0) { if (label == 0) { label = labels_row[x - 1]; } else { LabelsSolver::Merge(labels_row[x - 1], label); } } } if (label == 0) { label = LabelsSolver::NewLabel(); } } labels_row[x] = label; } } // Rows cycle end } // Planes cycle end } void SecondScan() { // Second scan LabelsSolver::Flatten(); int * img_row = reinterpret_cast(img_labels_.data); for (int z = 0; z < img_labels_.size[0]; z++) { for (int y = 0; y < img_labels_.size[1]; y++) { for (int x = 0; x < img_labels_.size[2]; x++) { img_row[x] = LabelsSolver::GetLabel(img_row[x]); } img_row += img_labels_.step[1] / sizeof(int); } } } }; #endif // !YACCLAB_LABELING_NAIVE_3D_H_ ================================================ FILE: include/labeling_HT_CCL_Diaz2019_v1_2_0.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Fernando Diaz-del-Rio, Pablo Sanchez-Cuevas // Department of Computer Architecture and Technology // University of Seville, Spain // // Helena Molina-Abril, Pedro Real // Department of Applied Mathematics I // University of Seville, Spain. #ifndef YACCLAB_LABELING_CCLHSF_H_ #define YACCLAB_LABELING_CCLHSF_H_ //////////////////// #include #include #include #include //#include "opencv/cv.h" //#include "opencv/highgui.h" #include #include #include #include "opencv2/opencv.hpp" #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" using namespace std; //////////////////// // for testing and debugging purposes. //////////////////// //#define DEBUG_INNER_STATISTICS //#define DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS //for debugging purposes . //////////////////// #define MAX_NUM_THREADS 8 #define _OMP_SCHEDULING dynamic #define CHUNK_SIZE 16 //////////////////////////////// typedef_constants.h typedef unsigned char Bool; // binary images are allowed typedef unsigned char ImageType; typedef int JumpType; // the index type has sign typedef int RowColType; ////////////////// // colors for : #define FG 1 #define BG 0 ///////////// // Macros #define tag_ind(row, col) ( (col)+(N_COLS*row) ) //////////////////// int N_ROWS, N_COLS; ////////////////////// -------------------- // protoypes of four main functions ////////////////////// -------------------- // protoypes of four main functions //1st stage void J_init(const cv::Mat1b &I, cv::Mat1i &J, struct listaPadres* lista, int id, int trozo); //2nd stage void J_computation(cv::Mat1i &J, struct listaPadres* lista, int id, int trozo); // fusing 1st and 2nd stages: void init_2LookUpTables_and_infection_process(const cv::Mat1b &I, cv::Mat1i &J, struct listaPadres* lista, int id, int trozo); // 3rd and 4th stages: void Transports_only(const cv::Mat1b &I, cv::Mat1i &J, struct listaPadres* lista); unsigned Labelling_only(const cv::Mat1b* Itemp, cv::Mat1i* Jtemp, cv::Mat1i* Ltemp, int id, int numHilos); void init_borders(const cv::Mat1b &I, cv::Mat1i &J, struct listaPadres *lista, int numHilos, int trozo); struct listaPadres { int* padresI; int* padresJ; int numPadres; int* saltos; }; struct listaPadres listaGeneral[MAX_NUM_THREADS]; ///%%%%%%%%%%%%%%%%%%%%%%///////////////////%%%%%%%%%%%%%%%%%%%%%%%% class labeling_CCLHSF : public Labeling2D { public: void PerformLabeling() { N_ROWS = img_.rows, N_COLS = img_.cols; img_labels_ = cv::Mat1i(img_.size()); // Memory allocation for the output image // jumps accross the image (positive for FG, negative for BG) cv::Mat1i imgJ ; imgJ = cv::Mat1i(img_.size()); if (N_ROWS == 1 && N_COLS == 1) { n_labels_ = 1; return; } int numHilos; cv::Mat1b& img_ref = img_; #define NOF_ASKED_THREADS 8 omp_set_num_threads(NOF_ASKED_THREADS); #ifdef CALCULO_TIEMPO t = omp_get_wtime(); #endif #pragma omp parallel default(none) shared(imgJ, numHilos, img_ref, listaGeneral, N_ROWS) { int id = omp_get_thread_num(); numHilos = omp_get_num_threads(); int trozo = (N_ROWS / numHilos) + (N_ROWS % numHilos); if (id == 0) { for (int i = 0; i < numHilos; i++) { listaGeneral[i].padresI = (int*)malloc(trozo * img_.cols * sizeof(int) / 4); listaGeneral[i].padresJ = (int*)malloc(trozo * img_.cols * sizeof(int) / 4); listaGeneral[i].numPadres = 0; listaGeneral[i].saltos = (int*)malloc(trozo * img_.cols * sizeof(int) / 4); } init_borders(img_, imgJ, listaGeneral, numHilos, trozo); } #pragma omp barrier // initializing Jump matrices trozo = (N_ROWS / numHilos); J_init(img_, imgJ, &listaGeneral[id], id, trozo); #pragma omp barrier J_computation(imgJ, &listaGeneral[id], id, trozo); } // transports Transports_only(img_, imgJ, listaGeneral); // label assignement int nLabel = 0; #pragma omp parallel default(none) shared(imgJ, numHilos, img_ref, listaGeneral, N_ROWS) reduction(+:nLabel) { int id = omp_get_thread_num(); int trozo = N_ROWS / numHilos; nLabel = Labelling_only(&img_, &imgJ, &img_labels_, id, numHilos); } for (int i = 0; i < numHilos; i++) { free(listaGeneral[i].padresI); free(listaGeneral[i].padresJ); free(listaGeneral[i].saltos); } n_labels_ = nLabel+1; } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { MemMat img(img_); MemMat img_labels(img_.size()); for (int r = 0; r < img_labels.rows; ++r) { for (int c = 0; c < img_labels.cols; ++c) { img_labels(r, c) = img(r, c); } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); } private: double Alloc() { // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ma_t; } void Dealloc() { // No free for img_labels_ because it is required at the end of the algorithm } void AllScans() { for (int r = 0; r < img_labels_.rows; ++r) { // Get rows pointer const uchar* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); for (int c = 0; c < img_labels_.cols; ++c) { img_labels_row[c] = img_row[c]; } } } }; //========================================= ////////////////////////////////////////////////////////////// // FOUR MAIN STEPS: //////////////////////////// // auxiliar function prototypes RowColType FG_lookup_table_3neighb(RowColType Right, RowColType RiDo, RowColType Down); RowColType BG_lookup_table_2neighb(RowColType Left, RowColType Up); void init_2LookUpTables_and_infection_process(const cv::Mat1b &I, cv::Mat1i &J, struct listaPadres *lista, int id, int trozo) { int numHilos = omp_get_num_threads(); int filaInicial = id * trozo; int filaFinal = filaInicial + trozo; filaFinal = (id == (omp_get_num_threads() - 1)) ? N_ROWS : filaFinal; filaInicial = (id == 0) ? filaInicial + 1 : filaInicial; for (RowColType r = filaInicial; r < filaFinal; r++) { // Get rows pointers const uchar* const img_row = I.ptr(r); const uchar* const img_row_fol = (uchar *)(((char *)img_row) + I.step.p[0]); //pointer to the following row const uchar* const img_row_pre = (uchar *)(((char *)img_row) - I.step.p[0]); //pointer to the previous row int* const imgJump_row = (int*)J.ptr(r); //sign is required here. for (RowColType c = 1; c < N_COLS; c++) { if ((img_row[c] == BG)) { RowColType Le = img_row[c - 1]; RowColType U = img_row_pre[c]; JumpType *pjump_rc = &(imgJump_row[c]); //@ it is faster than pjump_rc++ ? JumpType jump_rc = BG_lookup_table_2neighb(Le, U); // priority: : +1 for FG; -1 for BG // 1� load if (jump_rc != 0) { JumpType other_jump = *(pjump_rc + jump_rc); // 2� load // a little faster using conditional code here #ifdef DEBUG_INNER_STATISTICS int cond1 = (other_jump != 0); flag_any_change += cond1; #endif JumpType total_jump = jump_rc + (other_jump); // NO LOAD *pjump_rc = total_jump; // 1� store with if /* instead of if() version ... see below } else { *pjump_rc = 0; } } } //end o for (RowColType c = 1; c < N_COLS - 1; c++) } filaFinal = (id == (numHilos - 1)) ? filaFinal - 1 : filaFinal; filaInicial = (id == 0) ? filaInicial - 1 : filaInicial; for (RowColType r = filaFinal - 1; r >= filaInicial; r--) { // Get rows pointers const uchar* const img_row = I.ptr(r); const uchar* const img_row_fol = (uchar *)(((char *)img_row) + I.step.p[0]); //pointer to the following row const uchar* const img_row_pre = (uchar *)(((char *)img_row) - I.step.p[0]); //pointer to the previous row int* const imgJump_row = (int*)J.ptr(r); //sign is required here. for (int c = N_COLS - 2; c >= 0; c--) { if ((img_row[c] == FG)) { RowColType R = img_row[c + 1]; RowColType RD = img_row_fol[c + 1]; RowColType D = img_row_fol[c]; JumpType *pjump_rc = &(imgJump_row[c]); //@ it is faster than pjump_rc-- ? JumpType jump_rc = FG_lookup_table_3neighb(R, RD, D); // priority: : +1 for FG; -1 for BG ; // 1� load if (jump_rc != 0) { JumpType other_jump = *(pjump_rc + jump_rc); // 2� load JumpType total_jump = jump_rc + (other_jump); // NO LOAD *pjump_rc = total_jump; // 1� store with if /* instead of if() version } else { *pjump_rc = 0; lista->padresI[lista->numPadres] = r; lista->padresJ[lista->numPadres] = c; lista->saltos[lista->numPadres] = 0; lista->numPadres++; } // a little faster using conditional code here #ifdef DEBUG_INNER_STATISTICS int cond1 = (other_jump != 0); flag_any_change += cond1; #endif } } } return; } ///////////////////////// void J_init(const cv::Mat1b &I, cv::Mat1i &J, struct listaPadres* lista, int id, int trozo) { int numHilos = omp_get_num_threads(); int filaInicial = id * trozo, filaFinal = (id + 1) * trozo; filaInicial = (id == 0) ? 1 : filaInicial; filaFinal = (id == (numHilos - 1)) ? (N_ROWS - 1) : filaFinal; for (RowColType r = filaInicial; r < filaFinal; r++) { // Get rows pointers const uchar* const img_row = I.ptr(r); const uchar* const img_row_fol = (uchar *)(((char *)img_row) + I.step.p[0]); //pointer to the following row const uchar* const img_row_pre = (uchar *)(((char *)img_row) - I.step.p[0]); //pointer to the previous row int* const imgJump_row = (int*)J.ptr(r); //sign is required here. for (RowColType c = 1; c < N_COLS - 1; c++) { if ((img_row[c] == FG)) { RowColType R = img_row[c + 1]; RowColType RD = img_row_fol[c + 1]; RowColType D = img_row_fol[c]; imgJump_row[c] = FG_lookup_table_3neighb(R, RD, D); // priority: : +1 for FG; -1 for BG if (imgJump_row[c] == 0) { lista->padresI[lista->numPadres] = r; lista->padresJ[lista->numPadres] = c; lista->saltos[lista->numPadres] = 0; lista->numPadres++; } } else { RowColType Le = img_row[c - 1]; RowColType U = img_row_pre[c]; imgJump_row[c] = BG_lookup_table_2neighb(Le, U); // priority: : +1 for FG; -1 for BG } } //end o for (RowColType c = 1; c < N_COLS - 1; c++) } return; } /////////////////////////////////////////// void J_computation(cv::Mat1i &J, struct listaPadres* lista, int id, int trozo) { int filaInicial = id * trozo, filaFinal = (id + 1) * trozo; filaFinal = (id == (omp_get_num_threads() - 1)) ? N_ROWS : filaFinal; #ifdef DEBUG_INNER_STATISTICS int flag_any_change = 0; //counter of J changes #endif // In this version only two passes are done. The more parallel version has more passes (until no more infection is possible) // this is a more guided version to help the compiler to avoid load/stores. Only 2 loads and one store for each change #ifdef DEBUG_INNER_STATISTICS //#pragma omp parallel for schedule(_OMP_SCHEDULING, CHUNK_SIZE) reduction (+:flag_any_change) #endif #ifndef DEBUG_INNER_STATISTICS //#pragma omp parallel for schedule(_OMP_SCHEDULING, CHUNK_SIZE) #endif for (int r = filaInicial; r < filaFinal; r++) { // Get rows pointers int* const imgJump_row = (int*)J.ptr(r); //sign is required here. // forward travelling or run promotes BG pixel jumps in a sequential fashion ! for (int c = 0; c < N_COLS; c++) { JumpType *pjump_rc = &(imgJump_row[c]); //@ it is faster than pjump_rc++ ? JumpType jump_rc = *pjump_rc; // 1� load JumpType other_jump = *(pjump_rc + jump_rc); // 2� load // a little faster using conditional code here int cond1 = (other_jump != 0); #ifdef DEBUG_INNER_STATISTICS flag_any_change += cond1; #endif JumpType total_jump = jump_rc + (other_jump); // NO LOAD *pjump_rc = total_jump; // 1� store with if } } // endof for (int r = 0; r < N_ROWS; r++) for (int r = filaFinal - 1; r >= filaInicial; r--) { // Get rows pointers int* const imgJump_row = (int*)J.ptr(r); //sign is required here. // reverse travelling or run promotes FG pixel jumps in a sequential fashion ! for (int c = N_COLS - 1; c >= 0; c--) { JumpType *pjump_rc = &(imgJump_row[c]); //@ it is faster than pjump_rc-- ? JumpType jump_rc = *pjump_rc; // 1� load JumpType other_jump = *(pjump_rc + jump_rc); // 2� load // a little faster using conditional code here int cond1 = (other_jump != 0); #ifdef DEBUG_INNER_STATISTICS flag_any_change += cond1; #endif JumpType total_jump = jump_rc + (other_jump * (cond1)); // NO LOAD *pjump_rc = total_jump; // 1� store with if } } // endof for (int r = 0; r < N_ROWS; r++) #ifdef DEBUG_INNER_STATISTICS cout << " - LJ_infection: Total nof changes, flag_any_change: " << flag_any_change << endl; #endif } //endof J_computation() void Jonly_infection_process_original(cv::Mat1i &J, struct listaPadres* lista, int id, int trozo) { int filaInicial = id * trozo, filaFinal = (id + 1) * trozo; filaFinal = (id == (omp_get_num_threads() - 1)) ? N_ROWS : filaFinal; int numCambios = -1; #ifdef DEBUG_INNER_STATISTICS int flag_any_change = 0; //counter of J changes #endif // In this version only two passes are done. The more parallel version has more passes (until no more infection is possible) // this is a more guided version to help the compiler to avoid load/stores. Only 2 loads and one store for each change #ifdef DEBUG_INNER_STATISTICS //#pragma omp parallel for schedule(_OMP_SCHEDULING, CHUNK_SIZE) reduction (+:flag_any_change) #endif #ifndef DEBUG_INNER_STATISTICS //#pragma omp parallel for schedule(_OMP_SCHEDULING, CHUNK_SIZE) #endif while (numCambios != 0) { numCambios = 0; for (int r = filaInicial; r < filaFinal; r++) { // Get rows pointers int* const imgJump_row = (int*)J.ptr(r); //sign is required here. // forward travelling or run promotes BG pixel jumps in a sequential fashion ! for (int c = 0; c < N_COLS; c++) { JumpType *pjump_rc = &(imgJump_row[c]); //@ it is faster than pjump_rc++ ? JumpType jump_rc = *pjump_rc; // 1� load JumpType other_jump = *(pjump_rc + jump_rc); // 2� load // a little faster using conditional code here int cond1 = (other_jump != 0); #ifdef DEBUG_INNER_STATISTICS flag_any_change += cond1; #endif JumpType total_jump = jump_rc + (other_jump); // NO LOAD numCambios = (total_jump != jump_rc) ? (numCambios + 1) : (numCambios); //JumpType total_jump = jump_rc + (other_jump * (cond1)); // note that it is not necessary the product *pjump_rc = total_jump; // 1� store with if } // reverse travelling or run promotes FG pixel jumps in a sequential fashion ! for (int c = N_COLS - 1; c >= 0; c--) { JumpType *pjump_rc = &(imgJump_row[c]); //@ it is faster than pjump_rc-- ? JumpType jump_rc = *pjump_rc; // 1� load JumpType other_jump = *(pjump_rc + jump_rc); // 2� load // a little faster using conditional code here int cond1 = (other_jump != 0); #ifdef DEBUG_INNER_STATISTICS flag_any_change += cond1; #endif JumpType total_jump = jump_rc + (other_jump * (cond1)); // NO LOAD numCambios = (total_jump != jump_rc) ? (numCambios + 1) : (numCambios); *pjump_rc = total_jump; // 1� store with if } } // endof for (int r = 0; r < N_ROWS; r++) #ifdef DEBUG_INNER_STATISTICS cout << " - LJ_infection: Total nof changes, flag_any_change: " << flag_any_change << endl; #endif } } //endof J_computation() ////////////////////////////////////////////////////////////// // auxiliar function prototypes int Jonly_transports_lots_of_searches(int R_SHIFT_SEARCH, int C_SHIFT_SEARCH, int R_SHIFT_NEW_ROOT, int C_SHIFT_NEW_ROOT, const cv::Mat1b &I, cv::Mat1i &J, struct listaPadres* lista); JumpType * travel_inside_J(JumpType *pprevious_other_color_crit_cell, JumpType jump_other_color_crit_cell, JumpType *); ////////////////////////////////////////////////////////////// void Transports_only(const cv::Mat1b &Itemp, cv::Mat1i &Jtemp, struct listaPadres* lista) { #ifdef DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS #define NOF_CHRONOS_TRANSPORTS 18 //NO MORE THATN 18 WJILE ITER. ARE EXPECTED @ double t0[NOF_CHRONOS_TRANSPORTS], t_inc[NOF_CHRONOS_TRANSPORTS]; for (int j = 0; j < NOF_CHRONOS_TRANSPORTS; j++) { t_inc[j] = 1.0e+35; } #endif int nof_transport_iterations = 0; int total_nof_transports = 0; //initial value int flag_transports_1; int flag_transports_2; #ifdef DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS int ctimer = 0; t0[ctimer] = omp_get_wtime(); #endif //// First set of transports: // to the North-SOuth; arguments are : flag_transports_1 = Jonly_transports_lots_of_searches(0, 1, -1, 0, Itemp, Jtemp, lista); nof_transport_iterations++; #ifdef DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS t_inc[ctimer++] = omp_get_wtime() - t0[ctimer]; #endif #ifdef DEBUG_INNER_STATISTICS cout << " - 1. nof_transports:" << flag_transports_1 << endl; #endif #ifdef DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS t0[ctimer] = omp_get_wtime(); #endif //// Second set of transports: // Now to the West-East; so the arguments are different: flag_transports_2 = Jonly_transports_lots_of_searches(1, 0, 0, -1, Itemp, Jtemp, lista); nof_transport_iterations++; total_nof_transports += (flag_transports_1 + flag_transports_2); #ifdef DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS t_inc[ctimer++] = omp_get_wtime() - t0[ctimer]; #endif #ifdef DEBUG_INNER_STATISTICS cout << " - 1 and 2. nof_transports:" << total_nof_transports << endl; #endif while ((flag_transports_1 + flag_transports_2) != 0) { // to the North-SOuth; arguments are : #ifdef DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS t0[ctimer] = omp_get_wtime(); #endif flag_transports_1 = Jonly_transports_lots_of_searches(0, 1, -1, 0, Itemp, Jtemp, lista); nof_transport_iterations++; #ifdef DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS t_inc[ctimer++] = omp_get_wtime() - t0[ctimer]; #endif #ifdef DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS t0[ctimer] = omp_get_wtime(); #endif // Now to the West-East; so the arguments are different: flag_transports_2 = Jonly_transports_lots_of_searches(1, 0, 0, -1, Itemp, Jtemp, lista); nof_transport_iterations++; total_nof_transports += (flag_transports_1 + flag_transports_2); #ifdef DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS t_inc[ctimer++] = omp_get_wtime() - t0[ctimer]; #endif } #ifdef DEBUG_INNER_STATISTICS cout << " - J: nof_transport_iterations: " << nof_transport_iterations << endl; cout << " - J: total_nof_transports:" << total_nof_transports << endl; #endif #ifdef DEBUG_DEBUG_INNER_TIME_MEASUREMENT_CCLHSF_TRANSPORTS for (int j = 0; j < nof_transport_iterations; j++) { printf(" * Inner transport %2d : %lf \n", j, t_inc[j]); } #endif return; } ////////////////////// unsigned Labelling_only(const cv::Mat1b* I, cv::Mat1i* J, cv::Mat1i* L, int id, int numHilos) { int* const imgJump_row_origin = (int*)J->ptr(0); //sign is required here. unsigned total_nof_FG_labels = 0; int trozo = N_ROWS / numHilos; int filaInicial = id * trozo; int filaFinal = (id == (numHilos - 1)) ? N_ROWS : filaInicial + trozo; for (int r = filaInicial; r < filaFinal; r++) { // FG critical cells at the SOUTH (BOTTOM) border are considered as real critical cells const uchar* const img_row = I->ptr(r); int* const imgJump_row = (int*)J->ptr(r); //sign is required here. int* const imgLabels_row = (int*)L->ptr(r); //sign is required here. JumpType label_rc_00 = r * N_COLS; //@ this must be recomputed according to the nof threads for (int c = 0; c < N_COLS; c++) { // FG critical cells at the East (RIGHT) border are considered as real critical cells const uchar *pI_rc = &(img_row[c]); //@ it is faster than pjump_rc++ ? JumpType *pjump_rc = &(imgJump_row[c]); //@ it is faster than pjump_rc++ ? int *pLabels_rc = &(imgLabels_row[c]); //@ it is faster than pjump_rc++ ? JumpType jump_rc = *pjump_rc; // 1� load total_nof_FG_labels += (jump_rc == 0 && *pI_rc == FG); { // 2� load // Labels L for possible critical cells were written at the init() #ifdef DEBUG_INNER_STATISTICS nof_non_critical_FG_pixels++; #endif JumpType *pnew_jump = pjump_rc + jump_rc; //& JumpType *pprevious_jump = pjump_rc + jump_rc; //& JumpType previous_jump = jump_rc;//& JumpType new_jump = *(pnew_jump); // 3� load //& JumpType sum_jumps_rc = new_jump + previous_jump; //& total sum to do the final label assignment after the while loop pprevious_jump = pnew_jump; previous_jump = new_jump; pnew_jump = pnew_jump + new_jump; new_jump = *(pnew_jump); // next loads //& sum_jumps_rc += new_jump; while (new_jump != 0) { //& *(pprevious_jump) = (new_jump + previous_jump); //& new store to optimize future accessses pprevious_jump = pnew_jump; previous_jump = new_jump; pnew_jump = pnew_jump + new_jump; new_jump = *(pnew_jump); // next loads //& sum_jumps_rc += new_jump; #ifdef DEBUG_INNER_STATISTICS inner_FG_jumps++; #endif } *pLabels_rc = label_rc_00 + sum_jumps_rc; //& //1� store @ this must be recomputed according to the nof threads // also sth like: L[r][c] = (pjump_rc - &J[0][0] ) + jump_rc; //1� store @ this must be recomputed according to the nof threads } //end of if (jump_rc != 0 && I[r][c] == FG) { label_rc_00++; // @ this must be recomputed according to the nof threads } } // endof for (int r = 0; r < N_ROWS; r++) #ifdef DEBUG_INNER_STATISTICS //cout << " # Final Labeling: Mean number of BG jumps per FG crit. cell: " << (inner_BG_jumps*1.0) / nof_non_critical_BG_pixels << endl; cout << " # Final Labeling: Mean number of FG jumps per FG pixel: " << (inner_FG_jumps*1.0) / nof_non_critical_FG_pixels << endl; #endif return total_nof_FG_labels; } ////////////////////// ////////////////////////////////////////////////////////////// //internal aux. functions ////////////////////////////////////////////////////////////// // @Note that init_borders() can be optimized . But it is negligible for big matrices void init_borders(const cv::Mat1b &I, cv::Mat1i &J, struct listaPadres *lista, int numHilos, int trozo) { // four corners { RowColType r, c; r = 0; c = 0; // Get rows pointers const uchar* const img_row = I.ptr(r); const uchar* const img_row_fol = (uchar *)(((char *)img_row) + I.step.p[0]); //pointer to the following row const uchar* const img_row_pre = (uchar *)(((char *)img_row) - I.step.p[0]); //pointer to the previous row int* const imgJump_row = (int*)J.ptr(r); //sign is required here. if ((img_row[c] == FG)) { ImageType R = img_row[c + 1]; ImageType RD = img_row_fol[c + 1]; ImageType D = img_row_fol[c]; imgJump_row[c] = FG_lookup_table_3neighb(R, RD, D); if (imgJump_row[c] == 0) { lista[0].padresI[lista[0].numPadres] = r; lista[0].padresJ[lista[0].numPadres] = c; lista[0].saltos[lista[0].numPadres] = 0; lista[0].numPadres++; } } else { imgJump_row[c] = 0; // undefined } } { RowColType r, c; r = 0; c = N_COLS - 1; // Get rows pointers const uchar* const img_row = I.ptr(r); const uchar* const img_row_fol = (uchar *)(((char *)img_row) + I.step.p[0]); //pointer to the following row const uchar* const img_row_pre = (uchar *)(((char *)img_row) - I.step.p[0]); //pointer to the previous row int* const imgJump_row = (int*)J.ptr(r); //sign is required here. if ((img_row[c] == FG)) { ImageType R = !img_row[c]; // img_row[c + 1]; ImageType RD = !img_row[c]; // img_row_fol[c + 1]; ImageType D = img_row_fol[c]; // L[r][c] = 0 + !(D)* tag_ind(r, c); imgJump_row[c] = FG_lookup_table_3neighb(R, RD, D); if (imgJump_row[c] == 0) { lista[0].padresI[lista[0].numPadres] = r; lista[0].padresJ[lista[0].numPadres] = c; lista[0].saltos[lista[0].numPadres] = 0; lista[0].numPadres++; } } else { ImageType Le = img_row[c - 1]; ImageType U = !img_row[c]; // img_row_pre[c]; imgJump_row[c] = BG_lookup_table_2neighb(Le, U); } } { RowColType r, c; r = N_ROWS - 1; c = 0; // Get rows pointers const uchar* const img_row = I.ptr(r); const uchar* const img_row_fol = (uchar *)(((char *)img_row) + I.step.p[0]); //pointer to the following row const uchar* const img_row_pre = (uchar *)(((char *)img_row) - I.step.p[0]); //pointer to the previous row int* const imgJump_row = (int*)J.ptr(r); //sign is required here. if ((img_row[c] == FG)) { ImageType R = img_row[c + 1]; ImageType RD = !img_row[c]; // img_row_fol[c + 1]; ImageType D = !img_row[c]; // img_row_fol[c]; imgJump_row[c] = FG_lookup_table_3neighb(R, RD, D); if (imgJump_row[c] == 0) { lista[numHilos - 1].padresI[lista[numHilos - 1].numPadres] = r; lista[numHilos - 1].padresJ[lista[numHilos - 1].numPadres] = c; lista[numHilos - 1].saltos[lista[numHilos - 1].numPadres] = 0; lista[numHilos - 1].numPadres++; } } else { ImageType Le = !img_row[c]; // img_row[c - 1]; ImageType U = img_row_pre[c]; // L[r][c] = 0 + (U)* tag_ind(r, c); imgJump_row[c] = BG_lookup_table_2neighb(Le, U); } } { RowColType r, c; r = N_ROWS - 1; c = N_COLS - 1; // Get rows pointers const uchar* const img_row = I.ptr(r); const uchar* const img_row_fol = (uchar *)(((char *)img_row) + I.step.p[0]); //pointer to the following row const uchar* const img_row_pre = (uchar *)(((char *)img_row) - I.step.p[0]); //pointer to the previous row int* const imgJump_row = (int*)J.ptr(r); //sign is required here. if ((img_row[c] == FG)) { imgJump_row[c] = 0; //undefined lista[numHilos - 1].padresI[lista[numHilos - 1].numPadres] = r; lista[numHilos - 1].padresJ[lista[numHilos - 1].numPadres] = c; lista[numHilos - 1].saltos[lista[numHilos - 1].numPadres] = 0; lista[numHilos - 1].numPadres++; } else { ImageType Le = img_row[c - 1]; ImageType U = img_row_pre[c]; imgJump_row[c] = BG_lookup_table_2neighb(Le, U); } } //end of four corners ////////// // left and right cols for (RowColType r = 1; r < N_ROWS - 1; r++) { int id = r / trozo; if (id >(omp_get_num_threads() - 1)) id = id - 1; // Get rows pointers const uchar* const img_row = I.ptr(r); const uchar* const img_row_fol = (uchar *)(((char *)img_row) + I.step.p[0]); //pointer to the following row const uchar* const img_row_pre = (uchar *)(((char *)img_row) - I.step.p[0]); //pointer to the previous row int* const imgJump_row = (int*)J.ptr(r); //sign is required here. RowColType c; c = 0; if ((img_row[c] == FG)) { ImageType R = img_row[c + 1]; ImageType RD = img_row_fol[c + 1]; ImageType D = img_row_fol[c]; imgJump_row[c] = FG_lookup_table_3neighb(R, RD, D); if (imgJump_row[c] == 0) { lista[id].padresI[lista[id].numPadres] = r; lista[id].padresJ[lista[id].numPadres] = c; lista[id].saltos[lista[id].numPadres] = 0; lista[id].numPadres++; } } else { ImageType Le = !img_row[c]; // img_row[c - 1]; ImageType U = img_row_pre[c]; imgJump_row[c] = BG_lookup_table_2neighb(Le, U); } c = N_COLS - 1; if ((img_row[c] == FG)) { ImageType R = !img_row[c]; // img_row[c + 1]; ImageType RD = !img_row[c]; // img_row_fol[c + 1]; ImageType D = img_row_fol[c]; imgJump_row[c] = FG_lookup_table_3neighb(R, RD, D); if (imgJump_row[c] == 0) { lista[id].padresI[lista[id].numPadres] = r; lista[id].padresJ[lista[id].numPadres] = c; lista[id].saltos[lista[id].numPadres] = 0; lista[id].numPadres++; } } else { ImageType Le = img_row[c - 1]; ImageType U = img_row_pre[c]; // L[r][c] = 0 + (Le & U) * tag_ind(r, c); imgJump_row[c] = BG_lookup_table_2neighb(Le, U); } } // up and bottom rows { // up row RowColType r; r = 0; // Get rows pointers @this has been extracted from the loop (be careful with omp variable scopes) const uchar* const img_row = I.ptr(r); const uchar* const img_row_fol = (uchar *)(((char *)img_row) + I.step.p[0]); //pointer to the following row const uchar* const img_row_pre = (uchar *)(((char *)img_row) - I.step.p[0]); //pointer to the previous row int* const imgJump_row = (int*)J.ptr(r); //sign is required here. //#pragma omp parallel for schedule(_OMP_SCHEDULING, CHUNK_SIZE) for (RowColType c = 1; c < N_COLS - 1; c++) { if ((img_row[c] == FG)) { ImageType R = img_row[c + 1]; ImageType RD = img_row_fol[c + 1]; ImageType D = img_row_fol[c]; imgJump_row[c] = FG_lookup_table_3neighb(R, RD, D); if (imgJump_row[c] == 0) { lista[0].padresI[lista[0].numPadres] = r; lista[0].padresJ[lista[0].numPadres] = c; lista[0].saltos[lista[0].numPadres] = 0; lista[0].numPadres++; } } else { ImageType Le = img_row[c - 1]; ImageType U = !img_row[c]; // img_row_pre[c]; imgJump_row[c] = BG_lookup_table_2neighb(Le, U); } } //endof for (RowColType c = 1; c < N_COLS - 1; c++) up row } { // bottom row RowColType r; r = N_ROWS - 1; // Get rows pointers @this has been extracted from the loop (be careful with omp variable scopes) const uchar* const img_row = I.ptr(r); const uchar* const img_row_fol = (uchar *)(((char *)img_row) + I.step.p[0]); //pointer to the following row const uchar* const img_row_pre = (uchar *)(((char *)img_row) - I.step.p[0]); //pointer to the previous row int* const imgJump_row = (int*)J.ptr(r); //sign is required here. //#pragma omp parallel for schedule(_OMP_SCHEDULING, CHUNK_SIZE) for (RowColType c = 1; c < N_COLS - 1; c++) { if ((img_row[c] == FG)) { ImageType R = img_row[c + 1]; ImageType RD = !img_row[c]; // img_row_fol[c + 1]; ImageType D = !img_row[c]; // img_row_fol[c]; imgJump_row[c] = FG_lookup_table_3neighb(R, RD, D); if (imgJump_row[c] == 0) { lista[numHilos - 1].padresI[lista[numHilos - 1].numPadres] = r; lista[numHilos - 1].padresJ[lista[numHilos - 1].numPadres] = c; lista[numHilos - 1].saltos[lista[numHilos - 1].numPadres] = 0; lista[numHilos - 1].numPadres++; } } else { ImageType Le = img_row[c - 1]; ImageType U = img_row_pre[c]; // L[r][c] = 0 + (Le & U) * tag_ind(r, c); imgJump_row[c] = BG_lookup_table_2neighb(Le, U); } } //endof for (RowColType c = 1; c < N_COLS - 1; c++) bottom row } } //endof function ///////////////////////////////////////// // lookup tables with 3 FG / 2 BG neighbors: RowColType FG_lookup_table_3neighb(RowColType Right, RowColType RiDo, RowColType Down) { // priority for FG : +1, +N_COLS+1, + N_COLS RowColType table[8] = { 0, N_COLS, N_COLS + 1, N_COLS + 1, 1, 1, 1, 1 }; // FG must be 1; BG 0 int ind = (Right << 2) + (RiDo << 1) + Down; return table[ind]; } RowColType BG_lookup_table_2neighb(RowColType Left, RowColType Up) { // priority for BG : -1, -N_COLS RowColType table[4] = { -1, -1, -N_COLS, 0 }; // FG must be 1; BG 0 int ind = (Left << 1) + Up; return table[ind]; } /////////////////////////////////////// int Jonly_transports_lots_of_searches(int R_SHIFT_SEARCH, int C_SHIFT_SEARCH, int R_SHIFT_NEW_ROOT, int C_SHIFT_NEW_ROOT, const cv::Mat1b &I, cv::Mat1i &J, struct listaPadres* listaGlobal) { int nof_FG_transports = 0; //initial value int nof_BG_transports = 0; //initial value #ifdef DEBUG_INNER_STATISTICS int inner_FG_jumps = 0, inner_BG_jumps = 0; int inner_FG_crit_cells = 0; int inner_FG_crit_cells_backwards = 0; #endif // Get row pointer to the most left upper pixel int* const imgJump_row_origin = (int*)J.ptr(0); //sign is required here. // Because FG has more connectivity, it has less critical cells. It is preferable transporting false critical FG cells than BG ones #ifdef DEBUG_INNER_STATISTICS //#pragma omp parallel for schedule(_OMP_SCHEDULING, CHUNK_SIZE) reduction (+:flag_any_transport) reduction (+:inner_FG_jumps ) reduction (+:inner_BG_jumps ) reduction (+: inner_FG_crit_cells ) reduction (+:inner_FG_crit_cells_backwards) shared ( I) #else //#pragma omp parallel reduction (+:nof_FG_transports)reduction (+:nof_BG_transports) shared ( I) #endif #pragma omp parallel reduction (+:nof_FG_transports)reduction (+:nof_BG_transports) shared ( I) { int id = omp_get_thread_num(); struct listaPadres* lista = &listaGlobal[id]; for (int k = 0; k < lista->numPadres; k++) { // FG critical cells at the SOUTH (BOTTOM) border are considered as real critical cells // Get rows pointers int r = lista->padresI[k]; int c = lista->padresJ[k]; int* const imgJump_row = (int*)J.ptr(r); //sign is required here. JumpType *pjump_rc = &(imgJump_row[c]); JumpType jump_rc = lista->saltos[k]; if (jump_rc == 0) { // 2� load if it were a FG critical cell if (((c + C_SHIFT_SEARCH) < N_COLS) && ((r + R_SHIFT_SEARCH) < N_ROWS)) { //(( @ NO BORDERS //%CHECK 1 JumpType other_color_jump = *(pjump_rc + C_SHIFT_SEARCH + N_COLS * R_SHIFT_SEARCH); // 3� load JumpType *pother_color_crit_cell = (pjump_rc + C_SHIFT_SEARCH + N_COLS * R_SHIFT_SEARCH) + other_color_jump; //now the *pother_color_crit_cell may not be zero , that is the BG area may fall into a previously deleted critical cells. Thus, inner jumps until a zero were found are necessary: JumpType jump_other_color_crit_cell = *pother_color_crit_cell; #ifdef DEBUG_INNER_STATISTICS inner_FG_crit_cells++; #endif JumpType *pnew_other_color_crit_cell = pother_color_crit_cell; if (jump_other_color_crit_cell != 0) { // %%%% TRAVELLING ALONG BG CELLS: JumpType sum_jump_other_color_crit_cell; // travel_inside_J returns the destin of the travel (a pointer to the destin ) // receives: a pointer to origin, initial jump (that is *origin) , the total distance by reference (the sum from destin to origin) pnew_other_color_crit_cell = travel_inside_J(pother_color_crit_cell, jump_other_color_crit_cell, &sum_jump_other_color_crit_cell); *(pjump_rc + C_SHIFT_SEARCH + N_COLS * R_SHIFT_SEARCH) = sum_jump_other_color_crit_cell + other_color_jump; // optimizing for the next time it checks this FG sink //& } // %%%% BG CRITICAL CELL WAS FOUND : I LOOK INTO ITS FG ADJ. CELLS: if (pnew_other_color_crit_cell != (JumpType *)imgJump_row_origin) //(((@ NO_BORDERS_ADDITIONAL . //%CHECK 2 //@ it could be not necessary (because all the checking is done 3 lines below ) { JumpType other_color_jump_backwards; JumpType *pother_color_jump_backwards; // checking borders for the other BG crit. cell we have just travelled to /////// JumpType *padj_to_new_other_color_crit_cell = pnew_other_color_crit_cell - C_SHIFT_SEARCH - N_COLS * R_SHIFT_SEARCH; int dist_between_BG_cell_and_origin = static_cast(padj_to_new_other_color_crit_cell - ((JumpType *)imgJump_row_origin)); if ( ((-R_SHIFT_SEARCH == -1) && (padj_to_new_other_color_crit_cell > (JumpType *)imgJump_row_origin)) || ((-C_SHIFT_SEARCH == -1) && (dist_between_BG_cell_and_origin % N_COLS) != (N_COLS - 1)) ) //%CHECK 3 { //(((@ NO_BORDERS_ADDITIONAL // normal case: not in borders: other_color_jump_backwards = *(pnew_other_color_crit_cell - C_SHIFT_SEARCH - N_COLS * R_SHIFT_SEARCH); // 4� load pother_color_jump_backwards = (pnew_other_color_crit_cell - C_SHIFT_SEARCH - N_COLS * R_SHIFT_SEARCH) + other_color_jump_backwards; //now the *pother_color_jump_backwards may not be zero , that is the FG area may fall into a previously deleted critical cells. //Thus, inner jumps until a zero were found are necessary: JumpType jump_other_color_jump_backwards = *pother_color_jump_backwards; #ifdef DEBUG_INNER_STATISTICS inner_FG_crit_cells_backwards++; #endif JumpType *pnew_other_color_jump_backwards = pother_color_jump_backwards; JumpType *pprevious_other_color_jump_backwards = pother_color_jump_backwards; //& if (jump_other_color_jump_backwards != 0) { // %%%% TRAVELLING ALONG FG CELLS: JumpType sum_jump_other_color_jump_backwards; pnew_other_color_jump_backwards = travel_inside_J(pother_color_jump_backwards, jump_other_color_jump_backwards, &sum_jump_other_color_jump_backwards); *(pnew_other_color_crit_cell - C_SHIFT_SEARCH - N_COLS * R_SHIFT_SEARCH) = (sum_jump_other_color_jump_backwards + other_color_jump_backwards); // optimizing for the next time it checks this FG sink //& } // %%%% MAKING THE TRANSPORT if (pnew_other_color_jump_backwards == pjump_rc) { // do the transport: // or semitransport !!!: // checking the BG crit. cell that is "below" the FG crit. cell : //(((@ NO_BORDERS_ADDITIONAL if (((c - C_SHIFT_NEW_ROOT) < N_COLS) && ((r - R_SHIFT_NEW_ROOT) < N_ROWS)) { //(((@ NO BORDERS //%CHECK 4a // the deleted BG crit. cell is written with: JumpType * pother_color_new_root_origin = (pjump_rc - C_SHIFT_NEW_ROOT - N_COLS * R_SHIFT_NEW_ROOT); // 5� load JumpType sum_jump_other_color_new_root; JumpType * pnew_other_color_crit_cell_destin = travel_inside_J(pother_color_new_root_origin, *pother_color_new_root_origin, &sum_jump_other_color_new_root); JumpType new_value = static_cast(sum_jump_other_color_new_root + (pother_color_new_root_origin - pnew_other_color_crit_cell)); // 2� store with if *pnew_other_color_crit_cell = new_value; // 2� store with if // there can be considered transport only when the new value to be written in this crit. cell is not zero nof_BG_transports += (new_value != 0); } // checking the FG crit. cell that is "above" the BG crit. cell : //(((@ NO_BORDERS_ADDITIONAL JumpType *psearch_to_new_other_color_crit_cell = pnew_other_color_crit_cell + C_SHIFT_NEW_ROOT + N_COLS * R_SHIFT_NEW_ROOT; int dist_between_psearch_BG_cell_and_origin = static_cast(psearch_to_new_other_color_crit_cell - ((JumpType *)imgJump_row_origin)); if ( ((R_SHIFT_NEW_ROOT == -1) && (psearch_to_new_other_color_crit_cell > (JumpType *)imgJump_row_origin)) || ((C_SHIFT_NEW_ROOT == -1) && (dist_between_psearch_BG_cell_and_origin % N_COLS) != (N_COLS - 1)) ) { //(((@ NO BORDERS //%CHECK 4b //the deleted FG crit. cell is written with JumpType * pnew_root_origin = (pnew_other_color_crit_cell + C_SHIFT_NEW_ROOT + N_COLS * R_SHIFT_NEW_ROOT); // 5� load JumpType sum_jump_new_root; JumpType * pnew_crit_cell_destin = travel_inside_J(pnew_root_origin, *pnew_root_origin, &sum_jump_new_root); JumpType new_value = static_cast(sum_jump_new_root - (pjump_rc - pnew_root_origin)); *pjump_rc = new_value; //// 1� store with if � lista->saltos[k] = new_value; // there can be considered transport only when the new value to be written in this crit. cell is not zero nof_FG_transports += (new_value != 0); } //(((@ NO BORDERS } // endof if (pnew_other_color_jump_backwards == pjump_rc) { // do the transport: } //end of if ( ((-R_SHIFT_SEARCH == -1) && (padj_to_new_other_color_crit_cell > (JumpType *)pjump_origin)) ... } //endof if (((c + C_SHIFT_SEARCH) < N_COLS) && ((r + R_SHIFT_SEARCH) < N_ROWS)) } // endof if (jump_rc == 0 && I[r][c] == FG) { // 2� load if it were a FG critical cell } } // endof for (int r = 0; r < N_ROWS; r++) } #ifdef DEBUG_INNER_STATISTICS cout << " + Transports: Mean number of BG jumps per FG crit. cell: " << (inner_BG_jumps*1.0) / inner_FG_crit_cells << endl; cout << " + Transports: Mean number of FG jumps per FG crit. cell: " << (inner_FG_jumps*1.0) / inner_FG_crit_cells_backwards << endl; #endif return (nof_FG_transports + nof_BG_transports); } ////////////////////// ////////////////////// // it returns the destin of the travel (a pointer to the destin ) // receives: a pointer to origin, initial jump (that is *origin) , the total distance by reference (the sum from destin to origin) JumpType * travel_inside_J(JumpType *porigin, JumpType jump, JumpType *psum_jump) { JumpType *pdestin; JumpType *pprevious_other_color_crit_cell = porigin; //& *psum_jump = jump; JumpType previous_jump = jump;//& do { // update the new jumps: pdestin = (jump + pprevious_other_color_crit_cell);//& jump = *pdestin; *psum_jump += jump; // TODO@ optimize this, so that the jumps were stored in the deleted crit. cells. *pprevious_other_color_crit_cell = (previous_jump + jump);//& previous_jump = jump;//& pprevious_other_color_crit_cell = pdestin; //& #ifdef DEBUG_INNER_STATISTICS inner_BG_jumps++; #endif } while (jump != 0); *porigin = *psum_jump; // optimizing return pdestin; } /////////////////////////////////////// //======================================== #endif // !YACCLAB_LABELING_CCLHSF_H_ ================================================ FILE: include/labeling_PREDpp_2021.h ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_PREDPP_H_ #define YACCLAB_LABELING_PREDPP_H_ #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class PREDpp : public Labeling2D { public: PREDpp() {} void PerformLabeling() { img_labels_ = cv::Mat1i(img_.size(), 0); // Call to memset LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::Setup(); // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First Scan int w(img_.cols); int h(img_.rows); //Conditions: #define CONDITION_P img_row11[c - 1] > 0 #define CONDITION_Q img_row11[c] > 0 #define CONDITION_R img_row11[c + 1] > 0 #define CONDITION_S img_row00[c - 1] > 0 #define CONDITION_X img_row00[c] > 0 //Actions: // Action 1: nothing #define ACTION_1 // Action 2: x<-newlabel #define ACTION_2 img_labels_row00[c] = LabelsSolver::NewLabel(); // Action 3: x<-p #define ACTION_3 img_labels_row00[c] = img_labels_row11[c - 1]; // Action 4: x<-q #define ACTION_4 img_labels_row00[c] = img_labels_row11[c]; // Action 5: x<-r #define ACTION_5 img_labels_row00[c] = img_labels_row11[c + 1]; // Action 6: x<-p+r #define ACTION_6 img_labels_row00[c] = LabelsSolver::Merge(img_labels_row11[c + 1], img_labels_row11[c - 1]); // Action 7: x<-s #define ACTION_7 img_labels_row00[c] = img_labels_row00[c - 1]; // Action 8: x<-r+s #define ACTION_8 img_labels_row00[c] = LabelsSolver::Merge(img_labels_row00[c - 1], img_labels_row11[c + 1]); #define COLS w { int c = -1; const unsigned char* const img_row00 = img_.ptr(0); // Row pointers for the output image unsigned* const img_labels_row00 = img_labels_.ptr(0); goto fl_tree_0; #include "labeling_PREDpp_2021_fl_forest.inc.h" } for (int r = 1; r < h; ++r) { int c = -1; // Get rows pointer // Row pointers for the input image const unsigned char* const img_row00 = img_.ptr(r); const unsigned char* const img_row11 = (unsigned char *)(((char *)img_row00) + img_.step.p[0] * -1); // Row pointers for the output image unsigned* const img_labels_row00 = img_labels_.ptr(r); unsigned* const img_labels_row11 = (unsigned *)(((char *)img_labels_row00) + img_labels_.step.p[0] * -1); goto cl_tree_0; #include "labeling_PREDpp_2021_cl_forest.inc.h" }//End rows's for #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_X #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R // Second scan n_labels_ = LabelsSolver::Flatten(); for (int r_i = 0; r_i < img_labels_.rows; ++r_i) { unsigned int *b = img_labels_.ptr(r_i); unsigned int *e = b + img_labels_.cols; for (; b != e; ++b) { *b = LabelsSolver::GetLabel(*b); } } LabelsSolver::Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); // Initialization LabelsSolver::Setup(); // First Scan int w(img_.cols); int h(img_.rows); #define CONDITION_P img_row11[c - 1] > 0 #define CONDITION_Q img_row11[c] > 0 #define CONDITION_R img_row11[c + 1] > 0 #define CONDITION_S img_row00[c - 1] > 0 #define CONDITION_X img_row00[c] > 0 //Actions: // Action 1: nothing #define ACTION_1 // Action 2: x<-newlabel #define ACTION_2 img_labels_row00[c] = LabelsSolver::NewLabel(); // Action 3: x<-p #define ACTION_3 img_labels_row00[c] = img_labels_row11[c - 1]; // Action 4: x<-q #define ACTION_4 img_labels_row00[c] = img_labels_row11[c]; // Action 5: x<-r #define ACTION_5 img_labels_row00[c] = img_labels_row11[c + 1]; // Action 6: x<-p+r #define ACTION_6 img_labels_row00[c] = LabelsSolver::Merge(img_labels_row11[c + 1], img_labels_row11[c - 1]); // Action 7: x<-s #define ACTION_7 img_labels_row00[c] = img_labels_row00[c - 1]; // Action 8: x<-r+s #define ACTION_8 img_labels_row00[c] = LabelsSolver::Merge(img_labels_row00[c - 1], img_labels_row11[c + 1]); #define COLS w { int c = -1; // Get rows pointer // Row pointers for the input image const unsigned char* const img_row00 = img_.ptr(0); // Row pointers for the output image unsigned* const img_labels_row00 = img_labels_.ptr(0); goto fl_tree_0; #include "labeling_PREDpp_2021_fl_forest.inc.h" } for (int r = 1; r < h; ++r) { // Row pointers for the input image const unsigned char* const img_row00 = img_.ptr(r); const unsigned char* const img_row11 = (unsigned char *)(((char *)img_row00) + img_.step.p[0] * -1); // Row pointers for the output image unsigned* const img_labels_row00 = img_labels_.ptr(r); unsigned* const img_labels_row11 = (unsigned *)(((char *)img_labels_row00) + img_labels_.step.p[0] * -1); int c = -1; goto cl_tree_0; #include "labeling_PREDpp_2021_cl_forest.inc.h" }//End rows's for #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_X #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R } void SecondScan() { // Second scan n_labels_ = LabelsSolver::Flatten(); for (int r_i = 0; r_i < img_labels_.rows; ++r_i) { unsigned int *b = img_labels_.ptr(r_i); unsigned int *e = b + img_labels_.cols; for (; b != e; ++b) { *b = LabelsSolver::GetLabel(*b); } } } }; #endif // YACCLAB_LABELING_PREDPP_H_ ================================================ FILE: include/labeling_PREDpp_2021_cl_forest.inc.h ================================================ cl_tree_0: if ((c+=1) >= w - 1) goto cl_break_0_0; if (CONDITION_X) { if (CONDITION_Q) { ACTION_4 goto cl_tree_4; } else { if (CONDITION_R) { ACTION_5 goto cl_tree_3; } else { ACTION_2 goto cl_tree_2; } } } else { ACTION_1 goto cl_tree_1; } cl_tree_1: if ((c+=1) >= w - 1) goto cl_break_0_1; if (CONDITION_X) { if (CONDITION_Q) { ACTION_4 goto cl_tree_4; } else { if (CONDITION_R) { if (CONDITION_P) { ACTION_6 goto cl_tree_3; } else { ACTION_5 goto cl_tree_3; } } else { if (CONDITION_P) { ACTION_3 goto cl_tree_2; } else { ACTION_2 goto cl_tree_2; } } } } else { ACTION_1 goto cl_tree_1; } cl_tree_2: if ((c+=1) >= w - 1) goto cl_break_0_2; if (CONDITION_X) { NODE_1: if (CONDITION_R) { ACTION_8 goto cl_tree_3; } else { ACTION_7 goto cl_tree_2; } } else { ACTION_1 goto cl_tree_1; } cl_tree_3: if ((c+=1) >= w - 1) goto cl_break_0_3; if (CONDITION_X) { ACTION_4 goto cl_tree_4; } else { ACTION_1 goto cl_tree_1; } cl_tree_4: if ((c+=1) >= w - 1) goto cl_break_0_4; if (CONDITION_X) { if (CONDITION_Q) { ACTION_4 goto cl_tree_4; } else { goto NODE_1; } } else { ACTION_1 goto cl_tree_1; } cl_break_0_0: if (CONDITION_X) { if (CONDITION_Q) { ACTION_4 } else { ACTION_2 } } else { ACTION_1 } continue; cl_break_0_1: if (CONDITION_X) { if (CONDITION_Q) { ACTION_4 } else { if (CONDITION_P) { ACTION_3 } else { ACTION_2 } } } else { ACTION_1 } continue; cl_break_0_2: if (CONDITION_X) { ACTION_7 } else { ACTION_1 } continue; cl_break_0_3: if (CONDITION_X) { ACTION_4 } else { ACTION_1 } continue; cl_break_0_4: if (CONDITION_X) { if (CONDITION_Q) { ACTION_4 } else { ACTION_7 } } else { ACTION_1 } continue; ================================================ FILE: include/labeling_PREDpp_2021_fl_forest.inc.h ================================================ fl_tree_0: if ((c+=1) >= w - 1) goto fl_break_0_0; if (CONDITION_X) { ACTION_2 goto fl_tree_1; } else { ACTION_1 goto fl_tree_0; } fl_tree_1: if ((c+=1) >= w - 1) goto fl_break_0_1; if (CONDITION_X) { ACTION_7 goto fl_tree_1; } else { ACTION_1 goto fl_tree_0; } fl_break_0_0: if (CONDITION_X) { ACTION_2 } else { ACTION_1 } goto fl_; fl_break_0_1: if (CONDITION_X) { ACTION_7 } else { ACTION_1 } goto fl_; fl_:; ================================================ FILE: include/labeling_algorithms.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_ALGORITHMS_H_ #define YACCLAB_LABELING_ALGORITHMS_H_ #include #include #include #include #include #include #include "utilities.h" #include "cuda_mat3.hpp" #include "system_info.h" #include "volume_util.h" #include "yacclab_tensor.h" #include "check_labeling.h" // gpu include #if defined YACCLAB_WITH_CUDA #include #endif #include "performance_evaluator.h" #define UPPER_BOUND_4_CONNECTIVITY (((size_t)img_.rows * (size_t)img_.cols + 1) / 2 + 1) #define UPPER_BOUND_8_CONNECTIVITY ((size_t)((img_.rows + 1) / 2) * (size_t)((img_.cols + 1) / 2) + 1) #define UPPER_BOUND_6_CONNECTIVITY (((size_t)img_.size[0] * (size_t)img_.size[1] * (size_t)img_.size[2] + 1) / 2 + 1) #define UPPER_BOUND_26_CONNECTIVITY ((size_t)((img_.size[0] + 1) / 2) * (size_t)((img_.size[1] + 1) / 2) * (size_t)((img_.size[2] + 1) / 2) + 1) class Labeling { public: PerformanceEvaluator perf_; std::unique_ptr input_; std::unique_ptr output_; Labeling(std::unique_ptr input, std::unique_ptr output) : input_(std::move(input)), output_(std::move(output)) {} virtual ~Labeling() = default; virtual void PerformLabeling() { throw std::runtime_error("'PerformLabeling()' not implemented"); } virtual void PerformLabelingWithSteps() { throw std::runtime_error("'PerformLabelingWithSteps()' not implemented"); } virtual void PerformLabelingMem(std::vector& accesses) { throw std::runtime_error("'PerformLabelingMem(...)' not implemented"); } virtual void FreeLabelingData() { output_->Release(); } virtual std::string GetTitle() const { return GetGnuplotTitle(); } virtual std::string CheckAlg() const = 0; virtual bool IsLabelBackground() const = 0; virtual YacclabTensorInput* GetInput() { return input_.get(); } virtual YacclabTensorOutput* GetOutput() { return output_.get(); } virtual void PerformLabelingBlocksize(int x, int y, int z) { throw std::runtime_error("'PerformLabelingSize(...)' not implemented"); } }; template class Labeling2D : public Labeling { public: cv::Mat1b& img_; cv::Mat1i& img_labels_; unsigned int n_labels_; Labeling2D(std::unique_ptr input, std::unique_ptr output) : Labeling(std::move(input), std::move(output)), img_((dynamic_cast(input_.get()))->Raw()), img_labels_((dynamic_cast(output_.get()))->Raw()) {} Labeling2D() : Labeling2D(std::make_unique(), std::make_unique()) {} virtual ~Labeling2D() = default; virtual std::string CheckAlg() const { return LabelingCheckSingleton2D::GetCheckAlg(Conn, LabelBackground); } virtual bool IsLabelBackground() const override { return LabelBackground; } }; template class Labeling3D : public Labeling { public: cv::Mat& img_; cv::Mat& img_labels_; Labeling3D(std::unique_ptr input, std::unique_ptr output) : Labeling(std::move(input), std::move(output)), img_((dynamic_cast(input_.get()))->Raw()), img_labels_((dynamic_cast(output_.get()))->Raw()) {} Labeling3D() : Labeling3D(std::make_unique(), std::make_unique()) {} virtual ~Labeling3D() = default; virtual std::string CheckAlg() const { return LabelingCheckSingleton3D::GetCheckAlg(Conn, LabelBackground); } virtual bool IsLabelBackground() const override { return LabelBackground; } }; #if defined YACCLAB_WITH_CUDA template class GpuLabeling2D : public Labeling2D { public: using Labeling2D::input_; using Labeling2D::output_; cv::cuda::GpuMat& d_img_; cv::cuda::GpuMat& d_img_labels_; // errors could be checked directly on the device GpuLabeling2D() : Labeling2D(std::make_unique(), std::make_unique()), d_img_(dynamic_cast(input_.get())->GpuRaw()), d_img_labels_(dynamic_cast(output_.get())->GpuRaw()) {} virtual ~GpuLabeling2D() = default; virtual std::string GetTitle() const { return GetGnuplotTitleGpu(); } }; template class GpuLabeling3D : public Labeling3D { public: using Labeling3D::input_; using Labeling3D::output_; cv::cuda::GpuMat3& d_img_; cv::cuda::GpuMat3& d_img_labels_; GpuLabeling3D() : Labeling3D(std::make_unique(), std::make_unique()), d_img_((dynamic_cast(input_.get()))->GpuRaw()), d_img_labels_((dynamic_cast(output_.get()))->GpuRaw()) {} virtual ~GpuLabeling3D() = default; virtual std::string GetTitle() const { return GetGnuplotTitleGpu(); } }; #endif // YACCLAB_WITH_CUDA class LabelingMapSingleton { public: std::map data_; static LabelingMapSingleton& GetInstance(); static Labeling* GetLabeling(const std::string& s); static bool Exists(const std::string& s); LabelingMapSingleton(LabelingMapSingleton const&) = delete; void operator=(LabelingMapSingleton const&) = delete; private: LabelingMapSingleton() {} ~LabelingMapSingleton() { for (std::map::iterator it = data_.begin(); it != data_.end(); ++it) delete it->second; } }; class KernelMapSingleton { public: std::map> data_; static KernelMapSingleton& GetInstance(); static const std::vector& GetKernels(const std::string& s); static bool Exists(const std::string& s); static void InitializeAlgorithm(const std::string& algorithm, const std::string& kernels); KernelMapSingleton(LabelingMapSingleton const&) = delete; void operator=(KernelMapSingleton const&) = delete; private: KernelMapSingleton() {} }; enum StepType { ALLOC_DEALLOC = 0, FIRST_SCAN = 1, SECOND_SCAN = 2, ALL_SCANS = 3, ST_SIZE = 4, }; std::string Step(StepType n_step); #endif //YACCLAB_LABELING_ALGORITHMS_H_ ================================================ FILE: include/labeling_bolelli_2018.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_BOLELLI_2018_H_ #define YACCLAB_LABELING_BOLELLI_2018_H_ #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class DRAG : public Labeling2D { public: DRAG() {} void PerformLabeling() { const int h = img_.rows; const int w = img_.cols; img_labels_ = cv::Mat1i(img_.size()); // Memory allocation for the output image LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only matter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. // First scan for (int r = 0; r < h; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char *)(((char *)img_row_prev) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned *)(((char *)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); for (int c = 0; c < w; c += 2) { #define CONDITION_B c-1>=0 && r-2>=0 && img_row_prev_prev[c-1]>0 #define CONDITION_C r-2>=0 && img_row_prev_prev[c]>0 #define CONDITION_D c+1=0 && img_row_prev_prev[c+1]>0 #define CONDITION_E c+2=0 && img_row_prev_prev[c+2]>0 #define CONDITION_G c-2>=0 && r-1>=0 && img_row_prev[c-2]>0 #define CONDITION_H c-1>=0 && r-1>=0 && img_row_prev[c-1]>0 #define CONDITION_I r-1>=0 && img_row_prev[c]>0 #define CONDITION_J c+1=0 && img_row_prev[c+1]>0 #define CONDITION_K c+2=0 && img_row_prev[c+2]>0 #define CONDITION_M c-2>=0 && img_row[c-2]>0 #define CONDITION_N c-1>=0 && img_row[c-1]>0 #define CONDITION_O img_row[c]>0 #define CONDITION_P c+10 #define CONDITION_R c-1>=0 && r+10 #define CONDITION_S r+10 #define CONDITION_T c+10 // Action 1: No action #define ACTION_1 img_labels_row[c] = 0; continue; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); continue; //Action 3: Assign label of block P #define ACTION_3 img_labels_row[c] = img_labels_row_prev_prev[c - 2]; continue; // Action 4: Assign label of block Q #define ACTION_4 img_labels_row[c] = img_labels_row_prev_prev[c]; continue; // Action 5: Assign label of block R #define ACTION_5 img_labels_row[c] = img_labels_row_prev_prev[c + 2]; continue; // Action 6: Assign label of block S #define ACTION_6 img_labels_row[c] = img_labels_row[c - 2]; continue; // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]); continue; //Action 8: Merge labels of block P and R #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]); continue; // Action 9 Merge labels of block P and S #define ACTION_9 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row[c - 2]); continue; // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]); continue; // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row[c - 2]); continue; // Action 12: Merge labels of block R and S #define ACTION_12 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c + 2], img_labels_row[c - 2]); continue; // Action 13: not used #define ACTION_13 // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row[c - 2]); continue; //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); continue; //Action 16: labels of block Q, R and S #define ACTION_16 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); continue; #include "labeling_bolelli_2018_drag.inc.h" } } // Second scan n_labels_ = LabelsSolver::Flatten(); int e_rows = img_labels_.rows & 0xfffffffe; bool o_rows = img_labels_.rows % 2 == 1; int e_cols = img_labels_.cols & 0xfffffffe; bool o_cols = img_labels_.cols % 2 == 1; int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned *)(((char *)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } LabelsSolver::Dealloc(); #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { MemMat img(img_); MemMat img_labels(img_.size(), 0); LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); // First scan int w(img_.cols); int h(img_.rows); #define CONDITION_X img(r,c)>0 #define CONDITION_P img(r-1,c-1)>0 #define CONDITION_Q img(r-1,c)>0 #define CONDITION_R img(r-1,c+1)>0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels(r,c) = LabelsSolver::MemNewLabel(); // new label #define ACTION_3 img_labels(r,c) = img_labels(r - 1, c - 1); // x <- p #define ACTION_4 img_labels(r,c) = img_labels(r - 1, c); // x <- q #define ACTION_5 img_labels(r,c) = img_labels(r - 1, c + 1); // x <- r #define ACTION_6 img_labels(r,c) = img_labels(r, c - 1); // x <- s #define ACTION_7 img_labels(r,c) = LabelsSolver::MemMerge(img_labels(r - 1, c - 1), img_labels(r - 1, c + 1)); // x <- p + r #define ACTION_8 img_labels(r,c) = LabelsSolver::MemMerge(img_labels(r, c - 1), img_labels(r - 1, c + 1)); // x <- s + r #define COLS w { int r = 0; #include "labeling_grana_2016_forest_0.inc.h" } for (int r = 1; r < h; ++r) { #include "labeling_grana_2016_forest.inc.h" }//End rows' for #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_X #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R n_labels_ = LabelsSolver::MemFlatten(); // Second scan for (int r_i = 0; r_i < img_labels.rows; ++r_i) { for (int c_i = 0; c_i < img_labels.cols; ++c_i) { img_labels(r_i, c_i) = LabelsSolver::MemGetLabel(img_labels(r_i, c_i)); } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { const int h = img_.rows; const int w = img_.cols; LabelsSolver::Setup(); // Labels solver initialization // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only matter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. // First scan for (int r = 0; r < h; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char *)(((char *)img_row_prev) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned *)(((char *)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); for (int c = 0; c < w; c += 2) { #define CONDITION_B c-1>=0 && r-2>=0 && img_row_prev_prev[c-1]>0 #define CONDITION_C r-2>=0 && img_row_prev_prev[c]>0 #define CONDITION_D c+1=0 && img_row_prev_prev[c+1]>0 #define CONDITION_E c+2=0 && img_row_prev_prev[c+2]>0 #define CONDITION_G c-2>=0 && r-1>=0 && img_row_prev[c-2]>0 #define CONDITION_H c-1>=0 && r-1>=0 && img_row_prev[c-1]>0 #define CONDITION_I r-1>=0 && img_row_prev[c]>0 #define CONDITION_J c+1=0 && img_row_prev[c+1]>0 #define CONDITION_K c+2=0 && img_row_prev[c+2]>0 #define CONDITION_M c-2>=0 && img_row[c-2]>0 #define CONDITION_N c-1>=0 && img_row[c-1]>0 #define CONDITION_O img_row[c]>0 #define CONDITION_P c+10 #define CONDITION_R c-1>=0 && r+10 #define CONDITION_S r+10 #define CONDITION_T c+10 // Action 1: No action #define ACTION_1 img_labels_row[c] = 0; continue; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); continue; //Action 3: Assign label of block P #define ACTION_3 img_labels_row[c] = img_labels_row_prev_prev[c - 2]; continue; // Action 4: Assign label of block Q #define ACTION_4 img_labels_row[c] = img_labels_row_prev_prev[c]; continue; // Action 5: Assign label of block R #define ACTION_5 img_labels_row[c] = img_labels_row_prev_prev[c + 2]; continue; // Action 6: Assign label of block S #define ACTION_6 img_labels_row[c] = img_labels_row[c - 2]; continue; // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]); continue; //Action 8: Merge labels of block P and R #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]); continue; // Action 9 Merge labels of block P and S #define ACTION_9 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row[c - 2]); continue; // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]); continue; // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row[c - 2]); continue; // Action 12: Merge labels of block R and S #define ACTION_12 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c + 2], img_labels_row[c - 2]); continue; // Action 13: not used #define ACTION_13 // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row[c - 2]); continue; //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); continue; //Action 16: labels of block Q, R and S #define ACTION_16 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); continue; #include "labeling_bolelli_2018_drag.inc.h" } } #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } void SecondScan() { // Second scan n_labels_ = LabelsSolver::Flatten(); int e_rows = img_labels_.rows & 0xfffffffe; bool o_rows = img_labels_.rows % 2 == 1; int e_cols = img_labels_.cols & 0xfffffffe; bool o_cols = img_labels_.cols % 2 == 1; int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned *)(((char *)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } }; #endif // YACCLAB_LABELING_BOLELLI_2018_H_ ================================================ FILE: include/labeling_bolelli_2018_drag.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. if (CONDITION_O) { if (CONDITION_N) { if (CONDITION_J) { NODE_3: if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { NODE_5: if (CONDITION_H) { ACTION_3 } else { NODE_6: if (CONDITION_G) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_11 } } } else { ACTION_11 } } } else { if (CONDITION_P) { NODE_9: if (CONDITION_K) { if (CONDITION_D){ goto NODE_3; } else { ACTION_12 } } else { ACTION_6 } } else { ACTION_6 } } } else { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_M) { NODE_14: if (CONDITION_H) { NODE_15: if (CONDITION_I) { ACTION_3 } else { NODE_16: if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } } else { NODE_17: if (CONDITION_G) { if (CONDITION_B){ goto NODE_15; } else { ACTION_7 } } else { ACTION_11 } } } else { if (CONDITION_I) { ACTION_11 } else { if (CONDITION_H) { NODE_21: if (CONDITION_C) { ACTION_9 } else { ACTION_14 } } else { ACTION_11 } } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_M) { if (CONDITION_H) { if (CONDITION_D){ goto NODE_15; } else { ACTION_8 } } else { if (CONDITION_D){ goto NODE_17; } else { if (CONDITION_I) { NODE_29: if (CONDITION_G) { if (CONDITION_B) { ACTION_8 } else { ACTION_16 } } else { ACTION_16 } } else { ACTION_12 } } } } else { if (CONDITION_I) { if (CONDITION_D) { ACTION_11 } else { ACTION_16 } } else { if (CONDITION_H) { if (CONDITION_D){ goto NODE_21; } else { ACTION_15 } } else { ACTION_12 } } } } else { NODE_35: if (CONDITION_H) { if (CONDITION_M) { ACTION_3 } else { ACTION_9 } } else { if (CONDITION_I) { if (CONDITION_M){ goto NODE_6; } else { ACTION_11 } } else { ACTION_6 } } } } else{ goto NODE_35; } } } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H){ goto NODE_16; } else { ACTION_4 } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { NODE_45: if (CONDITION_D) { ACTION_4 } else { ACTION_10 } } else { if (CONDITION_H) { if (CONDITION_D){ goto NODE_16; } else { ACTION_8 } } else { ACTION_5 } } } else { NODE_48: if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } } else{ goto NODE_48; } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_N) { if (CONDITION_J){ goto NODE_3; } else{ goto NODE_9; } } else { if (CONDITION_R) { if (CONDITION_J) { NODE_56: if (CONDITION_M){ goto NODE_14; } else { ACTION_11 } } else { if (CONDITION_K) { if (CONDITION_D){ goto NODE_56; } else { if (CONDITION_I) { if (CONDITION_M) { if (CONDITION_H) { ACTION_8 } else{ goto NODE_29; } } else { ACTION_16 } } else { ACTION_12 } } } else { if (CONDITION_I) { if (CONDITION_M){ goto NODE_5; } else { ACTION_11 } } else { ACTION_6 } } } } else { NODE_64: if (CONDITION_J) { ACTION_4 } else { if (CONDITION_K) { if (CONDITION_I){ goto NODE_45; } else { ACTION_5 } } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } } } else { if (CONDITION_R) { ACTION_6 } else { if (CONDITION_N) { ACTION_6 } else { ACTION_2 } } } } else { if (CONDITION_P){ goto NODE_64; } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } ================================================ FILE: include/labeling_bolelli_2019.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_BOLELLI_2019_H_ #define YACCLAB_LABELING_BOLELLI_2019_H_ #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class Spaghetti : public Labeling2D { public: Spaghetti() {} void PerformLabeling() { const int h = img_.rows; const int w = img_.cols; int e_rows = h & 0xfffffffe; bool o_rows = h % 2 == 1; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; img_labels_ = cv::Mat1i(img_.size()); // Memory allocation for the output image LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only matter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. // First scan // Define Conditions and Actions { #define CONDITION_B img_row_prev_prev[c-1]>0 #define CONDITION_C img_row_prev_prev[c]>0 #define CONDITION_D img_row_prev_prev[c+1]>0 #define CONDITION_E img_row_prev_prev[c+2]>0 #define CONDITION_G img_row_prev[c-2]>0 #define CONDITION_H img_row_prev[c-1]>0 #define CONDITION_I img_row_prev[c]>0 #define CONDITION_J img_row_prev[c+1]>0 #define CONDITION_K img_row_prev[c+2]>0 #define CONDITION_M img_row[c-2]>0 #define CONDITION_N img_row[c-1]>0 #define CONDITION_O img_row[c]>0 #define CONDITION_P img_row[c+1]>0 #define CONDITION_R img_row_fol[c-1]>0 #define CONDITION_S img_row_fol[c]>0 #define CONDITION_T img_row_fol[c+1]>0 // Action 1: No action #define ACTION_1 img_labels_row[c] = 0; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); //Action 3: Assign label of block P #define ACTION_3 img_labels_row[c] = img_labels_row_prev_prev[c - 2]; // Action 4: Assign label of block Q #define ACTION_4 img_labels_row[c] = img_labels_row_prev_prev[c]; // Action 5: Assign label of block R #define ACTION_5 img_labels_row[c] = img_labels_row_prev_prev[c + 2]; // Action 6: Assign label of block S #define ACTION_6 img_labels_row[c] = img_labels_row[c - 2]; // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]); //Action 8: Merge labels of block P and R #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]); // Action 9 Merge labels of block P and S #define ACTION_9 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row[c - 2]); // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]); // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row[c - 2]); // Action 12: Merge labels of block R and S #define ACTION_12 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c + 2], img_labels_row[c - 2]); // Action 13: Merge labels of block P, Q and R #define ACTION_13 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row_prev_prev[c + 2]); // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row[c - 2]); //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); //Action 16: labels of block Q, R and S #define ACTION_16 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); } if (h == 1) { // Single line // int r = 0; const unsigned char* const img_row = img_.ptr(0); unsigned* const img_labels_row = img_labels_.ptr(0); int c = -2; #include "labeling_bolelli_2019_forest_sl.inc.h" } else { // More than one line // First couple of lines { // int r = 0; const unsigned char* const img_row = img_.ptr(0); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(0); int c = -2; #include "labeling_bolelli_2019_forest_fl.inc.h" } // Every other line but the last one if image has an odd number of rows for (int r = 2; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char*)(((char*)img_row_prev) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); int c = -2; goto tree_0; #include "labeling_bolelli_2019_forest.inc.h" } // Last line (in case the rows are odd) if (o_rows) { int r = h - 1; const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char*)(((char*)img_row_prev) - img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); int c = -2; #include "labeling_bolelli_2019_forest_ll.inc.h" } } // Undef Conditions and Actions { #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } // Second scan n_labels_ = LabelsSolver::Flatten(); int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned*)(((char*)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } LabelsSolver::Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { const int h = img_.rows; const int w = img_.cols; LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); //Data structure for memory test MemMat img(img_); MemMat img_labels(img_.size(), 0); // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only metter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. #define CONDITION_B img(r-2, c-1)>0 #define CONDITION_C img(r-2, c)>0 #define CONDITION_D img(r-2, c+1)>0 #define CONDITION_E img(r-2, c+2)>0 #define CONDITION_G img(r-1, c-2)>0 #define CONDITION_H img(r-1, c-1)>0 #define CONDITION_I img(r-1, c)>0 #define CONDITION_J img(r-1, c+1)>0 #define CONDITION_K img(r-1, c+2)>0 #define CONDITION_M img(r, c-2)>0 #define CONDITION_N img(r, c-1)>0 #define CONDITION_O img(r,c)>0 #define CONDITION_P img(r,c+1)>0 #define CONDITION_R img(r+1, c-1)>0 #define CONDITION_S img(r+1, c)>0 #define CONDITION_T img(r+1, c+1)>0 // Action 1: No action #define ACTION_1 img_labels(r, c) = 0; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels(r, c) = LabelsSolver::MemNewLabel(); //Action 3: Assign label of block P #define ACTION_3 img_labels(r, c) = img_labels(r - 2, c - 2); // Action 4: Assign label of block Q #define ACTION_4 img_labels(r, c) = img_labels(r - 2, c); // Action 5: Assign label of block R #define ACTION_5 img_labels(r, c) = img_labels(r - 2, c + 2); // Action 6: Assign label of block S #define ACTION_6 img_labels(r, c) = img_labels(r, c - 2); // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c)); //Action 8: Merge labels of block P and R #define ACTION_8 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c + 2)); // Action 9 Merge labels of block P and S #define ACTION_9 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r, c - 2)); // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c), img_labels(r - 2, c + 2)); // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c), img_labels(r, c - 2)); // Action 12: Merge labels of block R and S #define ACTION_12 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c + 2), img_labels(r, c - 2)); // Action 13: not used #define ACTION_13 // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels(r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c)), img_labels(r, c - 2)); //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels(r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c + 2)), img_labels(r, c - 2)); //Action 16: labels of block Q, R and S #define ACTION_16 img_labels(r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(r - 2, c), img_labels(r - 2, c + 2)), img_labels(r, c - 2)); if (h == 1) { // Single line int r = 0; int c = -2; #include "labeling_bolelli_2019_forest_sl.inc.h" } else { // More than one line // First couple of lines { int r = 0; int c = -2; #include "labeling_bolelli_2019_forest_fl.inc.h" } // Every other line but the last one if image has an odd number of rows for (int r = 2; r < h - (h % 2); r += 2) { int c = -2; goto tree_0; #include "labeling_bolelli_2019_forest.inc.h" } // Last line (in case that the rows are odd) if ((h % 2) == 1) { int r = h - 1; int c = -2; #include "labeling_bolelli_2019_forest_ll.inc.h" } } n_labels_ = LabelsSolver::MemFlatten(); // Second scan for (int r = 0; r < h; r += 2) { for (int c = 0; c < w; c += 2) { int iLabel = img_labels(r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(r, c) > 0) img_labels(r, c) = iLabel; else img_labels(r, c) = 0; if (c + 1 < w) { if (img(r, c + 1) > 0) img_labels(r, c + 1) = iLabel; else img_labels(r, c + 1) = 0; if (r + 1 < h) { if (img(r + 1, c) > 0) img_labels(r + 1, c) = iLabel; else img_labels(r + 1, c) = 0; if (img(r + 1, c + 1) > 0) img_labels(r + 1, c + 1) = iLabel; else img_labels(r + 1, c + 1) = 0; } } else if (r + 1 < h) { if (img(r + 1, c) > 0) img_labels(r + 1, c) = iLabel; else img_labels(r + 1, c) = 0; } } else { img_labels(r, c) = 0; if (c + 1 < w) { img_labels(r, c + 1) = 0; if (r + 1 < h) { img_labels(r + 1, c) = 0; img_labels(r + 1, c + 1) = 0; } } else if (r + 1 < h) { img_labels(r + 1, c) = 0; } } } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } private: int e_rows; bool o_rows; int e_cols; bool o_cols; double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { const int h = img_.rows; const int w = img_.cols; e_rows = h & 0xfffffffe; o_rows = h % 2 == 1; e_cols = w & 0xfffffffe; o_cols = w % 2 == 1; LabelsSolver::Setup(); // Labels solver initialization // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only matter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. // First scan // Define Conditions and Actions { #define CONDITION_B img_row_prev_prev[c-1]>0 #define CONDITION_C img_row_prev_prev[c]>0 #define CONDITION_D img_row_prev_prev[c+1]>0 #define CONDITION_E img_row_prev_prev[c+2]>0 #define CONDITION_G img_row_prev[c-2]>0 #define CONDITION_H img_row_prev[c-1]>0 #define CONDITION_I img_row_prev[c]>0 #define CONDITION_J img_row_prev[c+1]>0 #define CONDITION_K img_row_prev[c+2]>0 #define CONDITION_M img_row[c-2]>0 #define CONDITION_N img_row[c-1]>0 #define CONDITION_O img_row[c]>0 #define CONDITION_P img_row[c+1]>0 #define CONDITION_R img_row_fol[c-1]>0 #define CONDITION_S img_row_fol[c]>0 #define CONDITION_T img_row_fol[c+1]>0 // Action 1: No action #define ACTION_1 img_labels_row[c] = 0; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); //Action 3: Assign label of block P #define ACTION_3 img_labels_row[c] = img_labels_row_prev_prev[c - 2]; // Action 4: Assign label of block Q #define ACTION_4 img_labels_row[c] = img_labels_row_prev_prev[c]; // Action 5: Assign label of block R #define ACTION_5 img_labels_row[c] = img_labels_row_prev_prev[c + 2]; // Action 6: Assign label of block S #define ACTION_6 img_labels_row[c] = img_labels_row[c - 2]; // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]); //Action 8: Merge labels of block P and R #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]); // Action 9 Merge labels of block P and S #define ACTION_9 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row[c - 2]); // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]); // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row[c - 2]); // Action 12: Merge labels of block R and S #define ACTION_12 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c + 2], img_labels_row[c - 2]); // Action 13: Merge labels of block P, Q and R #define ACTION_13 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row_prev_prev[c + 2]); // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row[c - 2]); //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); //Action 16: labels of block Q, R and S #define ACTION_16 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); } if (h == 1) { // Single line // int r = 0; const unsigned char* const img_row = img_.ptr(0); unsigned* const img_labels_row = img_labels_.ptr(0); int c = -2; #include "labeling_bolelli_2019_forest_sl.inc.h" } else { // More than one line // First couple of lines { // int r = 0; const unsigned char* const img_row = img_.ptr(0); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(0); int c = -2; #include "labeling_bolelli_2019_forest_fl.inc.h" } // Every other line but the last one if image has an odd number of rows for (int r = 2; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char*)(((char*)img_row_prev) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); int c = -2; goto tree_0; #include "labeling_bolelli_2019_forest.inc.h" } // Last line (in case the rows are odd) if (o_rows) { int r = h - 1; const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char*)(((char*)img_row_prev) - img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); int c = -2; #include "labeling_bolelli_2019_forest_ll.inc.h" } } // Undef Conditions and Actions { #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } } void SecondScan() { // Second scan n_labels_ = LabelsSolver::Flatten(); int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned*)(((char*)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } }; #endif // YACCLAB_LABELING_BOLELLI_2019_H_ ================================================ FILE: include/labeling_bolelli_2019_forest.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. tree_0: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_0; } else { goto break_1_0; } } if (CONDITION_O) { NODE_1: if (CONDITION_J) { ACTION_4 goto tree_11; } else { if (CONDITION_P) { NODE_3: if (CONDITION_K) { if (CONDITION_I) { NODE_5: if (CONDITION_D) { ACTION_5 goto tree_5; } else { ACTION_10 goto tree_5; } } else { ACTION_5 goto tree_5; } } else { if (CONDITION_I) { ACTION_4 goto tree_4; } else { ACTION_2 goto tree_3; } } } else { if (CONDITION_I) { ACTION_4 goto tree_10; } else { ACTION_2 goto tree_9; } } } } else { NODE_8: if (CONDITION_S) { if (CONDITION_P) { NODE_10: if (CONDITION_J) { ACTION_4 goto tree_6; } else{ goto NODE_3; } } else { ACTION_2 goto tree_7; } } else { NODE_11: if (CONDITION_P){ goto NODE_10; } else { NODE_12: if (CONDITION_T) { ACTION_2 goto tree_2; } else { ACTION_1 goto tree_1; } } } } tree_1: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_1; } else { goto break_1_1; } } if (CONDITION_O) { NODE_13: if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto tree_11; } else { if (CONDITION_H) { NODE_16: if (CONDITION_C) { ACTION_4 goto tree_11; } else { ACTION_7 goto tree_11; } } else { ACTION_4 goto tree_11; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I){ goto NODE_5; } else { if (CONDITION_H) { NODE_21: if (CONDITION_D) { if (CONDITION_C) { ACTION_5 goto tree_5; } else { ACTION_8 goto tree_5; } } else { ACTION_8 goto tree_5; } } else { ACTION_5 goto tree_5; } } } else { if (CONDITION_I) { ACTION_4 goto tree_4; } else { if (CONDITION_H) { ACTION_3 goto tree_3; } else { ACTION_2 goto tree_3; } } } } else { if (CONDITION_I) { ACTION_4 goto tree_10; } else { if (CONDITION_H) { ACTION_3 goto tree_9; } else { ACTION_2 goto tree_9; } } } } } else{ goto NODE_8; } tree_2: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_2; } else { goto break_1_2; } } if (CONDITION_O) { NODE_27: if (CONDITION_J) { if (CONDITION_I) { ACTION_11 goto tree_11; } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_11 goto tree_11; } else { ACTION_14 goto tree_11; } } else { ACTION_11 goto tree_11; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_12 goto tree_5; } else { ACTION_16 goto tree_5; } } else { if (CONDITION_H) { if (CONDITION_D) { if (CONDITION_C) { ACTION_12 goto tree_5; } else { ACTION_15 goto tree_5; } } else { ACTION_15 goto tree_5; } } else { ACTION_12 goto tree_5; } } } else { if (CONDITION_H) { ACTION_9 goto tree_8; } else { NODE_39: if (CONDITION_I) { ACTION_11 goto tree_4; } else { ACTION_6 goto tree_3; } } } } else { if (CONDITION_H) { ACTION_9 goto tree_12; } else { NODE_41: if (CONDITION_I) { ACTION_11 goto tree_10; } else { ACTION_6 goto tree_9; } } } } } else { if (CONDITION_S) { if (CONDITION_P) { NODE_44: if (CONDITION_J) { ACTION_11 goto tree_6; } else { NODE_45: if (CONDITION_K) { if (CONDITION_D) { ACTION_12 goto tree_5; } else { if (CONDITION_I) { ACTION_16 goto tree_5; } else { ACTION_12 goto tree_5; } } } else{ goto NODE_39; } } } else { ACTION_6 goto tree_7; } } else{ goto NODE_11; } } tree_3: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_3; } else { goto break_1_3; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_11 goto tree_11; } else { if (CONDITION_P) { NODE_50: if (CONDITION_K) { ACTION_12 goto tree_5; } else { ACTION_6 goto tree_8; } } else { ACTION_6 goto tree_12; } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_11 goto tree_6; } else{ goto NODE_50; } } else { ACTION_6 goto tree_7; } } else { NODE_54: if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto tree_6; } else { if (CONDITION_K) { ACTION_5 goto tree_5; } else { ACTION_2 goto tree_3; } } } else{ goto NODE_12; } } } tree_4: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_3; } else { goto break_1_4; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { NODE_59: if (CONDITION_B) { ACTION_4 goto tree_11; } else { ACTION_11 goto tree_11; } } else { ACTION_11 goto tree_11; } } else { if (CONDITION_P) { NODE_61: if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_C) { NODE_64: if (CONDITION_B) { ACTION_5 goto tree_5; } else { ACTION_12 goto tree_5; } } else { ACTION_12 goto tree_5; } } else { ACTION_12 goto tree_5; } } else { ACTION_6 goto tree_8; } } else { ACTION_6 goto tree_12; } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { if (CONDITION_C) { NODE_69: if (CONDITION_B) { ACTION_4 goto tree_6; } else { ACTION_11 goto tree_6; } } else { ACTION_11 goto tree_6; } } else{ goto NODE_61; } } else { ACTION_6 goto tree_7; } } else{ goto NODE_54; } } tree_5: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_3; } else { goto break_1_5; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_4 goto tree_11; } else { if (CONDITION_P) { NODE_72: if (CONDITION_K) { if (CONDITION_D) { ACTION_5 goto tree_5; } else { ACTION_12 goto tree_5; } } else { ACTION_6 goto tree_8; } } else { ACTION_6 goto tree_12; } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto tree_6; } else{ goto NODE_72; } } else { ACTION_6 goto tree_7; } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto tree_6; } else { if (CONDITION_K){ goto NODE_5; } else { ACTION_4 goto tree_4; } } } else{ goto NODE_12; } } } tree_6: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_3; } else { goto break_1_6; } } if (CONDITION_O) { NODE_80: if (CONDITION_J) { NODE_81: if (CONDITION_I) { ACTION_4 goto tree_11; } else { if (CONDITION_C) { ACTION_4 goto tree_11; } else { ACTION_11 goto tree_11; } } } else { if (CONDITION_P) { NODE_84: if (CONDITION_K) { NODE_85: if (CONDITION_D) { NODE_86: if (CONDITION_I) { ACTION_5 goto tree_5; } else { if (CONDITION_C) { ACTION_5 goto tree_5; } else { ACTION_12 goto tree_5; } } } else { ACTION_12 goto tree_5; } } else { ACTION_6 goto tree_8; } } else { ACTION_6 goto tree_12; } } } else { if (CONDITION_S) { if (CONDITION_P) { NODE_90: if (CONDITION_J) { NODE_91: if (CONDITION_I) { ACTION_4 goto tree_6; } else { if (CONDITION_C) { ACTION_4 goto tree_6; } else { ACTION_11 goto tree_6; } } } else{ goto NODE_84; } } else { ACTION_6 goto tree_7; } } else{ goto NODE_11; } } tree_7: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_4; } else { goto break_1_7; } } if (CONDITION_O) { if (CONDITION_R){ goto NODE_27; } else{ goto NODE_13; } } else { NODE_94: if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R){ goto NODE_44; } else{ goto NODE_10; } } else { NODE_97: if (CONDITION_R) { ACTION_6 goto tree_7; } else { ACTION_2 goto tree_7; } } } else{ goto NODE_11; } } tree_8: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_3; } else { goto break_1_8; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_G){ goto NODE_59; } else { ACTION_11 goto tree_11; } } else { ACTION_11 goto tree_11; } } else { if (CONDITION_P) { NODE_102: if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_C) { if (CONDITION_G){ goto NODE_64; } else { ACTION_12 goto tree_5; } } else { ACTION_12 goto tree_5; } } else { ACTION_12 goto tree_5; } } else { ACTION_6 goto tree_8; } } else { ACTION_6 goto tree_12; } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_G){ goto NODE_69; } else { ACTION_11 goto tree_6; } } else { ACTION_11 goto tree_6; } } else{ goto NODE_102; } } else { ACTION_6 goto tree_7; } } else{ goto NODE_54; } } tree_9: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_5; } else { goto break_1_9; } } if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { ACTION_11 goto tree_11; } else { if (CONDITION_P){ goto NODE_45; } else{ goto NODE_41; } } } else{ goto NODE_1; } } else{ goto NODE_94; } tree_10: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_6; } else { goto break_1_10; } } if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { NODE_116: if (CONDITION_B){ goto NODE_81; } else { ACTION_11 goto tree_11; } } else { if (CONDITION_P) { NODE_118: if (CONDITION_K) { if (CONDITION_D) { NODE_120: if (CONDITION_B){ goto NODE_86; } else { ACTION_12 goto tree_5; } } else { if (CONDITION_I) { NODE_122: if (CONDITION_B) { ACTION_12 goto tree_5; } else { ACTION_16 goto tree_5; } } else { ACTION_12 goto tree_5; } } } else { if (CONDITION_I) { NODE_124: if (CONDITION_B) { ACTION_4 goto tree_4; } else { ACTION_11 goto tree_4; } } else { ACTION_6 goto tree_3; } } } else { if (CONDITION_I) { NODE_126: if (CONDITION_B) { ACTION_4 goto tree_10; } else { ACTION_11 goto tree_10; } } else { ACTION_6 goto tree_9; } } } } else{ goto NODE_1; } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { if (CONDITION_J) { NODE_131: if (CONDITION_B){ goto NODE_91; } else { ACTION_11 goto tree_6; } } else{ goto NODE_118; } } else{ goto NODE_10; } } else{ goto NODE_97; } } else{ goto NODE_11; } } tree_11: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_7; } else { goto break_1_11; } } if (CONDITION_O) { if (CONDITION_N){ goto NODE_80; } else { if (CONDITION_R){ goto NODE_80; } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto tree_11; } else{ goto NODE_16; } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I){ goto NODE_5; } else{ goto NODE_21; } } else { if (CONDITION_I) { ACTION_4 goto tree_4; } else { ACTION_3 goto tree_3; } } } else { if (CONDITION_I) { ACTION_4 goto tree_10; } else { ACTION_3 goto tree_9; } } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_N){ goto NODE_90; } else { if (CONDITION_R) { if (CONDITION_J){ goto NODE_91; } else { if (CONDITION_K){ goto NODE_85; } else { if (CONDITION_I) { ACTION_4 goto tree_4; } else { ACTION_6 goto tree_3; } } } } else{ goto NODE_10; } } } else { if (CONDITION_R) { ACTION_6 goto tree_7; } else { if (CONDITION_N) { ACTION_6 goto tree_7; } else { ACTION_2 goto tree_7; } } } } else{ goto NODE_11; } } tree_12: if ((c+=2) >= w - 2) { if (c > w - 2) { goto break_0_8; } else { goto break_1_12; } } if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_G){ goto NODE_116; } else { ACTION_11 goto tree_11; } } else { if (CONDITION_P) { NODE_154: if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_G){ goto NODE_120; } else { ACTION_12 goto tree_5; } } else { if (CONDITION_I) { if (CONDITION_G){ goto NODE_122; } else { ACTION_16 goto tree_5; } } else { ACTION_12 goto tree_5; } } } else { if (CONDITION_I) { if (CONDITION_G){ goto NODE_124; } else { ACTION_11 goto tree_4; } } else { ACTION_6 goto tree_3; } } } else { if (CONDITION_I) { if (CONDITION_G){ goto NODE_126; } else { ACTION_11 goto tree_10; } } else { ACTION_6 goto tree_9; } } } } else{ goto NODE_1; } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_G){ goto NODE_131; } else { ACTION_11 goto tree_6; } } else{ goto NODE_154; } } else{ goto NODE_10; } } else{ goto NODE_97; } } else{ goto NODE_11; } } break_0_0: if (CONDITION_O) { NODE_168: if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } else { NODE_169: if (CONDITION_S) { ACTION_2 } else { ACTION_1 } } continue; break_0_1: if (CONDITION_O) { NODE_170: if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } else{ goto NODE_169; } continue; break_0_2: if (CONDITION_O) { NODE_172: if (CONDITION_H) { ACTION_9 } else { NODE_173: if (CONDITION_I) { ACTION_11 } else { ACTION_6 } } } else { NODE_174: if (CONDITION_S) { ACTION_6 } else { ACTION_1 } } continue; break_0_3: if (CONDITION_O) { ACTION_6 } else{ goto NODE_174; } continue; break_0_4: if (CONDITION_O) { if (CONDITION_R){ goto NODE_172; } else{ goto NODE_170; } } else { NODE_176: if (CONDITION_S) { NODE_177: if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } else { ACTION_1 } } continue; break_0_5: if (CONDITION_O) { if (CONDITION_R){ goto NODE_173; } else{ goto NODE_168; } } else{ goto NODE_176; } continue; break_0_6: if (CONDITION_O) { if (CONDITION_R) { NODE_180: if (CONDITION_I) { NODE_181: if (CONDITION_B) { ACTION_4 } else { ACTION_11 } } else { ACTION_6 } } else{ goto NODE_168; } } else{ goto NODE_176; } continue; break_0_7: if (CONDITION_O) { if (CONDITION_N) { ACTION_6 } else { if (CONDITION_R) { ACTION_6 } else { NODE_184: if (CONDITION_I) { ACTION_4 } else { ACTION_3 } } } } else { if (CONDITION_S) { NODE_186: if (CONDITION_R) { ACTION_6 } else { if (CONDITION_N) { ACTION_6 } else { ACTION_2 } } } else { ACTION_1 } } continue; break_0_8: if (CONDITION_O) { if (CONDITION_R) { NODE_189: if (CONDITION_I) { NODE_190: if (CONDITION_G){ goto NODE_181; } else { ACTION_11 } } else { ACTION_6 } } else{ goto NODE_168; } } else{ goto NODE_176; } continue; break_1_0: if (CONDITION_O) { NODE_191: if (CONDITION_J) { ACTION_4 } else{ goto NODE_168; } } else { NODE_192: if (CONDITION_S) { if (CONDITION_P){ goto NODE_191; } else { ACTION_2 } } else { NODE_194: if (CONDITION_P){ goto NODE_191; } else { NODE_195: if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; break_1_1: if (CONDITION_O) { NODE_196: if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { NODE_199: if (CONDITION_C) { ACTION_4 } else { ACTION_7 } } else { ACTION_4 } } } else{ goto NODE_170; } } else{ goto NODE_192; } continue; break_1_2: if (CONDITION_O) { NODE_200: if (CONDITION_J) { if (CONDITION_I) { ACTION_11 } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_11 } else { ACTION_14 } } else { ACTION_11 } } } else{ goto NODE_172; } } else { if (CONDITION_S) { if (CONDITION_P) { NODE_206: if (CONDITION_J) { ACTION_11 } else{ goto NODE_173; } } else { ACTION_6 } } else{ goto NODE_194; } } continue; break_1_3: if (CONDITION_O) { NODE_207: if (CONDITION_J) { ACTION_11 } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P){ goto NODE_207; } else { ACTION_6 } } else { NODE_210: if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { ACTION_2 } } else{ goto NODE_195; } } } continue; break_1_4: if (CONDITION_O) { NODE_212: if (CONDITION_J) { if (CONDITION_C){ goto NODE_181; } else { ACTION_11 } } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P){ goto NODE_212; } else { ACTION_6 } } else{ goto NODE_210; } } continue; break_1_5: if (CONDITION_O) { NODE_216: if (CONDITION_J) { ACTION_4 } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P){ goto NODE_216; } else { ACTION_6 } } else { if (CONDITION_P) { ACTION_4 } else{ goto NODE_195; } } } continue; break_1_6: if (CONDITION_O) { NODE_220: if (CONDITION_J) { NODE_221: if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { ACTION_4 } else { ACTION_11 } } } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P){ goto NODE_220; } else { ACTION_6 } } else{ goto NODE_194; } } continue; break_1_7: if (CONDITION_O) { if (CONDITION_R){ goto NODE_200; } else{ goto NODE_196; } } else { NODE_226: if (CONDITION_S) { if (CONDITION_P) { NODE_228: if (CONDITION_R){ goto NODE_206; } else{ goto NODE_191; } } else{ goto NODE_177; } } else{ goto NODE_194; } } continue; break_1_8: if (CONDITION_O) { NODE_229: if (CONDITION_J) { if (CONDITION_C){ goto NODE_190; } else { ACTION_11 } } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P){ goto NODE_229; } else { ACTION_6 } } else{ goto NODE_210; } } continue; break_1_9: if (CONDITION_O){ goto NODE_228; } else{ goto NODE_226; } continue; break_1_10: if (CONDITION_O) { NODE_233: if (CONDITION_R) { if (CONDITION_J) { NODE_235: if (CONDITION_B){ goto NODE_221; } else { ACTION_11 } } else{ goto NODE_180; } } else{ goto NODE_191; } } else { if (CONDITION_S) { if (CONDITION_P){ goto NODE_233; } else{ goto NODE_177; } } else{ goto NODE_194; } } continue; break_1_11: if (CONDITION_O) { if (CONDITION_N){ goto NODE_220; } else { if (CONDITION_R){ goto NODE_220; } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else{ goto NODE_199; } } else{ goto NODE_184; } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_N){ goto NODE_220; } else { if (CONDITION_R) { if (CONDITION_J){ goto NODE_221; } else { if (CONDITION_I) { ACTION_4 } else { ACTION_6 } } } else{ goto NODE_191; } } } else{ goto NODE_186; } } else{ goto NODE_194; } } continue; break_1_12: if (CONDITION_O) { NODE_248: if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_G){ goto NODE_235; } else { ACTION_11 } } else{ goto NODE_189; } } else{ goto NODE_191; } } else { if (CONDITION_S) { if (CONDITION_P){ goto NODE_248; } else{ goto NODE_177; } } else{ goto NODE_194; } } continue; ================================================ FILE: include/labeling_bolelli_2019_forest_fl.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. fl_tree_0: if ((c+=2) >= w - 2) { if (c > w - 2) { goto fl_break_0_0; } else { goto fl_break_1_0; } } if (CONDITION_O) { NODE_253: if (CONDITION_P) { ACTION_2 goto fl_tree_1; } else { ACTION_2 goto fl_tree_2; } } else { if (CONDITION_S){ goto NODE_253; } else { NODE_255: if (CONDITION_P) { ACTION_2 goto fl_tree_1; } else { if (CONDITION_T) { ACTION_2 goto fl_tree_1; } else { ACTION_1 goto fl_tree_0; } } } } fl_tree_1: if ((c+=2) >= w - 2) { if (c > w - 2) { goto fl_break_0_1; } else { goto fl_break_1_1; } } if (CONDITION_O) { NODE_257: if (CONDITION_P) { ACTION_6 goto fl_tree_1; } else { ACTION_6 goto fl_tree_2; } } else { if (CONDITION_S){ goto NODE_257; } else{ goto NODE_255; } } fl_tree_2: if ((c+=2) >= w - 2) { if (c > w - 2) { goto fl_break_0_2; } else { goto fl_break_1_2; } } if (CONDITION_O) { if (CONDITION_R){ goto NODE_257; } else{ goto NODE_253; } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { ACTION_6 goto fl_tree_1; } else { ACTION_2 goto fl_tree_1; } } else { if (CONDITION_R) { ACTION_6 goto fl_tree_2; } else { ACTION_2 goto fl_tree_2; } } } else{ goto NODE_255; } } fl_break_0_0: if (CONDITION_O) { ACTION_2 } else { if (CONDITION_S) { ACTION_2 } else { ACTION_1 } } goto end_fl; fl_break_0_1: if (CONDITION_O) { ACTION_6 } else { if (CONDITION_S) { ACTION_6 } else { ACTION_1 } } goto end_fl; fl_break_0_2: if (CONDITION_O) { NODE_266: if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } else { if (CONDITION_S){ goto NODE_266; } else { ACTION_1 } } goto end_fl; fl_break_1_0: if (CONDITION_O) { NODE_268: if (CONDITION_P) { ACTION_2 } else { ACTION_2 } } else { if (CONDITION_S){ goto NODE_268; } else { NODE_270: if (CONDITION_P) { ACTION_2 } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } goto end_fl; fl_break_1_1: if (CONDITION_O) { NODE_272: if (CONDITION_P) { ACTION_6 } else { ACTION_6 } } else { if (CONDITION_S){ goto NODE_272; } else{ goto NODE_270; } } goto end_fl; fl_break_1_2: if (CONDITION_O) { if (CONDITION_R){ goto NODE_272; } else{ goto NODE_268; } } else { if (CONDITION_S) { if (CONDITION_P){ goto NODE_266; } else{ goto NODE_266; } } else{ goto NODE_270; } } goto end_fl; end_fl:; ================================================ FILE: include/labeling_bolelli_2019_forest_ll.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. ll_tree_0: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_0; } else { goto ll_break_1_0; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_P) { NODE_277: if (CONDITION_K) { if (CONDITION_I) { NODE_279: if (CONDITION_D) { ACTION_5 goto ll_tree_4; } else { ACTION_10 goto ll_tree_4; } } else { ACTION_5 goto ll_tree_4; } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_3; } else { ACTION_2 goto ll_tree_2; } } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_0; } else { ACTION_2 goto ll_tree_0; } } } } else { NODE_282: if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else{ goto NODE_277; } } else { ACTION_1 goto ll_tree_1; } } ll_tree_1: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_1; } else { goto ll_break_1_1; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_H) { NODE_287: if (CONDITION_C) { ACTION_4 goto ll_tree_6; } else { ACTION_7 goto ll_tree_6; } } else { ACTION_4 goto ll_tree_6; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I){ goto NODE_279; } else { if (CONDITION_H) { NODE_292: if (CONDITION_D) { if (CONDITION_C) { ACTION_5 goto ll_tree_4; } else { ACTION_8 goto ll_tree_4; } } else { ACTION_8 goto ll_tree_4; } } else { ACTION_5 goto ll_tree_4; } } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_3; } else { if (CONDITION_H) { ACTION_3 goto ll_tree_2; } else { ACTION_2 goto ll_tree_2; } } } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_0; } else { if (CONDITION_H) { ACTION_3 goto ll_tree_0; } else { ACTION_2 goto ll_tree_0; } } } } } else{ goto NODE_282; } ll_tree_2: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_2; } else { goto ll_break_1_2; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_11 goto ll_tree_6; } else { if (CONDITION_P) { if (CONDITION_K) { ACTION_12 goto ll_tree_4; } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else { NODE_301: if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_K) { ACTION_5 goto ll_tree_4; } else { ACTION_2 goto ll_tree_2; } } } else { ACTION_1 goto ll_tree_1; } } ll_tree_3: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_2; } else { goto ll_break_1_3; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { NODE_306: if (CONDITION_B) { ACTION_4 goto ll_tree_6; } else { ACTION_7 goto ll_tree_6; } } else { ACTION_11 goto ll_tree_6; } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_C) { NODE_311: if (CONDITION_B) { ACTION_5 goto ll_tree_4; } else { ACTION_12 goto ll_tree_4; } } else { ACTION_12 goto ll_tree_4; } } else { ACTION_12 goto ll_tree_4; } } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else{ goto NODE_301; } ll_tree_4: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_2; } else { goto ll_break_1_4; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { ACTION_5 goto ll_tree_4; } else { ACTION_12 goto ll_tree_4; } } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_K){ goto NODE_279; } else { ACTION_4 goto ll_tree_3; } } } else { ACTION_1 goto ll_tree_1; } } ll_tree_5: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_2; } else { goto ll_break_1_5; } } if (CONDITION_O) { NODE_319: if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_C) { ACTION_4 goto ll_tree_6; } else { ACTION_11 goto ll_tree_6; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_5 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_5 goto ll_tree_4; } else { ACTION_12 goto ll_tree_4; } } } else { ACTION_12 goto ll_tree_4; } } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else{ goto NODE_282; } ll_tree_6: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_3; } else { goto ll_break_1_6; } } if (CONDITION_O) { if (CONDITION_N){ goto NODE_319; } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto ll_tree_6; } else{ goto NODE_287; } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I){ goto NODE_279; } else{ goto NODE_292; } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_3; } else { ACTION_3 goto ll_tree_2; } } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_0; } else { ACTION_3 goto ll_tree_0; } } } } } else{ goto NODE_282; } ll_tree_7: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_2; } else { goto ll_break_1_7; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_G){ goto NODE_306; } else { ACTION_11 goto ll_tree_6; } } else { ACTION_11 goto ll_tree_6; } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_C) { if (CONDITION_G){ goto NODE_311; } else { ACTION_12 goto ll_tree_4; } } else { ACTION_12 goto ll_tree_4; } } else { ACTION_12 goto ll_tree_4; } } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else{ goto NODE_301; } ll_break_0_0: if (CONDITION_O) { NODE_343: if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } else { ACTION_1 } goto ll_end; ll_break_0_1: if (CONDITION_O) { NODE_344: if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } else { ACTION_1 } goto ll_end; ll_break_0_2: if (CONDITION_O) { ACTION_6 } else { ACTION_1 } goto ll_end; ll_break_0_3: if (CONDITION_O) { if (CONDITION_N) { ACTION_6 } else { NODE_347: if (CONDITION_I) { ACTION_4 } else { ACTION_3 } } } else { ACTION_1 } goto ll_end; ll_break_1_0: if (CONDITION_O) { NODE_348: if (CONDITION_J) { ACTION_4 } else{ goto NODE_343; } } else { NODE_349: if (CONDITION_P){ goto NODE_348; } else { ACTION_1 } } goto ll_end; ll_break_1_1: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { NODE_353: if (CONDITION_C) { ACTION_4 } else { ACTION_7 } } else { ACTION_4 } } } else{ goto NODE_344; } } else{ goto NODE_349; } goto ll_end; ll_break_1_2: if (CONDITION_O) { if (CONDITION_J) { ACTION_11 } else { ACTION_6 } } else { NODE_355: if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { ACTION_2 } } else { ACTION_1 } } goto ll_end; ll_break_1_3: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { NODE_359: if (CONDITION_B) { ACTION_4 } else { ACTION_7 } } else { ACTION_11 } } else { ACTION_6 } } else{ goto NODE_355; } goto ll_end; ll_break_1_4: if (CONDITION_O) { if (CONDITION_J) { ACTION_4 } else { ACTION_6 } } else { if (CONDITION_P) { ACTION_4 } else { ACTION_1 } } goto ll_end; ll_break_1_5: if (CONDITION_O) { NODE_362: if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { ACTION_4 } else { ACTION_11 } } } else { ACTION_6 } } else{ goto NODE_349; } goto ll_end; ll_break_1_6: if (CONDITION_O) { if (CONDITION_N){ goto NODE_362; } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else{ goto NODE_353; } } else{ goto NODE_347; } } } else{ goto NODE_349; } goto ll_end; ll_break_1_7: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_G){ goto NODE_359; } else { ACTION_11 } } else { ACTION_11 } } else { ACTION_6 } } else{ goto NODE_355; } goto ll_end; ll_end:; ================================================ FILE: include/labeling_bolelli_2019_forest_sl.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. sl_tree_0: if ((c+=2) >= w - 2) { if (c > w - 2) { goto sl_break_0_0; } else { goto sl_break_1_0; } } if (CONDITION_O) { if (CONDITION_P) { ACTION_2 goto sl_tree_1; } else { ACTION_2 goto sl_tree_0; } } else { NODE_372: if (CONDITION_P) { ACTION_2 goto sl_tree_1; } else { ACTION_1 goto sl_tree_0; } } sl_tree_1: if ((c+=2) >= w - 2) { if (c > w - 2) { goto sl_break_0_1; } else { goto sl_break_1_1; } } if (CONDITION_O) { if (CONDITION_P) { ACTION_6 goto sl_tree_1; } else { ACTION_6 goto sl_tree_0; } } else{ goto NODE_372; } sl_break_0_0: if (CONDITION_O) { ACTION_2 } else { ACTION_1 } goto end_sl; sl_break_0_1: if (CONDITION_O) { ACTION_6 } else { ACTION_1 } goto end_sl; sl_break_1_0: if (CONDITION_O) { if (CONDITION_P) { ACTION_2 } else { ACTION_2 } } else { NODE_375: if (CONDITION_P) { ACTION_2 } else { ACTION_1 } } goto end_sl; sl_break_1_1: if (CONDITION_O) { if (CONDITION_P) { ACTION_6 } else { ACTION_6 } } else{ goto NODE_375; } goto end_sl; end_sl:; ================================================ FILE: include/labeling_distefano_1999.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_DISTEFANO_H_ #define YACCLAB_LABELING_DISTEFANO_H_ #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" class DiStefano : public Labeling2D { public: DiStefano() {} void PerformLabeling() { img_labels_ = cv::Mat1i(img_.size()); int i_new_label(0); // p q r p // s x q x // lp,lq,lx: labels assigned to p,q,x // First scan int *a_class = new int[UPPER_BOUND_8_CONNECTIVITY]; bool *a_single = new bool[UPPER_BOUND_8_CONNECTIVITY]; int *a_renum = new int[UPPER_BOUND_8_CONNECTIVITY]; for (int y = 0; y < img_.rows; y++) { // Get rows pointer const unsigned char* const img_row = img_.ptr(y); unsigned int* const img_labels_row = img_labels_.ptr(y); unsigned int* const img_labels_row_prev = (unsigned int *)(((char *)img_labels_row) - img_labels_.step.p[0]); for (int x = 0; x < img_.cols; x++) { if (img_row[x]) { int lp(0), lq(0), lr(0), ls(0), lx(0); // lMin(INT_MAX); if (y > 0) { if (x > 0) lp = img_labels_row_prev[x - 1]; lq = img_labels_row_prev[x]; if (x < img_.cols - 1) lr = img_labels_row_prev[x + 1]; } if (x > 0) ls = img_labels_row[x - 1]; // If everything around is background if (lp == 0 && lq == 0 && lr == 0 && ls == 0) { lx = ++i_new_label; a_class[lx] = lx; a_single[lx] = true; } else { // p lx = lp; // q if (lx == 0) lx = lq; // r if (lx > 0) { if (lr > 0 && a_class[lx] != a_class[lr]) { if (a_single[a_class[lx]]) { a_class[lx] = a_class[lr]; a_single[a_class[lr]] = false; } else if (a_single[a_class[lr]]) { a_class[lr] = a_class[lx]; a_single[a_class[lx]] = false; } else { int i_class = a_class[lr]; for (int k = 1; k <= i_new_label; k++) { if (a_class[k] == i_class) { a_class[k] = a_class[lx]; } } } } } else lx = lr; // s if (lx > 0) { if (ls > 0 && a_class[lx] != a_class[ls]) { if (a_single[a_class[lx]]) { a_class[lx] = a_class[ls]; a_single[a_class[ls]] = false; } else if (a_single[a_class[ls]]) { a_class[ls] = a_class[lx]; a_single[a_class[lx]] = false; } else { int i_class = a_class[ls]; for (int k = 1; k <= i_new_label; k++) { if (a_class[k] == i_class) { a_class[k] = a_class[lx]; } } } } } else lx = ls; } img_labels_row[x] = lx; } else img_labels_row[x] = 0; } } // Renumbering of labels n_labels_ = 0; for (int k = 1; k <= i_new_label; k++) { if (a_class[k] == k) { n_labels_++; a_renum[k] = n_labels_; } } for (int k = 1; k <= i_new_label; k++) a_class[k] = a_renum[a_class[k]]; // Second scan for (int y = 0; y < img_labels_.rows; y++) { // Get rows pointer unsigned int* const img_labels_row = img_labels_.ptr(y); for (int x = 0; x < img_labels_.cols; x++) { int iLabel = img_labels_row[x]; if (iLabel > 0) img_labels_row[x] = a_class[iLabel]; } } n_labels_++; // To count also background delete[] a_class; delete[] a_single; delete[] a_renum; } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { MemMat img(img_); MemMat img_labels(img_.size()); int i_new_label(0); // p q r p // s x q x // lp,lq,lx: labels assigned to p,q,x // First scan: MemVector a_class(UPPER_BOUND_8_CONNECTIVITY); MemVector a_single(UPPER_BOUND_8_CONNECTIVITY); MemVector a_renum(UPPER_BOUND_8_CONNECTIVITY); for (int y = 0; y < img.rows; y++) { for (int x = 0; x < img.cols; x++) { if (img(y, x)) { int lp(0), lq(0), lr(0), ls(0), lx(0); // lMin(INT_MAX); if (y > 0) { if (x > 0) lp = img_labels(y - 1, x - 1); lq = img_labels(y - 1, x); if (x < img.cols - 1) lr = img_labels(y - 1, x + 1); } if (x > 0) ls = img_labels(y, x - 1); // If everything around is background if (lp == 0 && lq == 0 && lr == 0 && ls == 0) { lx = ++i_new_label; a_class[lx] = lx; a_single[lx] = true; } else { // p lx = lp; // q if (lx == 0) lx = lq; // r if (lx > 0) { if (lr > 0 && a_class[lx] != a_class[lr]) { if (a_single[a_class[lx]]) { a_class[lx] = a_class[lr]; a_single[a_class[lr]] = false; } else if (a_single[a_class[lr]]) { a_class[lr] = a_class[lx]; a_single[a_class[lx]] = false; } else { int i_class = a_class[lr]; for (int k = 1; k <= i_new_label; k++) { if (a_class[k] == i_class) { a_class[k] = a_class[lx]; } } } } } else lx = lr; // s if (lx > 0) { if (ls > 0 && a_class[lx] != a_class[ls]) { if (a_single[a_class[lx]]) { a_class[lx] = a_class[ls]; a_single[a_class[ls]] = false; } else if (a_single[a_class[ls]]) { a_class[ls] = a_class[lx]; a_single[a_class[lx]] = false; } else { int i_class = a_class[ls]; for (int k = 1; k <= i_new_label; k++) { if (a_class[k] == i_class) { a_class[k] = a_class[lx]; } } } } } else lx = ls; } img_labels(y, x) = lx; } else img_labels(y, x) = 0; } } // Renumbering of labels n_labels_ = 0; for (int k = 1; k <= i_new_label; k++) { if (a_class[k] == k) { n_labels_++; a_renum[k] = n_labels_; } } for (int k = 1; k <= i_new_label; k++) a_class[k] = a_renum[a_class[k]]; // Second scan for (int y = 0; y < img_labels.rows; y++) { for (int x = 0; x < img_labels.cols; x++) { int i_label = img_labels(y, x); if (i_label > 0) img_labels(y, x) = a_class[i_label]; } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)(a_class.GetTotalAccesses() + a_single.GetTotalAccesses() + a_renum.GetTotalAccesses()); img_labels_ = img_labels.GetImage(); n_labels_++; } private: int *a_class; bool *a_single; int *a_renum; int i_new_label; double Alloc() { // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); a_class = new int[UPPER_BOUND_8_CONNECTIVITY]; a_single = new bool[UPPER_BOUND_8_CONNECTIVITY]; a_renum = new int[UPPER_BOUND_8_CONNECTIVITY]; memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(a_class, 0, UPPER_BOUND_8_CONNECTIVITY * sizeof(int)); memset(a_single, 0, UPPER_BOUND_8_CONNECTIVITY * sizeof(bool)); memset(a_renum, 0, UPPER_BOUND_8_CONNECTIVITY * sizeof(int)); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(a_class, 0, UPPER_BOUND_8_CONNECTIVITY * sizeof(int)); memset(a_single, 0, UPPER_BOUND_8_CONNECTIVITY * sizeof(bool)); memset(a_renum, 0, UPPER_BOUND_8_CONNECTIVITY * sizeof(int)); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ma_t; } void Dealloc() { delete[] a_class; delete[] a_single; delete[] a_renum; // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { i_new_label = 0; for (int y = 0; y < img_.rows; y++) { // Get rows pointer const unsigned char* const img_row = img_.ptr(y); unsigned int* const img_labels_row = img_labels_.ptr(y); unsigned int* const img_labels_row_prev = (unsigned int *)(((char *)img_labels_row) - img_labels_.step.p[0]); for (int x = 0; x < img_.cols; x++) { if (img_row[x]) { int lp(0), lq(0), lr(0), ls(0), lx(0); // lMin(INT_MAX); if (y > 0) { if (x > 0) lp = img_labels_row_prev[x - 1]; lq = img_labels_row_prev[x]; if (x < img_.cols - 1) lr = img_labels_row_prev[x + 1]; } if (x > 0) ls = img_labels_row[x - 1]; // If everything around is background if (lp == 0 && lq == 0 && lr == 0 && ls == 0) { lx = ++i_new_label; a_class[lx] = lx; a_single[lx] = true; } else { // p lx = lp; // q if (lx == 0) lx = lq; // r if (lx > 0) { if (lr > 0 && a_class[lx] != a_class[lr]) { if (a_single[a_class[lx]]) { a_class[lx] = a_class[lr]; a_single[a_class[lr]] = false; } else if (a_single[a_class[lr]]) { a_class[lr] = a_class[lx]; a_single[a_class[lx]] = false; } else { int i_class = a_class[lr]; for (int k = 1; k <= i_new_label; k++) { if (a_class[k] == i_class) { a_class[k] = a_class[lx]; } } } } } else lx = lr; // s if (lx > 0) { if (ls > 0 && a_class[lx] != a_class[ls]) { if (a_single[a_class[lx]]) { a_class[lx] = a_class[ls]; a_single[a_class[ls]] = false; } else if (a_single[a_class[ls]]) { a_class[ls] = a_class[lx]; a_single[a_class[lx]] = false; } else { int i_class = a_class[ls]; for (int k = 1; k <= i_new_label; k++) { if (a_class[k] == i_class) { a_class[k] = a_class[lx]; } } } } } else lx = ls; } img_labels_row[x] = lx; } else img_labels_row[x] = 0; } } } void SecondScan() { // Renumbering of labels n_labels_ = 0; for (int k = 1; k <= i_new_label; k++) { if (a_class[k] == k) { n_labels_++; a_renum[k] = n_labels_; } } for (int k = 1; k <= i_new_label; k++) a_class[k] = a_renum[a_class[k]]; // Second scan for (int y = 0; y < img_labels_.rows; y++) { // Get rows pointer unsigned int* const img_labels_row = img_labels_.ptr(y); for (int x = 0; x < img_labels_.cols; x++) { int iLabel = img_labels_row[x]; if (iLabel > 0) img_labels_row[x] = a_class[iLabel]; } } n_labels_++; // To count also background } }; #endif // !YACCLAB_LABELING_DISTEFANO_H_ ================================================ FILE: include/labeling_fchang_2003.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_FCHANG_2003_H_ #define YACCLAB_LABELING_FCHANG_2003_H_ #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" class CT : public Labeling2D { public: CT() {} void PerformLabeling() { img_labels_ = cv::Mat1i(img_.size(), 0); n_labels_ = 0; for (int y = 0; y < img_.rows; y++) { const unsigned char* const img_row = img_.ptr(y); unsigned int* const img_labels_out_row = img_labels_.ptr(y); for (int x = 0; x < img_.cols; x++) { if (img_row[x] == byF) { // Case 1 if (img_labels_out_row[x] == 0 && (x == 0 || img_row[x - 1] != byF)) { n_labels_++; ContourTracing(x, y, n_labels_, true); continue; } // Case 2 else if (x < img_.cols - 1 && img_row[x + 1] != byF && img_labels_out_row[x + 1] != -1) { if (img_labels_out_row[x] == 0) { // Current pixel unlabeled // Assing label of left pixel ContourTracing(x, y, img_labels_out_row[x - 1], false); } else { ContourTracing(x, y, img_labels_out_row[x], false); } continue; } // case 3 else if (img_labels_out_row[x] == 0) { img_labels_out_row[x] = img_labels_out_row[x - 1]; } } } } // Reassign to contour background value (0) for (int r = 0; r < img_labels_.rows; ++r) { unsigned* const img_labels_row = img_labels_.ptr(r); for (int c = 0; c < img_labels_.cols; ++c) { if (img_labels_row[c] == -1) img_labels_row[c] = 0; } } n_labels_++; // To count also background label } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { MemMat img(img_); MemMat img_labels(img_.size(), 0); n_labels_ = 0; for (int y = 0; y < img.rows; y++) { for (int x = 0; x < img.cols; x++) { if (img(y,x) == byF) { // Case 1 if (img_labels(y,x) == 0 && (x == 0 || img(y, x - 1) != byF)) { n_labels_++; MemContourTracing(img, img_labels, x, y, n_labels_, true); continue; } // Case 2 else if (x < img.cols - 1 && img(y, x + 1) != byF && img_labels(y, x + 1) != -1) { if (img_labels(y,x) == 0) { // Current pixel unlabeled // Assing label of left pixel MemContourTracing(img, img_labels, x, y, img_labels(y, x - 1), false); } else { MemContourTracing(img, img_labels, x, y, img_labels(y, x), false); } continue; } // case 3 else if (img_labels(y, x) == 0) { img_labels(y, x) = img_labels(y, x - 1); } } } } // Reassign to contour background value (0) for (int r = 0; r < img_labels.rows; ++r) { for (int c = 0; c < img_labels.cols; ++c) { if (img_labels(r, c) == -1) img_labels(r, c) = 0; } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); img_labels_ = img_labels.GetImage(); n_labels_++; // To count also background label } private: unsigned char byF = 1; // Byte of foreground (fixed for YACCLAB) cv::Point2i Tracer(const cv::Point2i &p, int &i_prev, bool &b_isolated) { int i_first, i_next; // Find the direction to be analyzed i_first = i_next = (i_prev + 2) % 8; cv::Point2i crd_next; do { switch (i_next) { case 0: crd_next = p + cv::Point2i(1, 0); break; case 1: crd_next = p + cv::Point2i(1, 1); break; case 2: crd_next = p + cv::Point2i(0, 1); break; case 3: crd_next = p + cv::Point2i(-1, 1); break; case 4: crd_next = p + cv::Point2i(-1, 0); break; case 5: crd_next = p + cv::Point2i(-1, -1); break; case 6: crd_next = p + cv::Point2i(0, -1); break; case 7: crd_next = p + cv::Point2i(1, -1); break; } if (crd_next.y >= 0 && crd_next.x >= 0 && crd_next.y < img_.rows && crd_next.x < img_.cols) { if (img_.data[crd_next.y * img_.step[0] + crd_next.x] == byF) { i_prev = (i_next + 4) % 8; return crd_next; } else img_.data[crd_next.y * img_.step[0] + crd_next.x] = -1; } i_next = (i_next + 1) % 8; } while (i_next != i_first); b_isolated = true; return p; } void ContourTracing(int x, int y, int i_label, bool b_external) { cv::Point2i s(x, y), T, crd_next_point, crd_cur_point; // The current point is labeled img_.data[s.y * img_.step[0] + s.x] = i_label; bool b_isolated(false); int i_previous_contour_point; if (b_external) i_previous_contour_point = 6; else i_previous_contour_point = 7; // First call to Tracer crd_next_point = T = Tracer(s, i_previous_contour_point, b_isolated); if (b_isolated) return; do { crd_cur_point = crd_next_point; img_.data[crd_cur_point.y * img_.step[0] + crd_cur_point.x] = i_label; crd_next_point = Tracer(crd_cur_point, i_previous_contour_point, b_isolated); } while (!(crd_cur_point == s && crd_next_point == T)); } cv::Point2i MemTracer(MemMat &img, MemMat &img_labels, const cv::Point2i &p, int &i_prev, bool &b_isolated) { int i_first, i_next; // Find the direction to be analyzed i_first = i_next = (i_prev + 2) % 8; cv::Point2i crd_next; do { switch (i_next) { case 0: crd_next = p + cv::Point2i(1, 0); break; case 1: crd_next = p + cv::Point2i(1, 1); break; case 2: crd_next = p + cv::Point2i(0, 1); break; case 3: crd_next = p + cv::Point2i(-1, 1); break; case 4: crd_next = p + cv::Point2i(-1, 0); break; case 5: crd_next = p + cv::Point2i(-1, -1); break; case 6: crd_next = p + cv::Point2i(0, -1); break; case 7: crd_next = p + cv::Point2i(1, -1); break; } if (crd_next.y >= 0 && crd_next.x >= 0 && crd_next.y < img.rows && crd_next.x < img.cols) { if (img(crd_next.y, crd_next.x) == byF) { i_prev = (i_next + 4) % 8; return crd_next; } else img_labels(crd_next.y, crd_next.x) = -1; } i_next = (i_next + 1) % 8; } while (i_next != i_first); b_isolated = true; return p; } void MemContourTracing(MemMat &img, MemMat &img_labels, int x, int y, int i_label, bool b_external) { cv::Point2i s(x, y), T, crd_next_point, crd_cur_point; // The current point is labeled img_labels(s.y, s.x) = i_label; bool b_isolated(false); int i_previous_contour_point; if (b_external) i_previous_contour_point = 6; else i_previous_contour_point = 7; // First call to Tracer crd_next_point = T = MemTracer(img, img_labels, s, i_previous_contour_point, b_isolated); if (b_isolated) return; do { crd_cur_point = crd_next_point; img_labels(crd_cur_point.y, crd_cur_point.x) = i_label; crd_next_point = MemTracer(img, img_labels, crd_cur_point, i_previous_contour_point, b_isolated); } while (!(crd_cur_point == s && crd_next_point == T)); } double Alloc() { // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ma_t; } void Dealloc() { // No free for img_labels_ because it is required at the end of the algorithm } void AllScans() { memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); // Initialization n_labels_ = 0; for (int y = 0; y < img_.rows; y++) { const unsigned char* const img_row = img_.ptr(y); unsigned int* const img_labels_out_row = img_labels_.ptr(y); for (int x = 0; x < img_.cols; x++) { if (img_row[x] == byF) { // Case 1 if (img_labels_out_row[x] == 0 && (x == 0 || img_row[x - 1] != byF)) { n_labels_++; ContourTracing(x, y, n_labels_, true); continue; } // Case 2 else if (x < img_.cols - 1 && img_row[x + 1] != byF && img_labels_out_row[x + 1] != -1) { if (img_labels_out_row[x] == 0) { // Current pixel unlabeled // Assing label of left pixel ContourTracing(x, y, img_labels_out_row[x - 1], false); } else { ContourTracing(x, y, img_labels_out_row[x], false); } continue; } // case 3 else if (img_labels_out_row[x] == 0) { img_labels_out_row[x] = img_labels_out_row[x - 1]; } } } } // Reassign to contour background value (0) for (int r = 0; r < img_labels_.rows; ++r) { unsigned* const img_labels_row = img_labels_.ptr(r); for (int c = 0; c < img_labels_.cols; ++c) { if (img_labels_row[c] == -1) img_labels_row[c] = 0; } } n_labels_++; // To count also background label } }; #endif // YACCLAB_LABELING_FCHANG_2003_H_ ================================================ FILE: include/labeling_grana_2010.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_GRANA_2010_H_ #define YACCLAB_LABELING_GRANA_2010_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class BBDT : public Labeling2D { public: BBDT() {} void PerformLabeling() { const int h = img_.rows; const int w = img_.cols; img_labels_ = cv::Mat1i(img_.size()); // Memory allocation for the output image LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only matter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. // First scan for (int r = 0; r < h; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char *)(((char *)img_row_prev) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned *)(((char *)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); for (int c = 0; c < w; c += 2) { #define CONDITION_B c-1>=0 && r-2>=0 && img_row_prev_prev[c-1]>0 #define CONDITION_C r-2>=0 && img_row_prev_prev[c]>0 #define CONDITION_D c+1=0 && img_row_prev_prev[c+1]>0 #define CONDITION_E c+2=0 && img_row_prev_prev[c+2]>0 #define CONDITION_G c-2>=0 && r-1>=0 && img_row_prev[c-2]>0 #define CONDITION_H c-1>=0 && r-1>=0 && img_row_prev[c-1]>0 #define CONDITION_I r-1>=0 && img_row_prev[c]>0 #define CONDITION_J c+1=0 && img_row_prev[c+1]>0 #define CONDITION_K c+2=0 && img_row_prev[c+2]>0 #define CONDITION_M c-2>=0 && img_row[c-2]>0 #define CONDITION_N c-1>=0 && img_row[c-1]>0 #define CONDITION_O img_row[c]>0 #define CONDITION_P c+10 #define CONDITION_R c-1>=0 && r+10 #define CONDITION_S r+10 #define CONDITION_T c+10 // Action 1: No action #define ACTION_1 img_labels_row[c] = 0; continue; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); continue; //Action 3: Assign label of block P #define ACTION_3 img_labels_row[c] = img_labels_row_prev_prev[c - 2]; continue; // Action 4: Assign label of block Q #define ACTION_4 img_labels_row[c] = img_labels_row_prev_prev[c]; continue; // Action 5: Assign label of block R #define ACTION_5 img_labels_row[c] = img_labels_row_prev_prev[c + 2]; continue; // Action 6: Assign label of block S #define ACTION_6 img_labels_row[c] = img_labels_row[c - 2]; continue; // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]); continue; //Action 8: Merge labels of block P and R #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]); continue; // Action 9 Merge labels of block P and S #define ACTION_9 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row[c - 2]); continue; // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]); continue; // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row[c - 2]); continue; // Action 12: Merge labels of block R and S #define ACTION_12 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c + 2], img_labels_row[c - 2]); continue; // Action 13: not used #define ACTION_13 // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row[c - 2]); continue; //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); continue; //Action 16: labels of block Q, R and S #define ACTION_16 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); continue; #include "labeling_grana_2010_tree.inc.h" } } // Second scan n_labels_ = LabelsSolver::Flatten(); int e_rows = img_labels_.rows & 0xfffffffe; bool o_rows = img_labels_.rows % 2 == 1; int e_cols = img_labels_.cols & 0xfffffffe; bool o_cols = img_labels_.cols % 2 == 1; int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned *)(((char *)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } LabelsSolver::Dealloc(); #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { const int h = img_.rows; const int w = img_.cols; LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); //Data structure for memory test MemMat img(img_); MemMat img_labels(img_.size(), 0); // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only metter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. for (int r = 0; r < h; r += 2) { for (int c = 0; c < w; c += 2) { #define CONDITION_B c-1>=0 && r-2>=0 && img(r-2, c-1)>0 #define CONDITION_C r-2>=0 && img(r-2, c)>0 #define CONDITION_D c+1=0 && img(r-2, c+1)>0 #define CONDITION_E c+2=0 && img(r-2, c+2)>0 #define CONDITION_G c-2>=0 && r-1>=0 && img(r-1, c-2)>0 #define CONDITION_H c-1>=0 && r-1>=0 && img(r-1, c-1)>0 #define CONDITION_I r-1>=0 && img(r-1, c)>0 #define CONDITION_J c+1=0 && img(r-1, c+1)>0 #define CONDITION_K c+2=0 && img(r-1, c+2)>0 #define CONDITION_M c-2>=0 && img(r, c-2)>0 #define CONDITION_N c-1>=0 && img(r, c-1)>0 #define CONDITION_O img(r,c)>0 #define CONDITION_P c+10 #define CONDITION_R c-1>=0 && r+10 #define CONDITION_S r+10 #define CONDITION_T c+10 // Action 1: No action #define ACTION_1 img_labels(r, c) = 0; continue; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels(r, c) = LabelsSolver::MemNewLabel(); continue; //Action 3: Assign label of block P #define ACTION_3 img_labels(r, c) = img_labels(r - 2, c - 2); continue; // Action 4: Assign label of block Q #define ACTION_4 img_labels(r, c) = img_labels(r - 2, c); continue; // Action 5: Assign label of block R #define ACTION_5 img_labels(r, c) = img_labels(r - 2, c + 2); continue; // Action 6: Assign label of block S #define ACTION_6 img_labels(r, c) = img_labels(r, c - 2); continue; // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c)); continue; //Action 8: Merge labels of block P and R #define ACTION_8 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c + 2)); continue; // Action 9 Merge labels of block P and S #define ACTION_9 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r, c - 2)); continue; // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c), img_labels(r - 2, c + 2)); continue; // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c), img_labels(r, c - 2)); continue; // Action 12: Merge labels of block R and S #define ACTION_12 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c + 2), img_labels(r, c - 2)); continue; // Action 13: not used #define ACTION_13 // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels(r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c)), img_labels(r, c - 2)); continue; //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels(r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c + 2)), img_labels(r, c - 2)); continue; //Action 16: labels of block Q, R and S #define ACTION_16 img_labels(r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(r - 2, c), img_labels(r - 2, c + 2)), img_labels(r, c - 2)); continue; #include "labeling_grana_2010_tree.inc.h" } } n_labels_ = LabelsSolver::MemFlatten(); // Second scan for (int r = 0; r < h; r += 2) { for (int c = 0; c < w; c += 2) { int iLabel = img_labels(r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(r, c) > 0) img_labels(r, c) = iLabel; else img_labels(r, c) = 0; if (c + 1 < w) { if (img(r, c + 1) > 0) img_labels(r, c + 1) = iLabel; else img_labels(r, c + 1) = 0; if (r + 1 < h) { if (img(r + 1, c) > 0) img_labels(r + 1, c) = iLabel; else img_labels(r + 1, c) = 0; if (img(r + 1, c + 1) > 0) img_labels(r + 1, c + 1) = iLabel; else img_labels(r + 1, c + 1) = 0; } } else if (r + 1 < h) { if (img(r + 1, c) > 0) img_labels(r + 1, c) = iLabel; else img_labels(r + 1, c) = 0; } } else { img_labels(r, c) = 0; if (c + 1 < w) { img_labels(r, c + 1) = 0; if (r + 1 < h) { img_labels(r + 1, c) = 0; img_labels(r + 1, c + 1) = 0; } } else if (r + 1 < h) { img_labels(r + 1, c) = 0; } } } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { const int h = img_.rows; const int w = img_.cols; LabelsSolver::Setup(); // Labels solver initialization // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only matter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. // First scan for (int r = 0; r < h; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char *)(((char *)img_row_prev) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned *)(((char *)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); for (int c = 0; c < w; c += 2) { #define CONDITION_B c-1>=0 && r-2>=0 && img_row_prev_prev[c-1]>0 #define CONDITION_C r-2>=0 && img_row_prev_prev[c]>0 #define CONDITION_D c+1=0 && img_row_prev_prev[c+1]>0 #define CONDITION_E c+2=0 && img_row_prev_prev[c+2]>0 #define CONDITION_G c-2>=0 && r-1>=0 && img_row_prev[c-2]>0 #define CONDITION_H c-1>=0 && r-1>=0 && img_row_prev[c-1]>0 #define CONDITION_I r-1>=0 && img_row_prev[c]>0 #define CONDITION_J c+1=0 && img_row_prev[c+1]>0 #define CONDITION_K c+2=0 && img_row_prev[c+2]>0 #define CONDITION_M c-2>=0 && img_row[c-2]>0 #define CONDITION_N c-1>=0 && img_row[c-1]>0 #define CONDITION_O img_row[c]>0 #define CONDITION_P c+10 #define CONDITION_R c-1>=0 && r+10 #define CONDITION_S r+10 #define CONDITION_T c+10 // Action 1: No action #define ACTION_1 img_labels_row[c] = 0; continue; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); continue; //Action 3: Assign label of block P #define ACTION_3 img_labels_row[c] = img_labels_row_prev_prev[c - 2]; continue; // Action 4: Assign label of block Q #define ACTION_4 img_labels_row[c] = img_labels_row_prev_prev[c]; continue; // Action 5: Assign label of block R #define ACTION_5 img_labels_row[c] = img_labels_row_prev_prev[c + 2]; continue; // Action 6: Assign label of block S #define ACTION_6 img_labels_row[c] = img_labels_row[c - 2]; continue; // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]); continue; //Action 8: Merge labels of block P and R #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]); continue; // Action 9 Merge labels of block P and S #define ACTION_9 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row[c - 2]); continue; // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]); continue; // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row[c - 2]); continue; // Action 12: Merge labels of block R and S #define ACTION_12 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c + 2], img_labels_row[c - 2]); continue; // Action 13: not used #define ACTION_13 // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row[c - 2]); continue; //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); continue; //Action 16: labels of block Q, R and S #define ACTION_16 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); continue; #include "labeling_grana_2010_tree.inc.h" } } #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } void SecondScan() { // Second scan n_labels_ = LabelsSolver::Flatten(); int e_rows = img_labels_.rows & 0xfffffffe; bool o_rows = img_labels_.rows % 2 == 1; int e_cols = img_labels_.cols & 0xfffffffe; bool o_cols = img_labels_.cols % 2 == 1; int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned *)(((char *)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } }; #endif // !YACCLAB_LABELING_GRANA_2010_H_ ================================================ FILE: include/labeling_grana_2010_tree.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. if (CONDITION_O) { if (CONDITION_N) { if (CONDITION_J) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { if (CONDITION_H) { ACTION_6 } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_6 } else { ACTION_11 } } else { ACTION_11 } } } else { ACTION_11 } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { if (CONDITION_H) { ACTION_6 } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_6 } else { ACTION_12 } } else { ACTION_12 } } } else { ACTION_12 } } } else { ACTION_12 } } else { ACTION_6 } } else { ACTION_6 } } } else { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_M) { if (CONDITION_H) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { ACTION_6 } else { ACTION_11 } } } else { if (CONDITION_G) { if (CONDITION_B) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { ACTION_6 } else { ACTION_11 } } } else { ACTION_11 } } else { ACTION_11 } } } else { if (CONDITION_I) { ACTION_11 } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_11 } else { ACTION_14 } } else { ACTION_11 } } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_M) { if (CONDITION_H) { if (CONDITION_D) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { ACTION_6 } else { ACTION_12 } } } else { ACTION_12 } } else { if (CONDITION_D) { if (CONDITION_G) { if (CONDITION_B) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { ACTION_6 } else { ACTION_12 } } } else { ACTION_12 } } else { ACTION_12 } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_B) { ACTION_12 } else { ACTION_16 } } else { ACTION_16 } } else { ACTION_12 } } } } else { if (CONDITION_I) { if (CONDITION_D) { ACTION_12 } else { ACTION_16 } } else { if (CONDITION_H) { if (CONDITION_D) { if (CONDITION_C) { ACTION_12 } else { ACTION_15 } } else { ACTION_15 } } else { ACTION_12 } } } } else { if (CONDITION_H) { if (CONDITION_M) { ACTION_6 } else { ACTION_9 } } else { if (CONDITION_I) { if (CONDITION_M) { if (CONDITION_G) { if (CONDITION_B) { ACTION_6 } else { ACTION_11 } } else { ACTION_11 } } else { ACTION_11 } } else { ACTION_6 } } } } else { if (CONDITION_H) { if (CONDITION_M) { ACTION_6 } else { ACTION_9 } } else { if (CONDITION_I) { if (CONDITION_M) { if (CONDITION_G) { if (CONDITION_B) { ACTION_6 } else { ACTION_11 } } else { ACTION_11 } } else { ACTION_11 } } else { ACTION_6 } } } } } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_4 } else { ACTION_7 } } else { ACTION_4 } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_5 } else { ACTION_10 } } else { if (CONDITION_H) { if (CONDITION_D) { if (CONDITION_C) { ACTION_5 } else { ACTION_8 } } else { ACTION_8 } } else { ACTION_5 } } } else { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } } else { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_N) { if (CONDITION_J) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { if (CONDITION_H) { ACTION_6 } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_6 } else { ACTION_11 } } else { ACTION_11 } } } else { ACTION_11 } } } else { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { if (CONDITION_H) { ACTION_6 } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_6 } else { ACTION_12 } } else { ACTION_12 } } } else { ACTION_12 } } } else { ACTION_12 } } else { ACTION_6 } } } else { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_M) { if (CONDITION_H) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { ACTION_6 } else { ACTION_11 } } } else { if (CONDITION_G) { if (CONDITION_B) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { ACTION_6 } else { ACTION_11 } } } else { ACTION_11 } } else { ACTION_11 } } } else { ACTION_11 } } else { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_M) { if (CONDITION_H) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { ACTION_6 } else { ACTION_12 } } } else { if (CONDITION_G) { if (CONDITION_B) { if (CONDITION_I) { ACTION_6 } else { if (CONDITION_C) { ACTION_6 } else { ACTION_12 } } } else { ACTION_12 } } else { ACTION_12 } } } else { ACTION_12 } } else { if (CONDITION_I) { if (CONDITION_M) { if (CONDITION_H) { ACTION_12 } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_12 } else { ACTION_16 } } else { ACTION_16 } } } else { ACTION_16 } } else { ACTION_12 } } } else { if (CONDITION_I) { if (CONDITION_M) { if (CONDITION_H) { ACTION_6 } else { if (CONDITION_G) { if (CONDITION_B) { ACTION_6 } else { ACTION_11 } } else { ACTION_11 } } } else { ACTION_11 } } else { ACTION_6 } } } } else { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_5 } else { ACTION_10 } } else { ACTION_5 } } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } } } else { if (CONDITION_R) { ACTION_6 } else { if (CONDITION_N) { ACTION_6 } else { ACTION_2 } } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_5 } else { ACTION_10 } } else { ACTION_5 } } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } ================================================ FILE: include/labeling_grana_2016.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_GRANA_2016_H_ #define YACCLAB_LABELING_GRANA_2016_H_ #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class PRED : public Labeling2D { public: PRED() {} void PerformLabeling() { img_labels_ = cv::Mat1i(img_.size(), 0); // Call to memset LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::Setup(); // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First Scan int w(img_.cols); int h(img_.rows); #define CONDITION_X img_row[c]>0 #define CONDITION_P img_row_prev[c-1]>0 #define CONDITION_Q img_row_prev[c]>0 #define CONDITION_R img_row_prev[c+1]>0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); // new label #define ACTION_3 img_labels_row[c] = img_labels_row_prev[c - 1]; // x <- p #define ACTION_4 img_labels_row[c] = img_labels_row_prev[c]; // x <- q #define ACTION_5 img_labels_row[c] = img_labels_row_prev[c + 1]; // x <- r #define ACTION_6 img_labels_row[c] = img_labels_row[c - 1]; // x <- s #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev[c - 1], img_labels_row_prev[c + 1]); // x <- p + r #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row[c - 1], img_labels_row_prev[c + 1]); // x <- s + r #define COLS w { // Get rows pointer const unsigned char* const img_row = img_.ptr(0); unsigned int* const img_labels_row = img_labels_.ptr(0); #include "labeling_grana_2016_forest_0.inc.h" } for (int r = 1; r < h; ++r) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(r); unsigned int* const img_labels_row_prev = (unsigned int *)(((char *)img_labels_row) - img_labels_.step.p[0]); #include "labeling_grana_2016_forest.inc.h" }//End rows's for #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_X #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R // Second scan n_labels_ = LabelsSolver::Flatten(); for (int r_i = 0; r_i < img_labels_.rows; ++r_i) { unsigned int *b = img_labels_.ptr(r_i); unsigned int *e = b + img_labels_.cols; for (; b != e; ++b) { *b = LabelsSolver::GetLabel(*b); } } LabelsSolver::Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { MemMat img(img_); MemMat img_labels(img_.size(), 0); LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); // First scan int w(img_.cols); int h(img_.rows); #define CONDITION_X img(r,c)>0 #define CONDITION_P img(r-1,c-1)>0 #define CONDITION_Q img(r-1,c)>0 #define CONDITION_R img(r-1,c+1)>0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels(r,c) = LabelsSolver::MemNewLabel(); // new label #define ACTION_3 img_labels(r,c) = img_labels(r - 1, c - 1); // x <- p #define ACTION_4 img_labels(r,c) = img_labels(r - 1, c); // x <- q #define ACTION_5 img_labels(r,c) = img_labels(r - 1, c + 1); // x <- r #define ACTION_6 img_labels(r,c) = img_labels(r, c - 1); // x <- s #define ACTION_7 img_labels(r,c) = LabelsSolver::MemMerge(img_labels(r - 1, c - 1), img_labels(r - 1, c + 1)); // x <- p + r #define ACTION_8 img_labels(r,c) = LabelsSolver::MemMerge(img_labels(r, c - 1), img_labels(r - 1, c + 1)); // x <- s + r #define COLS w { int r = 0; #include "labeling_grana_2016_forest_0.inc.h" } for (int r = 1; r < h; ++r) { #include "labeling_grana_2016_forest.inc.h" }//End rows' for #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_X #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R n_labels_ = LabelsSolver::MemFlatten(); // Second scan for (int r_i = 0; r_i < img_labels.rows; ++r_i) { for (int c_i = 0; c_i < img_labels.cols; ++c_i) { img_labels(r_i, c_i) = LabelsSolver::MemGetLabel(img_labels(r_i, c_i)); } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); // Initialization LabelsSolver::Setup(); // First Scan int w(img_.cols); int h(img_.rows); #define CONDITION_X img_row[c]>0 #define CONDITION_P img_row_prev[c-1]>0 #define CONDITION_Q img_row_prev[c]>0 #define CONDITION_R img_row_prev[c+1]>0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); // new label #define ACTION_3 img_labels_row[c] = img_labels_row_prev[c - 1]; // x <- p #define ACTION_4 img_labels_row[c] = img_labels_row_prev[c]; // x <- q #define ACTION_5 img_labels_row[c] = img_labels_row_prev[c + 1]; // x <- r #define ACTION_6 img_labels_row[c] = img_labels_row[c - 1]; // x <- s #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev[c - 1], img_labels_row_prev[c + 1]); // x <- p + r #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row[c - 1], img_labels_row_prev[c + 1]); // x <- s + r #define COLS w { // Get rows pointer const unsigned char* const img_row = img_.ptr(0); unsigned int* const img_labels_row = img_labels_.ptr(0); #include "labeling_grana_2016_forest_0.inc.h" } for (int r = 1; r < h; ++r) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(r); unsigned int* const img_labels_row_prev = (unsigned int *)(((char *)img_labels_row) - img_labels_.step.p[0]); #include "labeling_grana_2016_forest.inc.h" }//End rows's for #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_X #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R } void SecondScan() { // Second scan n_labels_ = LabelsSolver::Flatten(); for (int r_i = 0; r_i < img_labels_.rows; ++r_i) { unsigned int *b = img_labels_.ptr(r_i); unsigned int *e = b + img_labels_.cols; for (; b != e; ++b) { *b = LabelsSolver::GetLabel(*b); } } } }; #endif // YACCLAB_LABELING_GRANA_2016_H_ ================================================ FILE: include/labeling_grana_2016_forest.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. int c = 0; // First column /*tree_0:*/ if (c == COLS - 1) goto break_0; if (CONDITION_X) { if (CONDITION_Q) { // x <- q ACTION_4 goto tree_A; } else { if (CONDITION_R) { // x <- r ACTION_5 goto tree_B; } else { // new label ACTION_2 goto tree_C; } } } else { // nothing goto tree_D; } tree_A: if (++c >= COLS - 1) goto break_A; if (CONDITION_X) { if (CONDITION_Q) { // x <- q ACTION_4 goto tree_A; } else { if (CONDITION_R) { // x <- s + r ACTION_8 goto tree_B; } else { // x <- s ACTION_6 goto tree_C; } } } else { // nothing goto tree_D; } tree_B: if (++c >= COLS - 1) goto break_B; if (CONDITION_X) { // x <- q ACTION_4 goto tree_A; } else { // nothing goto tree_D; } tree_C: if (++c >= COLS - 1) goto break_C; if (CONDITION_X) { if (CONDITION_R) { // x <- s + r ACTION_8 goto tree_B; } else { // x <- s ACTION_6 goto tree_C; } } else { // nothing goto tree_D; } tree_D: if (++c >= COLS - 1) goto break_D; if (CONDITION_X) { if (CONDITION_Q) { // x <- q ACTION_4 goto tree_A; } else { if (CONDITION_R) { if (CONDITION_P) { // x <- p + r ACTION_7 goto tree_B; } else { // x <- r ACTION_5 goto tree_B; } } else { if (CONDITION_P) { // x <- p ACTION_3 goto tree_C; } else { // new label ACTION_2 goto tree_C; } } } } else { // nothing goto tree_D; } // Last column break_A: if (CONDITION_X) { if (CONDITION_Q) { // x <- q ACTION_4 } else { // x <- s ACTION_6 } } continue; break_B: if (CONDITION_X) { // x <- q ACTION_4 } continue; break_C: if (CONDITION_X) { // x <- s ACTION_6 } continue; break_D: if (CONDITION_X) { if (CONDITION_Q) { // x <- q ACTION_4 } else { if (CONDITION_P) { // x <- p ACTION_3 } else { // new label ACTION_2 } } } continue; break_0: // This tree is necessary to handle one column vector images if (CONDITION_X) { if (CONDITION_Q) { // x <- q ACTION_4 } else { // new label ACTION_2 } } ================================================ FILE: include/labeling_grana_2016_forest_0.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. int c = -1; tree_A0: if (++c >= COLS) goto break_A0; if (CONDITION_X) { // new label ACTION_2 goto tree_B0; } else { // nothing ACTION_1 goto tree_A0; } tree_B0: if (++c >= COLS) goto break_B0; if (CONDITION_X) { // x <- s ACTION_6 goto tree_B0; } else { // nothing ACTION_1 goto tree_A0; } break_A0: break_B0:; ================================================ FILE: include/labeling_he_2008.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_HE_2008_H_ #define YACCLAB_LABELING_HE_2008_H_ #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" // This Circular Buffer implementation is required for the Run Based algorithms introduced by He. template class CircularBuffer { public: T* buffer_ = nullptr; size_t capacity_ = 0; size_t size_ = 0; size_t tail_ = 0; size_t head_ = 0; CircularBuffer() = default; CircularBuffer(size_t capacity) : buffer_{ new T[capacity] }, capacity_{ capacity } {} ~CircularBuffer() { delete[] buffer_; } // Basic exception safety void Create(size_t capacity) { delete[] buffer_; capacity_ = 0; size_ = 0; tail_ = 0; head_ = 0; buffer_ = nullptr; buffer_ = new T[capacity]; capacity_ = capacity; } // Adds new element to the circular buffer T Enqueue(T item) { //if (IsFull()) { // std::cout << "Why are you calling Enqueue on a full Circular Buffer?"; // throw std::runtime_error("No space left in the Circular Buffer!"); //} size_++; buffer_[tail_] = item; tail_ = (tail_ + 1) % capacity_; return item; } // Gets the head of the circular buffer without removing it T Front() { //if (IsEmpty()) { // std::cout << "Why are you calling CircularBuffer::Front() on an empty queue?"; // throw std::runtime_error("The Circular Buffer is empty!"); //} return buffer_[head_]; } // Gets the head of the circular buffer and removes it from the buffer T Dequeue() { size_--; T element = Front(); head_ = (head_ + 1) % capacity_; return element; } // Removes the head of the circular buffer and returns the next head T DequeueAndFront() { Dequeue(); return Front(); } bool IsFull() { return size_ == capacity_; } bool IsEmpty() { return !size_; } }; template class RBTS : public Labeling2D { public: RBTS() {} void PerformLabeling() { img_labels_ = cv::Mat1i(img_.size(), 0); // Call to memset LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::Setup(); // Scan Mask (Rosenfeld) // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First Scan int w(img_.cols); // w = N in the paper naming convention int h(img_.rows); // Circular Buffers int buffer_capacity = w / 2 + 2; CircularBuffer s_queue(buffer_capacity); CircularBuffer e_queue(buffer_capacity); for (int r = 0; r < h; r += 1) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); // const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(r); unsigned int* const img_labels_row_prev = (unsigned int*)(((char*)img_labels_row) - img_labels_.step.p[0]); for (int c = 0; c < w; c += 1) { // Is there a new run ? if (img_row[c] == 0) { continue; } // clb (consider left border) and crb (consider right border) are used to handle border cases ignored by // the original paper. // Yes (new run) // 1) We need to record the new run r(s,e) int clb = c != 0; // Consider left border int s = s_queue.Enqueue(w * r + c++); // Current run starting index for (; c < w && img_row[c] > 0; c += 1) {} int crb = c != w; // Consider right border (derived by c - 1 != w - 1) int e = e_queue.Enqueue(w * r + --c); // Current run end index // 2) Discard all the runs until a run r(h,t) that end after/at s - N - 1 (t in the following scheme) // +-+-+-+-+-+-+-+-+-+ // | |t|>| | | | | | | // +-+-+-+-+-+-+-+-+-+ // | | |s| | | |e| | | // +-+-+-+-+-+-+-+-+-+ // This run always exists. It is at most the run we just found. int h = s_queue.Front(); int t = e_queue.Front(); while (t < s - w - clb) { h = s_queue.DequeueAndFront(); t = e_queue.DequeueAndFront(); } // 3A) If the run r(h,t) starts before/at e - N + 1 (h in the following scheme) // +-+-+-+-+-+-+-+-+-+ // | | | | | | |<|h| | // +-+-+-+-+-+-+-+-+-+ // | | |s| | | |e| | | // +-+-+-+-+-+-+-+-+-+ // it connects to the current run so we update the label of the current run // with that of the run(h,t), taking the value from p(h) -> p(r - 1, h % w) // The condition (e - w + 1) % w != 0 that can be simplified as (e + 1) % w != 0 // is for the handling of (left) border cases that were ignored by the original // paper in which the border is always considered black (background). bool next = false; if (h <= e - w + crb) { unsigned val = img_labels_row_prev[h % w]; unsigned start = s % w; for (unsigned i = start; i < start + e - s + 1; ++i) { img_labels_row[i] = val; } // 3B) Moreover, we check for all the following run that end before/at e - N (t // in the following schema), we perform a label merge of that run with the // current one and we remove them from the queues (no other following run can // be directly connected with these). // +-+-+-+-+-+-+-+-+-+ // | | | | | |<|t| | | // +-+-+-+-+-+-+-+-+-+ // | | |s| | | |e| | | // +-+-+-+-+-+-+-+-+-+ // The label of the current run is val. The label of the run we are analyzing // from the queue is found at p(h) -> p(r - 1, h % w). while (t <= e - w) { if (next) { LabelsSolver::Merge(img_labels_row_prev[h % w], val); } next = true; h = s_queue.DequeueAndFront(); t = e_queue.DequeueAndFront(); } // 4) We check for the next run which ends after/at e - N + 1 (t in the following // schema. It always exists and it is at most the current run. // +-+-+-+-+-+-+-+-+-+ // | | | | | | | |t|>| // +-+-+-+-+-+-+-+-+-+ // | | |s| | | |e| | | // +-+-+-+-+-+-+-+-+-+ while (t < e - w + 1) { next = true; s_queue.Dequeue(); e_queue.Dequeue(); h = s_queue.Front(); t = e_queue.Front(); } // We must keep the run in the list but we may need to merge labels: // If the run p(h, t) starts before/at e - N + 1 (h in the following // schema) it connects to the current run so we need to merge labels. // +-+-+-+-+-+-+-+-+-+ // | | | | | | |<|h| | // +-+-+-+-+-+-+-+-+-+ // | | |s| | | |e| | | // +-+-+-+-+-+-+-+-+-+ // The condition (e - w + 1) % w != 0 that can be simplified as (e + 1) % w != 0 // is for the handling of (left) border cases that were ignored by the original // paper in which the border is always considered black (background). if (h <= e - w + crb) { if (next) { LabelsSolver::Merge(img_labels_row[s % w], img_labels_row_prev[h % w]); } } } else { // Otherwise it is a run not connected to any other, so we need a new label unsigned val = LabelsSolver::NewLabel(); unsigned start = s % w; for (unsigned i = start; i < start + e - s + 1; ++i) { img_labels_row[i] = val; } } }//End columns's for }//End rows's for n_labels_ = LabelsSolver::Flatten(); // Second scan for (int r_i = 0; r_i < img_labels_.rows; ++r_i) { unsigned int* img_labels_row_start = img_labels_.ptr(r_i); unsigned int* img_labels_row_end = img_labels_row_start + img_labels_.cols; unsigned int* img_labels_row = img_labels_row_start; for (int c_i = 0; img_labels_row != img_labels_row_end; ++img_labels_row, ++c_i) { *img_labels_row = LabelsSolver::GetLabel(*img_labels_row); } } LabelsSolver::Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); perf_.start(); int w(img_.cols); // w = N in the paper naming convention // Circular Buffers int buffer_capacity = w / 2 + 2; s_queue_.Create(buffer_capacity); e_queue_.Create(buffer_capacity); memset(s_queue_.buffer_, 0, buffer_capacity); memset(e_queue_.buffer_, 0, buffer_capacity); perf_.stop(); double qu_t = perf_.last(); perf_.start(); memset(s_queue_.buffer_, 0, buffer_capacity); memset(e_queue_.buffer_, 0, buffer_capacity); perf_.stop(); qu_t -= perf_.last(); // Return total time return ls_t + ma_t + qu_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); // Initialization LabelsSolver::Setup(); // Scan Mask (Rosenfeld) // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First Scan int w(img_.cols); // w = N in the paper naming convention int h(img_.rows); for (int r = 0; r < h; r += 1) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); // const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(r); unsigned int* const img_labels_row_prev = (unsigned int*)(((char*)img_labels_row) - img_labels_.step.p[0]); for (int c = 0; c < w; c += 1) { // Is there a new run ? if (img_row[c] == 0) { continue; } // clb (consider left border) and crb (consider right border) are used to handle border cases ignored by // the original paper. // Yes (new run) // 1) We need to record the new run r(s,e) int clb = c != 0; // Consider left border int s = s_queue_.Enqueue(w * r + c++); // Current run starting index for (; c < w && img_row[c] > 0; c += 1) {} int crb = c != w; // Consider right border (derived by c - 1 != w - 1) int e = e_queue_.Enqueue(w * r + --c); // Current run end index // 2) Discard all the runs until a run r(h,t) that end after/at s - N - 1 (t in the following scheme) // +-+-+-+-+-+-+-+-+-+ // | |t|>| | | | | | | // +-+-+-+-+-+-+-+-+-+ // | | |s| | | |e| | | // +-+-+-+-+-+-+-+-+-+ // This run always exists. It is at most the run we just found. int h = s_queue_.Front(); int t = e_queue_.Front(); while (t < s - w - clb) { h = s_queue_.DequeueAndFront(); t = e_queue_.DequeueAndFront(); } // 3A) If the run r(h,t) starts before/at e - N + 1 (h in the following scheme) // +-+-+-+-+-+-+-+-+-+ // | | | | | | |<|h| | // +-+-+-+-+-+-+-+-+-+ // | | |s| | | |e| | | // +-+-+-+-+-+-+-+-+-+ // it connects to the current run so we update the label of the current run // with that of the run(h,t), taking the value from p(h) -> p(r - 1, h % w) // The condition (e - w + 1) % w != 0 that can be simplified as (e + 1) % w != 0 // is for the handling of (left) border cases that were ignored by the original // paper in which the border is always considered black (background). bool next = false; if (h <= e - w + crb) { unsigned val = img_labels_row_prev[h % w]; unsigned start = s % w; for (unsigned i = start; i < start + e - s + 1; ++i) { img_labels_row[i] = val; } // 3B) Moreover, we check for all the following run that end before/at e - N (t // in the following schema), we perform a label merge of that run with the // current one and we remove them from the queues (no other following run can // be directly connected with these). // +-+-+-+-+-+-+-+-+-+ // | | | | | |<|t| | | // +-+-+-+-+-+-+-+-+-+ // | | |s| | | |e| | | // +-+-+-+-+-+-+-+-+-+ // The label of the current run is val. The label of the run we are analyzing // from the queue is found at p(h) -> p(r - 1, h % w). while (t <= e - w) { if (next) { LabelsSolver::Merge(img_labels_row_prev[h % w], val); } next = true; h = s_queue_.DequeueAndFront(); t = e_queue_.DequeueAndFront(); } // 4) We check for the next run which ends after/at e - N + 1 (t in the following // schema. It always exists and it is at most the current run. // +-+-+-+-+-+-+-+-+-+ // | | | | | | | |t|>| // +-+-+-+-+-+-+-+-+-+ // | | |s| | | |e| | | // +-+-+-+-+-+-+-+-+-+ while (t < e - w + 1) { next = true; s_queue_.Dequeue(); e_queue_.Dequeue(); h = s_queue_.Front(); t = e_queue_.Front(); } // We must keep the run in the list but we may need to merge labels: // If the run p(h, t) starts before/at e - N + 1 (h in the following // schema) it connects to the current run so we need to merge labels. // +-+-+-+-+-+-+-+-+-+ // | | | | | | |<|h| | // +-+-+-+-+-+-+-+-+-+ // | | |s| | | |e| | | // +-+-+-+-+-+-+-+-+-+ // The condition (e - w + 1) % w != 0 that can be simplified as (e + 1) % w != 0 // is for the handling of (left) border cases that were ignored by the original // paper in which the border is always considered black (background). if (h <= e - w + crb) { if (next) { LabelsSolver::Merge(img_labels_row[s % w], img_labels_row_prev[h % w]); } } } else { // Otherwise it is a run not connected to any other, so we need a new label unsigned val = LabelsSolver::NewLabel(); unsigned start = s % w; for (unsigned i = start; i < start + e - s + 1; ++i) { img_labels_row[i] = val; } } }//End columns's for }//End rows's for } void SecondScan() { n_labels_ = LabelsSolver::Flatten(); // Second scan for (int r_i = 0; r_i < img_labels_.rows; ++r_i) { unsigned int* img_labels_row_start = img_labels_.ptr(r_i); unsigned int* img_labels_row_end = img_labels_row_start + img_labels_.cols; unsigned int* img_labels_row = img_labels_row_start; for (int c_i = 0; img_labels_row != img_labels_row_end; ++img_labels_row, ++c_i) { *img_labels_row = LabelsSolver::GetLabel(*img_labels_row); } } } CircularBuffer s_queue_; CircularBuffer e_queue_; }; #endif // YACCLAB_LABELING_HE_2008_H_ ================================================ FILE: include/labeling_he_2014.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_HE_2014_H_ #define YACCLAB_LABELING_HE_2014_H_ #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class CTB : public Labeling2D { public: CTB() {} // Possible configurations defined by the CTB algorithms #define CA 1 #define CB 2 #define CC 3 #define CD 4 #define CE 5 #define CF 6 #define CG 7 #define CH 8 #define CI 9 #define BR -1 // State: Begin of a new row void PerformLabeling() { img_labels_ = cv::Mat1i(img_.size(), 0); // Call to memset LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::Setup(); // Scan Mask // +--+--+--+ // |n1|n2|n3| // +--+--+--+ // |n4|a | // +--+--+ // |n5|b | // +--+--+ // First Scan int w(img_.cols); int h(img_.rows); for (int r = 0; r < h; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(r); unsigned int* const img_labels_row_prev = (unsigned int *)(((char *)img_labels_row) - img_labels_.step.p[0]); unsigned int* const img_labels_row_fol = (unsigned int *)(((char *)img_labels_row) + img_labels_.step.p[0]); int prob_fol_state = BR; int prev_state = BR; for (int c = 0; c < w; c += 1) { // A bunch of defines used to check if the pixels are foreground, and current state of graph // without going outside the image limits. #define CONDITION_A img_row[c]>0 #define CONDITION_B r+10 #define CONDITION_N1 c-1>=0 && r-1>=0 && img_row_prev[c-1]>0 #define CONDITION_N2 r-1>=0 && img_row_prev[c]>0 #define CONDITION_N3 r-1>=0 && c+10 #define CONDITION_N4 c-1>=0 && img_row[c-1]>0 #define CONDITION_N5 c-1>=0 && r+10 #define ACTION_1 // nothing #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); // new label #define ACTION_3 img_labels_row[c] = img_labels_row_prev[c - 1]; // a <- n1 #define ACTION_4 img_labels_row[c] = img_labels_row_prev[c]; // a <- n2 #define ACTION_5 img_labels_row[c] = img_labels_row_prev[c + 1]; // a <- n3 #define ACTION_6 img_labels_row[c] = img_labels_row[c - 1]; // a <- n4 #define ACTION_7 img_labels_row[c] = img_labels_row_fol[c - 1]; // a <- n5 #define ACTION_8 LabelsSolver::Merge(img_labels_row[c], img_labels_row_prev[c - 1]); // a + n1 #define ACTION_9 LabelsSolver::Merge(img_labels_row[c], img_labels_row_prev[c + 1]); // a + n3 #define ACTION_10 LabelsSolver::Merge(img_labels_row[c], img_labels_row_fol[c - 1]); // a + n5 #define ACTION_11 img_labels_row_fol[c] = LabelsSolver::NewLabel(); // b new label #define ACTION_12 img_labels_row_fol[c] = img_labels_row[c - 1]; // b <- n4 #define ACTION_13 img_labels_row_fol[c] = img_labels_row_fol[c - 1]; // b <- n5 #define ACTION_14 img_labels_row_fol[c] = img_labels_row[c]; // b <- a #include "labeling_he_2014_graph.inc.h" }//End columns's for }//End rows's for #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef CONDITION_A #undef CONDITION_B #undef CONDITION_N1 #undef CONDITION_N2 #undef CONDITION_N3 #undef CONDITION_N4 #undef CONDITION_N5 n_labels_ = LabelsSolver::Flatten(); // Second scan for (int r_i = 0; r_i < img_labels_.rows; ++r_i) { unsigned int *img_labels_row_start = img_labels_.ptr(r_i); unsigned int *img_labels_row_end = img_labels_row_start + img_labels_.cols; unsigned int *img_labels_row = img_labels_row_start; for (int c_i = 0; img_labels_row != img_labels_row_end; ++img_labels_row, ++c_i) { *img_labels_row = LabelsSolver::GetLabel(*img_labels_row); } } LabelsSolver::Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { MemMat img(img_); MemMat img_labels(img_.size(), 0); LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); // Scan Mask // +--+--+--+ // |n1|n2|n3| // +--+--+--+ // |n4|a | // +--+--+ // |n5|b | // +--+--+ // First Scan int w(img_.cols); int h(img_.rows); for (int r = 0; r < h; r += 2) { int prob_fol_state = BR; int prev_state = BR; for (int c = 0; c < w; c += 1) { // A bunch of defines used to check if the pixels are foreground, and current state of graph // without going outside the image limits. #define CONDITION_A img(r,c)>0 #define CONDITION_B r+10 #define CONDITION_N1 c-1>=0 && r-1>=0 && img(r - 1, c - 1)>0 #define CONDITION_N2 r-1>=0 && img(r - 1, c)>0 #define CONDITION_N3 r-1>=0 && c+10 #define CONDITION_N4 c-1>=0 && img(r, c - 1)>0 #define CONDITION_N5 c-1>=0 && r+10 #define ACTION_1 // nothing #define ACTION_2 img_labels(r, c) = LabelsSolver::MemNewLabel(); // new label #define ACTION_3 img_labels(r, c) = img_labels(r - 1, c - 1); // a <- n1 #define ACTION_4 img_labels(r, c) = img_labels(r - 1, c); // a <- n2 #define ACTION_5 img_labels(r, c) = img_labels(r - 1, c + 1); // a <- n3 #define ACTION_6 img_labels(r, c) = img_labels(r, c - 1); // a <- n4 #define ACTION_7 img_labels(r, c) = img_labels(r + 1, c - 1); // a <- n5 #define ACTION_8 LabelsSolver::MemMerge(img_labels(r,c), img_labels(r - 1, c - 1)); // a + n1 #define ACTION_9 LabelsSolver::MemMerge(img_labels(r,c), img_labels(r - 1, c + 1)); // a + n3 #define ACTION_10 LabelsSolver::MemMerge(img_labels(r,c), img_labels(r + 1, c - 1)); // a + n5 #define ACTION_11 img_labels(r + 1, c) = LabelsSolver::MemNewLabel(); // b new label #define ACTION_12 img_labels(r + 1, c) = img_labels(r, c - 1); // b <- n4 #define ACTION_13 img_labels(r + 1, c) = img_labels(r + 1, c - 1); // b <- n5 #define ACTION_14 img_labels(r + 1, c) = img_labels(r, c); // b <- a #include "labeling_he_2014_graph.inc.h" }//End columns's for }//End rows's for #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef CONDITION_A #undef CONDITION_B #undef CONDITION_N1 #undef CONDITION_N2 #undef CONDITION_N3 #undef CONDITION_N4 #undef CONDITION_N5 n_labels_ = LabelsSolver::MemFlatten(); // Second scan for (int r_i = 0; r_i < img_labels.rows; ++r_i) { for (int c_i = 0; c_i < img_labels.cols; ++c_i) { img_labels(r_i,c_i) = LabelsSolver::MemGetLabel(img_labels(r_i, c_i)); } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); // Initialization LabelsSolver::Setup(); // Scan Mask // +--+--+--+ // |n1|n2|n3| // +--+--+--+ // |n4|a | // +--+--+ // |n5|b | // +--+--+ // First Scan int w(img_.cols); int h(img_.rows); for (int r = 0; r < h; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(r); unsigned int* const img_labels_row_prev = (unsigned int *)(((char *)img_labels_row) - img_labels_.step.p[0]); unsigned int* const img_labels_row_fol = (unsigned int *)(((char *)img_labels_row) + img_labels_.step.p[0]); int prob_fol_state = BR; int prev_state = BR; for (int c = 0; c < w; c += 1) { // A bunch of defines used to check if the pixels are foreground, and current state of graph // without going outside the image limits. #define CONDITION_A img_row[c]>0 #define CONDITION_B r+10 #define CONDITION_N1 c-1>=0 && r-1>=0 && img_row_prev[c-1]>0 #define CONDITION_N2 r-1>=0 && img_row_prev[c]>0 #define CONDITION_N3 r-1>=0 && c+10 #define CONDITION_N4 c-1>=0 && img_row[c-1]>0 #define CONDITION_N5 c-1>=0 && r+10 #define ACTION_1 // nothing #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); // new label #define ACTION_3 img_labels_row[c] = img_labels_row_prev[c - 1]; // a <- n1 #define ACTION_4 img_labels_row[c] = img_labels_row_prev[c]; // a <- n2 #define ACTION_5 img_labels_row[c] = img_labels_row_prev[c + 1]; // a <- n3 #define ACTION_6 img_labels_row[c] = img_labels_row[c - 1]; // a <- n4 #define ACTION_7 img_labels_row[c] = img_labels_row_fol[c - 1]; // a <- n5 #define ACTION_8 LabelsSolver::Merge(img_labels_row[c], img_labels_row_prev[c - 1]); // a + n1 #define ACTION_9 LabelsSolver::Merge(img_labels_row[c], img_labels_row_prev[c + 1]); // a + n3 #define ACTION_10 LabelsSolver::Merge(img_labels_row[c], img_labels_row_fol[c - 1]); // a + n5 #define ACTION_11 img_labels_row_fol[c] = LabelsSolver::NewLabel(); // b new label #define ACTION_12 img_labels_row_fol[c] = img_labels_row[c - 1]; // b <- n4 #define ACTION_13 img_labels_row_fol[c] = img_labels_row_fol[c - 1]; // b <- n5 #define ACTION_14 img_labels_row_fol[c] = img_labels_row[c]; // b <- a #include "labeling_he_2014_graph.inc.h" }//End columns's for }//End rows's for #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef CONDITION_A #undef CONDITION_B #undef CONDITION_N1 #undef CONDITION_N2 #undef CONDITION_N3 #undef CONDITION_N4 #undef CONDITION_N5 } void SecondScan() { n_labels_ = LabelsSolver::Flatten(); // Second scan for (int r_i = 0; r_i < img_labels_.rows; ++r_i) { unsigned int *img_labels_row_start = img_labels_.ptr(r_i); unsigned int *img_labels_row_end = img_labels_row_start + img_labels_.cols; unsigned int *img_labels_row = img_labels_row_start; for (int c_i = 0; img_labels_row != img_labels_row_end; ++img_labels_row, ++c_i) { *img_labels_row = LabelsSolver::GetLabel(*img_labels_row); } } } }; #endif // YACCLAB_LABELING_HE_2014_H_ ================================================ FILE: include/labeling_he_2014_graph.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. switch (prev_state) { case(CA):// Previous configuration was CA if (CONDITION_A) { prev_state = CB; if (CONDITION_N2) { // a <- n2 ACTION_4 // Probably follows state are CD, CG and CA. We choose CD as "delegate" prob_fol_state = CD; } else { if (CONDITION_N3) { // a <- n3 ACTION_5 // Probably follows state are CE, CG and CA. We choose CE as "delegate" prob_fol_state = CE; if (CONDITION_N1) { // Solve equivalence between a and n1 ACTION_8 } } else { // Probably follows state are CF, CG and CA. We choose CE as "delegate" prob_fol_state = CF; if (CONDITION_N1) { // a <- n1 ACTION_3 } else { // a new label ACTION_2 } } } if (CONDITION_B) { // b <- a ACTION_14 } } else { if (CONDITION_B) { // b new label ACTION_11 prev_state = CC; } else { // nothing ACTION_1 } } break; case(CB): // Previous configuration was CB if (CONDITION_A) { // All possible configuration are CD, CE, CF if (prob_fol_state == CD) { // Current configuration is CD prev_state = CD; ACTION_6 // a <- n4 if (CONDITION_N2) { // a <- n4 (already done) prob_fol_state = CD; } else { if (CONDITION_N3) { // Solve equivalence between a and n3 ACTION_9 prob_fol_state = CE; } else { // a <- n4 (already done) prob_fol_state = CF; } } } else { if (prob_fol_state == CE) { // Current configuration is CE // a <- n4 ACTION_6 prev_state = CE; } else { if (prob_fol_state == CF) { // Current configuration is CF // a <- n4 ACTION_6 if (CONDITION_N3) { // Solve equivalence between a and n3 ACTION_9 prob_fol_state = CE; } else { // a <- n4 (already done) prob_fol_state = CF; } } } } if (CONDITION_B) { // b <- a ACTION_14 } } else { if (CONDITION_B) { // Current configuration is CG // b <- n4 ACTION_12 prev_state = CG; } else { // Current configuration is CA // nothing ACTION_1 prev_state = CA; } } break; case(CC): // Previous configuration was CC if (CONDITION_A) { // Current configuration is CH prev_state = CH; if (CONDITION_N2) { // a <- n2 ACTION_4 // Solve equivalence between a and n5 ACTION_10 prob_fol_state = CD; } else { if (CONDITION_N3) { // a <- n3 ACTION_5 // Solve equivalence between a and n5 ACTION_10 if (CONDITION_N1) { // Solve equivalence between a and n1 ACTION_8 } prob_fol_state = CE; } else { // a <- n5 ACTION_7 if (CONDITION_N1) { // Solve equivalence between a and n1 ACTION_8 } prob_fol_state = CF; } } if (CONDITION_B) { // b <- a ACTION_14 } } else { if (CONDITION_B) { // Current configuration is CI // b <- n5 ACTION_13 prev_state = CI; } else { // Current configuration is CA // nothing ACTION_1 prev_state = CA; } } break; case(CD): // Previous configuration was CD if (CONDITION_A) { // All possible configuration are CD, CE, CF if (prob_fol_state == CD) { // Current configuration is CD prev_state = CD; // a <- n4 (in all cases) ACTION_6 if (CONDITION_N2) { // a <- n4 (already done) prob_fol_state = CD; } else { if (CONDITION_N3) { // a <- n4 (already done) // Solve equivalence between a and n3 ACTION_9 prob_fol_state = CE; } else { // a <- n4 (already done) prob_fol_state = CF; } } } else { if (prob_fol_state == CE) { // Current configuration is CE // a <- n4 ACTION_6 prev_state = CE; } else { if (prob_fol_state == CF) { // Current configuration is CF // a <- n4 ACTION_6 if (CONDITION_N3) { // Solve equivalence between a and n3 ACTION_9 prob_fol_state = CE; } else { // a <- n4 (already done) prob_fol_state = CF; } } } } if (CONDITION_B) { // b <- a ACTION_14 } } else { if (CONDITION_B) { // Current configuration is CG // b <- n4 ACTION_12 prev_state = CG; } else { // Current configuration is CA // nothing ACTION_1 prev_state = CA; } } break; case(CE): // Previous configuration was CE if (CONDITION_A) { // Current configuration is CD prev_state = CD; // a <- n4 (in all cases) ACTION_6 if (CONDITION_N2) { // a <- n4 (already done) prob_fol_state = CD; } else { if (CONDITION_N3) { // a <- n4 (already done) // Solve equivalence between a and n3 ACTION_9 prob_fol_state = CE; } else { // a <- n4 (already done) prob_fol_state = CF; } } if (CONDITION_B) { // b <- a ACTION_14 } } else { if (CONDITION_B) { // Current configuration is CG // b <- n4 ACTION_12 prev_state = CG; } else { // Current configuration is CA // nothing ACTION_1 prev_state = CA; } } break; case(CF): // Previous configuration was CF if (CONDITION_A) { // Possible current configuration are CE and CF if (prob_fol_state == CE) { // Current configuration is CE // a <- n4 ACTION_6 prev_state = CE; } else { if (prob_fol_state == CF) { // Current configuration is CF // a <- n4 ACTION_6 if (CONDITION_N3) { // Solve equivalence between a and n3 ACTION_9 prob_fol_state = CE; } else { // a <- n4 (already done) prob_fol_state = CF; } } } if (CONDITION_B) { // b <- a ACTION_14 } } else { if (CONDITION_B) { // Current configuration is CG // b <- n4 ACTION_12 prev_state = CG; } else { // Current configuration is CA // nothing ACTION_1 prev_state = CA; } } break; case(CG): // Previous configuration was CG if (CONDITION_A) { // Current state is CH prev_state = CH; if (CONDITION_N2) { // a <- n2 ACTION_4 // Solve equivalence between a and n5 ACTION_10 prob_fol_state = CD; } else { if (CONDITION_N3) { // a <- n3 ACTION_5 // Solve equivalence between a and n5 ACTION_10 if (CONDITION_N1) { // Solve equivalence between a and n1 ACTION_8 } prob_fol_state = CE; } else { // a <- n5 ACTION_7 if (CONDITION_N1) { // Solve equivalence between a and n1 ACTION_8 } prob_fol_state = CF; } } if (CONDITION_B) { // b <- a ACTION_14 } } else { if (CONDITION_B) { //Current configuration in CI // b <- n5 ACTION_13 prev_state = CI; } else { // Current configuration is CA // nothing ACTION_1 prev_state = CA; } } break; case(CH): // Previous configuration was CH if (CONDITION_A) { // All possible configuration are CD, CE, CF if (prob_fol_state == CD) { // Current configuration is CD prev_state = CD; // a <- n4 (in all cases) ACTION_6 if (CONDITION_N2) { // a <- n4 (already done) prob_fol_state = CD; } else { if (CONDITION_N3) { // a <- n4 (already done) // Solve equivalence between a and n3 ACTION_9 prob_fol_state = CE; } else { // a <- n4 (already done) prob_fol_state = CF; } } } else { if (prob_fol_state == CE) { // Current configuration is CE // a <- n4 ACTION_6 prev_state = CE; } else { if (prob_fol_state == CF) { // Current configuration is CF // a <- n4 (in all cases) ACTION_6 if (CONDITION_N3) { // Solve equivalence between a and n3 ACTION_9 prob_fol_state = CE; } else { // a <- n4 (already done) prob_fol_state = CF; } } } } if (CONDITION_B) { // b <- a ACTION_14 } } else { if (CONDITION_B) { // Current configuration is CG // b <- n4 ACTION_12 prev_state = CG; } else { // Current configuration is CA // nothing ACTION_1 prev_state = CA; } } break; case(CI): // Previous configuration was CI if (CONDITION_A) { // Current configuration is CH prev_state = CH; if (CONDITION_N2) { // a <- n2 ACTION_4 // Solve equivalence between a and n5 ACTION_10 prob_fol_state = CD; } else { if (CONDITION_N3) { // a <- n3 ACTION_5 // Solve equivalence between a and n5 ACTION_10 if (CONDITION_N1) { // Solve equivalence between a and n1 ACTION_8 } prob_fol_state = CE; } else { // a <- n5 ACTION_7 if (CONDITION_N1) { // Solve equivalence between a and n1 ACTION_8 } prob_fol_state = CF; } } if (CONDITION_B) { // b <- a ACTION_14 } } else { if (CONDITION_B) { // Current configuration is CI // b <- n5 ACTION_13 prev_state = CI; } else { // Current configuration is CA // nothing ACTION_1 prev_state = CA; } } break; case(BR): // No previous configuration defined (new line) if (CONDITION_A) { //a is foreground pixel prev_state = CB; if (CONDITION_N2) { // a <- n2 ACTION_4 prob_fol_state = CD; } else { if (CONDITION_N3) { // a <- n3 ACTION_5 prob_fol_state = CE; } else { // a new label ACTION_2 prob_fol_state = CF; } } if (CONDITION_B) { // b <- a ACTION_14 } } else { if (CONDITION_B) { // b new label ACTION_11 prev_state = CG; } else { // Current configuration is CA // nothing ACTION_1 prev_state = CA; } } break; }//End switch ================================================ FILE: include/labeling_lacassagne_2016.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_LACASSAGNE_2011_H_ #define YACCLAB_LABELING_LACASSAGNE_2011_H_ #include #include #include "labels_solver.h" #include "labeling_algorithms.h" #include "memory_tester.h" using namespace std; using namespace cv; struct Table2D { unsigned **prows = nullptr; Table2D() {} Table2D(const Table2D&) = delete; Table2D& operator=(const Table2D&) = delete; Table2D(size_t rows, size_t cols) { Reserve(rows, cols); } ~Table2D() { Release(); } void Reserve(size_t rows, size_t cols) { prows = new unsigned*[rows]; *prows = new unsigned[rows*cols]; unsigned *currow = *prows; for (size_t i = 1; i < rows; ++i) { currow += cols; prows[i] = currow; } } void Release() { if (prows) { delete[] *prows; delete[] prows; prows = nullptr; } } }; // Modifications for RLE version #define RLE_MOD1 //if (f) #define RLE_MOD2 f // Modifications for zero-offset addressing #define ZOA_MOD0 int b = 0; // Right border compensation #define ZOA_MOD1 - b #define ZOA_MOD2 b = b ^ RLE_MOD2; #define ZOA_MOD3 x0 = 0; f = x0 ^ x1; #define ZOA_MOD4 er = er + f; #define ZOA_MOD5 template class LSL_STD : public Labeling2D { #include "labeling_lacassagne_2016_code.inc.h" }; #undef ZOA_MOD0 #undef ZOA_MOD1 #undef ZOA_MOD2 #undef ZOA_MOD3 #undef ZOA_MOD4 #undef ZOA_MOD5 #undef RLE_MOD1 #undef RLE_MOD2 #define RLE_MOD1 //if (f) #define RLE_MOD2 f #define ZOA_MOD0 #define ZOA_MOD1 #define ZOA_MOD2 #define ZOA_MOD3 if (x1 != 0) { #define ZOA_MOD4 } er = er + x1; #define ZOA_MOD5 -1 template class LSL_STDZ : public Labeling2D { #include "labeling_lacassagne_2016_code.inc.h" }; #undef ZOA_MOD0 #undef ZOA_MOD1 #undef ZOA_MOD2 #undef ZOA_MOD3 #undef ZOA_MOD4 #undef ZOA_MOD5 #undef RLE_MOD1 #undef RLE_MOD2 #define RLE_MOD1 if (f) #define RLE_MOD2 1 #define ZOA_MOD0 int b = 0; // Right border compensation #define ZOA_MOD1 - b #define ZOA_MOD2 b = b ^ RLE_MOD2; #define ZOA_MOD3 x0 = 0; f = x0 ^ x1; #define ZOA_MOD4 er = er + f; #define ZOA_MOD5 template class LSL_RLE : public Labeling2D { #include "labeling_lacassagne_2016_code.inc.h" }; #undef ZOA_MOD0 #undef ZOA_MOD1 #undef ZOA_MOD2 #undef ZOA_MOD3 #undef ZOA_MOD4 #undef ZOA_MOD5 #undef RLE_MOD1 #undef RLE_MOD2 #define RLE_MOD1 if (f) #define RLE_MOD2 1 #define ZOA_MOD0 #define ZOA_MOD1 #define ZOA_MOD2 #define ZOA_MOD3 if (x1 != 0) { #define ZOA_MOD4 } er = er + x1; #define ZOA_MOD5 -1 template class LSL_RLEZ : public Labeling2D { #include "labeling_lacassagne_2016_code.inc.h" }; #undef ZOA_MOD0 #undef ZOA_MOD1 #undef ZOA_MOD2 #undef ZOA_MOD3 #undef ZOA_MOD4 #undef ZOA_MOD5 #undef RLE_MOD1 #undef RLE_MOD2 #endif // !YACCLAB_LABELING_LACASSAGNE_2011_H_ ================================================ FILE: include/labeling_lacassagne_2016_code.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. public: void PerformLabeling() { int rows = img_.rows; int cols = img_.cols; // Step 1 Table2D ER(rows, cols); // Matrix of relative label (1 label/pixel) // Notes on the RLC table: // 1) rows: +1 in order to handle compact usage of RLC table without if statements, // 2) columns: MISSING in the paper, RLC requires 2 values/run in row, so width must be next multiple of 2. Table2D RLC(rows + 1, (cols + 1) & ~1); int *ner = new int[rows]; //vector ner(rows); // Number of runs for (int r = 0; r < rows; ++r) { // Get pointers to rows const unsigned char* img_r = img_.ptr(r); unsigned* ER_r = ER.prows[r]; unsigned* RLC_r = RLC.prows[r]; int x0; int x1 = 0; // Previous value of X int f = 0; // Front detection ZOA_MOD0 int er = 0; for (int c = 0; c < cols; ++c) { x0 = img_r[c] > 0; f = x0 ^ x1; RLE_MOD1{ RLC_r[er] = c ZOA_MOD1; ZOA_MOD2 er = er + RLE_MOD2; } ER_r[c] = er; x1 = x0; } ZOA_MOD3 RLC_r[er] = cols ZOA_MOD1; ZOA_MOD4 ner[r] = er; // Compact RLC usage RLC.prows[r + 1] = RLC_r + er + 1; } // Step 2 Table2D ERA(rows, cols + 1); // MISSING in the paper: ERA must have one column more than the input image // in order to handle special cases (e.g. lines with chessboard pattern // starting with a foreground pixel) memset(ERA.prows[0], 0, rows * (cols + 1) * sizeof(unsigned)); LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::Setup(); // First row { unsigned* ERA_r = ERA.prows[0]; for (int er = 1; er <= ner[0]; er += 2) { ERA_r[er] = LabelsSolver::NewLabel(); } } for (int r = 1; r < rows; ++r) { // Get pointers to rows unsigned* ERA_r = ERA.prows[r]; const unsigned* ERA_r_prev = ERA.prows[r - 1]; const unsigned* ER_r_prev = ER.prows[r - 1]; const unsigned* RLC_r = RLC.prows[r]; for (int er = 1; er <= ner[r]; er += 2) { int j0 = RLC_r[er - 1]; int j1 = RLC_r[er] ZOA_MOD5; // Check extension in case of 8-connect algorithm if (j0 > 0) j0--; if (j1 < cols - 1) // WRONG in the paper! "n-1" should be "w-1" j1++; int er0 = ER_r_prev[j0]; int er1 = ER_r_prev[j1]; // Check label parity: segments are odd if (er0 % 2 == 0) er0++; if (er1 % 2 == 0) er1--; if (er1 >= er0) { int ea = ERA_r_prev[er0]; int a = LabelsSolver::FindRoot(ea); for (int erk = er0 + 2; erk <= er1; erk += 2) { // WRONG in the paper! missing "step 2" int eak = ERA_r_prev[erk]; int ak = LabelsSolver::FindRoot(eak); // Min extraction and propagation if (a < ak) LabelsSolver::UpdateTable(ak, a); if (a > ak) { LabelsSolver::UpdateTable(a, ak); a = ak; } } ERA_r[er] = a; // The global min } else { ERA_r[er] = LabelsSolver::NewLabel(); } } } // Step 3 //Mat1i EA(rows, cols); //for (int r = 0; r < rows; ++r) { // for (int c = 0; c < cols; ++c) { // EA(r, c) = ERA(r, ER(r, c)); // } //} // Sorry, but we really don't get why this shouldn't be included in the last step // Step 4 n_labels_ = LabelsSolver::Flatten(); // Step 5 img_labels_ = Mat1i(rows, cols); for (int r = 0; r < rows; ++r) { // Get pointers to rows unsigned* labels_r = img_labels_.ptr(r); const unsigned* ERA_r = ERA.prows[r]; const unsigned* ER_r = ER.prows[r]; for (int c = 0; c < cols; ++c) { //labels(r, c) = A[EA(r, c)]; labels_r[c] = LabelsSolver::GetLabel(ERA_r[ER_r[c]]); // This is Step 3 and 5 together } } delete[] ner; LabelsSolver::Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { int rows = img_.rows; int cols = img_.cols; MemMat img(img_); // Step 1 MemMat ER(rows, cols); // Matrix of relative label (1 label/pixel) MemMat RLC(rows, (cols + 1) & ~1); // MISSING in the paper: RLC requires 2 values/run in row, so width must be next multiple of 2 MemVector ner(rows); //vector ner(rows); // Number of runs for (int r = 0; r < rows; ++r) { int x0; int x1 = 0; // Previous value of X int f = 0; // Front detection ZOA_MOD0 int er = 0; for (int c = 0; c < cols; ++c) { x0 = img(r, c) > 0; f = x0 ^ x1; RLE_MOD1{ RLC(r, er) = c ZOA_MOD1; ZOA_MOD2 er = er + RLE_MOD2; } ER(r, c) = er; x1 = x0; } ZOA_MOD3 RLC(r, er) = cols ZOA_MOD1; ZOA_MOD4 ner[r] = er; } // Step 2 MemMat ERA(rows, cols + 1, 0); // MISSING in the paper: ERA must have one column more than the input image // in order to handle special cases (e.g. lines with chessboard pattern // starting with a foreground pixel) LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); // First row { for (int er = 1; er <= ner[0]; er += 2) { ERA(0, er) = LabelsSolver::MemNewLabel(); } } for (int r = 1; r < rows; ++r) { for (int er = 1; er <= ner[r]; er += 2) { int j0 = RLC(r, er - 1); int j1 = RLC(r, er) ZOA_MOD5; // Check extension in case of 8-connect algorithm if (j0 > 0) j0--; if (j1 < cols - 1) // WRONG in the paper! "n-1" should be "w-1" j1++; int er0 = ER(r - 1, j0); int er1 = ER(r - 1, j1); // Check label parity: segments are odd if (er0 % 2 == 0) er0++; if (er1 % 2 == 0) er1--; if (er1 >= er0) { int ea = ERA(r - 1, er0); int a = LabelsSolver::MemFindRoot(ea); for (int erk = er0 + 2; erk <= er1; erk += 2) { // WRONG in the paper! missing "step 2" int eak = ERA(r - 1, erk); int ak = LabelsSolver::MemFindRoot(eak); // Min extraction and propagation if (a < ak) LabelsSolver::MemUpdateTable(ak, a); if (a > ak) { LabelsSolver::MemUpdateTable(a, ak); a = ak; } } ERA(r, er) = a; // The global min } else { ERA(r, er) = LabelsSolver::MemNewLabel(); } } } // Step 4 n_labels_ = LabelsSolver::MemFlatten(); // Step 5 MemMat labels(rows, cols); for (int r = 0; r < rows; ++r) { for (int c = 0; c < cols; ++c) { //labels(r, c) = A[EA(r, c)]; labels(r, c) = LabelsSolver::MemGetLabel(ERA(r, ER(r, c))); // This is Step 3 and 5 together } } // Store total accesses in the output vector 'accesses' accesses = vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); accesses[MD_OTHER] = (uint64_t)(ER.GetTotalAccesses() + RLC.GetTotalAccesses() + ner.GetTotalAccesses() + ERA.GetTotalAccesses()); img_labels_ = labels.GetImage(); LabelsSolver::MemDealloc(); } private: int *ner; Table2D ER, RLC, ERA; double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image and for other structures perf_.start(); img_labels_ = cv::Mat1i(img_.size()); int rows = img_.rows; int cols = img_.cols; ER.Reserve(rows, cols); // Matrix of relative label (1 label/pixel) // Notes on the RLC table: // 1) rows: +1 in order to handle compact usage of RLC table without if statements, // 2) columns: MISSING in the paper, RLC requires 2 values/run in row, so width must be next multiple of 2. RLC.Reserve(rows + 1, (cols + 1) & ~1); ner = new int[rows]; //vector ner(rows); // Number of runs ERA.Reserve(rows, cols + 1); // MISSING in the paper: ERA must have one column more than the input image // in order to handle special cases (e.g. lines with chessboard pattern // starting with a foreground pixel) memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(*ER.prows, 0, rows*cols * sizeof(unsigned)); memset(*RLC.prows, 0, (rows + 1)*((cols + 1) & ~1) * sizeof(unsigned)); memset(ner, 0, rows*sizeof(int)); memset(*ERA.prows, 0, rows*(cols + 1) * sizeof(unsigned)); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(*ER.prows, 0, rows*cols * sizeof(unsigned)); memset(*RLC.prows, 0, (rows + 1)*((cols + 1) & ~1) * sizeof(unsigned)); memset(ner, 0, rows*sizeof(int)); memset(*ERA.prows, 0, rows*(cols + 1) * sizeof(unsigned)); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { ERA.Release(); delete[] ner; RLC.Release(); ER.Release(); // No free for img_labels_ because it is required at the end of the algorithm LabelsSolver::Dealloc(); } void FirstScan() { int rows = img_.rows; int cols = img_.cols; // Step 1 for (int r = 0; r < rows; ++r) { // Get pointers to rows const unsigned char* img_r = img_.ptr(r); unsigned* ER_r = ER.prows[r]; unsigned* RLC_r = RLC.prows[r]; int x0; int x1 = 0; // Previous value of X int f = 0; // Front detection ZOA_MOD0 int er = 0; for (int c = 0; c < cols; ++c) { x0 = img_r[c] > 0; f = x0 ^ x1; RLE_MOD1{ RLC_r[er] = c ZOA_MOD1; ZOA_MOD2 er = er + RLE_MOD2; } ER_r[c] = er; x1 = x0; } ZOA_MOD3 RLC_r[er] = cols ZOA_MOD1; ZOA_MOD4 ner[r] = er; // Compact RLC usage RLC.prows[r + 1] = RLC_r + er + 1; } // Step 2 LabelsSolver::Setup(); memset(ERA.prows[0], 0, rows * (cols + 1) * sizeof(unsigned)); // First row { unsigned* ERA_r = ERA.prows[0]; for (int er = 1; er <= ner[0]; er += 2) { ERA_r[er] = LabelsSolver::NewLabel(); } } for (int r = 1; r < rows; ++r) { // Get pointers to rows unsigned* ERA_r = ERA.prows[r]; const unsigned* ERA_r_prev = ERA.prows[r - 1]; const unsigned* ER_r_prev = ER.prows[r - 1]; const unsigned* RLC_r = RLC.prows[r]; for (int er = 1; er <= ner[r]; er += 2) { int j0 = RLC_r[er - 1]; int j1 = RLC_r[er] ZOA_MOD5; // Check extension in case of 8-connect algorithm if (j0 > 0) j0--; if (j1 < cols - 1) // WRONG in the paper! "n-1" should be "w-1" j1++; int er0 = ER_r_prev[j0]; int er1 = ER_r_prev[j1]; // Check label parity: segments are odd if (er0 % 2 == 0) er0++; if (er1 % 2 == 0) er1--; if (er1 >= er0) { int ea = ERA_r_prev[er0]; int a = LabelsSolver::FindRoot(ea); for (int erk = er0 + 2; erk <= er1; erk += 2) { // WRONG in the paper! missing "step 2" int eak = ERA_r_prev[erk]; int ak = LabelsSolver::FindRoot(eak); // Min extraction and propagation if (a < ak) LabelsSolver::UpdateTable(ak, a); if (a > ak) { LabelsSolver::UpdateTable(a, ak); a = ak; } } ERA_r[er] = a; // The global min } else { ERA_r[er] = LabelsSolver::NewLabel(); } } } } void SecondScan() { // Step 4 n_labels_ = LabelsSolver::Flatten(); // Step 5 for (int r = 0; r < img_.rows; ++r) { // Get pointers to rows unsigned* labels_r = img_labels_.ptr(r); const unsigned* ERA_r = ERA.prows[r]; const unsigned* ER_r = ER.prows[r]; for (int c = 0; c < img_.cols; ++c) { //labels(r, c) = A[EA(r, c)]; labels_r[c] = LabelsSolver::GetLabel(ERA_r[ER_r[c]]); // This is Step 3 and 5 together } } } ================================================ FILE: include/labeling_lee_2021_bmrs.h ================================================ // Copyright (c) 2021, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Wonsang Lee // Department of Physics // Konkuk University, Korea #ifndef YACCLAB_LABELING_BMRS #define YACCLAB_LABELING_BMRS #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" #include "bit_scan_forward.h" template class BMRS : public Labeling2D { struct Data_Compressed { uint64_t* bits; int height; int width; int data_width; uint64_t* operator [](uint64_t row) { return bits + data_width * row; } void Alloc(int _height, int _width) { height = _height, width = _width; data_width = _width / 64 + 1; bits = new uint64_t[height * data_width]; } void Dealloc() { delete[] bits; } }; struct Run { unsigned short start_pos; unsigned short end_pos; unsigned label; }; struct Runs { Run* runs; unsigned height; unsigned width; void Alloc(int _height, int _width) { height = _height, width = _width; runs = new Run[height * (width / 2 + 2) + 1]; } void Dealloc() { delete[] runs; } }; Data_Compressed data_compressed; Data_Compressed data_merged; Data_Compressed data_flags; Runs data_runs; public: BMRS() {} void PerformLabeling() { int w(img_.cols); int h(img_.rows); data_compressed.Alloc(h, w); InitCompressedData(data_compressed); //generate merged data int h_merge = h / 2 + h % 2; int data_width = data_compressed.data_width; data_merged.Alloc(h_merge, w); for (int i = 0; i < h / 2; i++) { uint64_t* pdata_source1 = data_compressed[2 * i]; uint64_t* pdata_source2 = data_compressed[2 * i + 1]; uint64_t* pdata_merged = data_merged[i]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source1[j] | pdata_source2[j]; } if (h % 2) { uint64_t* pdata_source = data_compressed[h - 1]; uint64_t* pdata_merged = data_merged[h / 2]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source[j]; } //generate flag bits data_flags.Alloc(h_merge - 1, w); for (int i = 0; i < data_flags.height; i++) { uint64_t* bits_u = data_compressed[2 * i + 1]; uint64_t* bits_d = data_compressed[2 * i + 2]; uint64_t* bits_dest = data_flags[i]; uint64_t u0 = bits_u[0]; uint64_t d0 = bits_d[0]; bits_dest[0] = (u0 | (u0 << 1)) & (d0 | (d0 << 1)); for (int j = 1; j < data_width; j++) { uint64_t u = bits_u[j]; uint64_t u_shl = u << 1; uint64_t d = bits_d[j]; uint64_t d_shl = d << 1; if (bits_u[j - 1] & 0x8000000000000000) u_shl |= 1; if (bits_d[j - 1] & 0x8000000000000000) d_shl |= 1; bits_dest[j] = (u | u_shl) & (d | d_shl); } } //find runs data_runs.Alloc(h_merge, w); LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::Setup(); FindRuns(data_merged.bits, data_flags.bits, h_merge, data_width, data_runs.runs); img_labels_ = cv::Mat1i(img_.size(), 0); // (0-init) // New version (uses 1-byte per pixel input) Run* runs = data_runs.runs; for (int i = 0; i < h / 2; i++) { const uint64_t* const data_u = data_compressed.bits + data_compressed.data_width * 2 * i; const uint64_t* const data_d = data_u + data_compressed.data_width; unsigned* const labels_u = img_labels_.ptr(2 * i); unsigned* const labels_d = img_labels_.ptr(2 * i + 1); for (;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (int j = start_pos; j < end_pos; j++) { if (data_u[j >> 6] & (1ull << (j & 0x3F))) labels_u[j] = label; if (data_d[j >> 6] & (1ull << (j & 0x3F))) labels_d[j] = label; } } } if (h % 2) { unsigned* const labels = img_labels_.ptr(h - 1); for (;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (int j = start_pos; j < end_pos; j++) { labels[j] = label; } } } LabelsSolver::Dealloc(); data_runs.Dealloc(); data_flags.Dealloc(); data_merged.Dealloc(); data_compressed.Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); InitCompressedData(data_compressed); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double t_runalloc = Get_RunAllocTime(); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing + t_runalloc); } void PerformLabelingMem(std::vector& accesses) { //Data structure for memory test MemMat img(img_); MemMat img_labels(img_.size(), 0); int w(img_.cols); int h(img_.rows); data_compressed.Alloc(h, w); InitCompressedDataMem(data_compressed, img); //generate merged data int h_merge = h / 2 + h % 2; int data_width = data_compressed.data_width; data_merged.Alloc(h_merge, w); for (int i = 0; i < h / 2; i++) { uint64_t* pdata_source1 = data_compressed[2 * i]; uint64_t* pdata_source2 = data_compressed[2 * i + 1]; uint64_t* pdata_merged = data_merged[i]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source1[j] | pdata_source2[j]; } if (h % 2) { uint64_t* pdata_source = data_compressed[h - 1]; uint64_t* pdata_merged = data_merged[h / 2]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source[j]; } //generate flag bits data_flags.Alloc(h_merge - 1, w); for (int i = 0; i < data_flags.height; i++) { uint64_t* bits_u = data_compressed[2 * i + 1]; uint64_t* bits_d = data_compressed[2 * i + 2]; uint64_t* bits_dest = data_flags[i]; uint64_t u0 = bits_u[0]; uint64_t d0 = bits_d[0]; bits_dest[0] = (u0 | (u0 << 1)) & (d0 | (d0 << 1)); for (int j = 1; j < data_width; j++) { uint64_t u = bits_u[j]; uint64_t u_shl = u << 1; uint64_t d = bits_d[j]; uint64_t d_shl = d << 1; if (bits_u[j - 1] & 0x8000000000000000) u_shl |= 1; if (bits_d[j - 1] & 0x8000000000000000) d_shl |= 1; bits_dest[j] = (u | u_shl) & (d | d_shl); } } //find runs data_runs.Alloc(h, w); LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); FindRunsMem(data_merged.bits, data_flags.bits, h_merge, data_width, data_runs.runs); Run* runs = data_runs.runs; for (int i = 0; i < h / 2; i++) { int i_u = 2 * i; int i_d = i_u + 1; for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (int k = j; k < w; k++) img_labels(i_u, k) = 0; for (int k = j; k < w; k++) img_labels(i_d, k) = 0; runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::MemGetLabel(runs->label); for (; j < start_pos; j++) img_labels(i_u, j) = 0, img_labels(i_d, j) = 0; for (; j < end_pos; j++) { img_labels(i_u, j) = img(i_u, j) ? label : 0; img_labels(i_d, j) = img(i_d, j) ? label : 0; } } } if (h % 2) { int i = h - 1; for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (int k = j; k < w; k++) img_labels(i, j) = 0; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::MemGetLabel(runs->label); for (; j < start_pos; j++) img_labels(i, j) = 0; for (j = start_pos; j < end_pos; j++) img_labels(i, j) = label; } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); data_runs.Dealloc(); data_flags.Dealloc(); data_merged.Dealloc(); data_compressed.Dealloc(); } private: void InitCompressedData(Data_Compressed& data_compressed) { int w(img_.cols); int h(img_.rows); for (int i = 0; i < h; i++) { uint64_t* mbits = data_compressed[i]; uchar* source = img_.ptr(i); for (int j = 0; j < w >> 6; j++) { uchar* base = source + (j << 6); uint64_t obits = 0; if (base[0]) obits |= 0x0000000000000001; if (base[1]) obits |= 0x0000000000000002; if (base[2]) obits |= 0x0000000000000004; if (base[3]) obits |= 0x0000000000000008; if (base[4]) obits |= 0x0000000000000010; if (base[5]) obits |= 0x0000000000000020; if (base[6]) obits |= 0x0000000000000040; if (base[7]) obits |= 0x0000000000000080; if (base[8]) obits |= 0x0000000000000100; if (base[9]) obits |= 0x0000000000000200; if (base[10]) obits |= 0x0000000000000400; if (base[11]) obits |= 0x0000000000000800; if (base[12]) obits |= 0x0000000000001000; if (base[13]) obits |= 0x0000000000002000; if (base[14]) obits |= 0x0000000000004000; if (base[15]) obits |= 0x0000000000008000; if (base[16]) obits |= 0x0000000000010000; if (base[17]) obits |= 0x0000000000020000; if (base[18]) obits |= 0x0000000000040000; if (base[19]) obits |= 0x0000000000080000; if (base[20]) obits |= 0x0000000000100000; if (base[21]) obits |= 0x0000000000200000; if (base[22]) obits |= 0x0000000000400000; if (base[23]) obits |= 0x0000000000800000; if (base[24]) obits |= 0x0000000001000000; if (base[25]) obits |= 0x0000000002000000; if (base[26]) obits |= 0x0000000004000000; if (base[27]) obits |= 0x0000000008000000; if (base[28]) obits |= 0x0000000010000000; if (base[29]) obits |= 0x0000000020000000; if (base[30]) obits |= 0x0000000040000000; if (base[31]) obits |= 0x0000000080000000; if (base[32]) obits |= 0x0000000100000000; if (base[33]) obits |= 0x0000000200000000; if (base[34]) obits |= 0x0000000400000000; if (base[35]) obits |= 0x0000000800000000; if (base[36]) obits |= 0x0000001000000000; if (base[37]) obits |= 0x0000002000000000; if (base[38]) obits |= 0x0000004000000000; if (base[39]) obits |= 0x0000008000000000; if (base[40]) obits |= 0x0000010000000000; if (base[41]) obits |= 0x0000020000000000; if (base[42]) obits |= 0x0000040000000000; if (base[43]) obits |= 0x0000080000000000; if (base[44]) obits |= 0x0000100000000000; if (base[45]) obits |= 0x0000200000000000; if (base[46]) obits |= 0x0000400000000000; if (base[47]) obits |= 0x0000800000000000; if (base[48]) obits |= 0x0001000000000000; if (base[49]) obits |= 0x0002000000000000; if (base[50]) obits |= 0x0004000000000000; if (base[51]) obits |= 0x0008000000000000; if (base[52]) obits |= 0x0010000000000000; if (base[53]) obits |= 0x0020000000000000; if (base[54]) obits |= 0x0040000000000000; if (base[55]) obits |= 0x0080000000000000; if (base[56]) obits |= 0x0100000000000000; if (base[57]) obits |= 0x0200000000000000; if (base[58]) obits |= 0x0400000000000000; if (base[59]) obits |= 0x0800000000000000; if (base[60]) obits |= 0x1000000000000000; if (base[61]) obits |= 0x2000000000000000; if (base[62]) obits |= 0x4000000000000000; if (base[63]) obits |= 0x8000000000000000; *mbits = obits, mbits++; } uint64_t obits_final = 0; int jbase = w - (w % 64); for (int j = 0; j < w % 64; j++) { if (source[jbase + j]) obits_final |= ((uint64_t)1 << j); } *mbits = obits_final; } } void InitCompressedDataMem(Data_Compressed& data_compressed, MemMat& img) { int w(img_.cols); int h(img_.rows); for (int i = 0; i < h; i++) { uint64_t* mbits = data_compressed[i]; uchar* source = img_.ptr(i); for (int j = 0; j < w >> 6; j++) { int j_base = (j << 6); uint64_t obits = 0; if (img(i, j_base + 0)) obits |= 0x0000000000000001; if (img(i, j_base + 1)) obits |= 0x0000000000000002; if (img(i, j_base + 2)) obits |= 0x0000000000000004; if (img(i, j_base + 3)) obits |= 0x0000000000000008; if (img(i, j_base + 4)) obits |= 0x0000000000000010; if (img(i, j_base + 5)) obits |= 0x0000000000000020; if (img(i, j_base + 6)) obits |= 0x0000000000000040; if (img(i, j_base + 7)) obits |= 0x0000000000000080; if (img(i, j_base + 8)) obits |= 0x0000000000000100; if (img(i, j_base + 9)) obits |= 0x0000000000000200; if (img(i, j_base + 10)) obits |= 0x0000000000000400; if (img(i, j_base + 11)) obits |= 0x0000000000000800; if (img(i, j_base + 12)) obits |= 0x0000000000001000; if (img(i, j_base + 13)) obits |= 0x0000000000002000; if (img(i, j_base + 14)) obits |= 0x0000000000004000; if (img(i, j_base + 15)) obits |= 0x0000000000008000; if (img(i, j_base + 16)) obits |= 0x0000000000010000; if (img(i, j_base + 17)) obits |= 0x0000000000020000; if (img(i, j_base + 18)) obits |= 0x0000000000040000; if (img(i, j_base + 19)) obits |= 0x0000000000080000; if (img(i, j_base + 20)) obits |= 0x0000000000100000; if (img(i, j_base + 21)) obits |= 0x0000000000200000; if (img(i, j_base + 22)) obits |= 0x0000000000400000; if (img(i, j_base + 23)) obits |= 0x0000000000800000; if (img(i, j_base + 24)) obits |= 0x0000000001000000; if (img(i, j_base + 25)) obits |= 0x0000000002000000; if (img(i, j_base + 26)) obits |= 0x0000000004000000; if (img(i, j_base + 27)) obits |= 0x0000000008000000; if (img(i, j_base + 28)) obits |= 0x0000000010000000; if (img(i, j_base + 29)) obits |= 0x0000000020000000; if (img(i, j_base + 30)) obits |= 0x0000000040000000; if (img(i, j_base + 31)) obits |= 0x0000000080000000; if (img(i, j_base + 32)) obits |= 0x0000000100000000; if (img(i, j_base + 33)) obits |= 0x0000000200000000; if (img(i, j_base + 34)) obits |= 0x0000000400000000; if (img(i, j_base + 35)) obits |= 0x0000000800000000; if (img(i, j_base + 36)) obits |= 0x0000001000000000; if (img(i, j_base + 37)) obits |= 0x0000002000000000; if (img(i, j_base + 38)) obits |= 0x0000004000000000; if (img(i, j_base + 39)) obits |= 0x0000008000000000; if (img(i, j_base + 40)) obits |= 0x0000010000000000; if (img(i, j_base + 41)) obits |= 0x0000020000000000; if (img(i, j_base + 42)) obits |= 0x0000040000000000; if (img(i, j_base + 43)) obits |= 0x0000080000000000; if (img(i, j_base + 44)) obits |= 0x0000100000000000; if (img(i, j_base + 45)) obits |= 0x0000200000000000; if (img(i, j_base + 46)) obits |= 0x0000400000000000; if (img(i, j_base + 47)) obits |= 0x0000800000000000; if (img(i, j_base + 48)) obits |= 0x0001000000000000; if (img(i, j_base + 49)) obits |= 0x0002000000000000; if (img(i, j_base + 50)) obits |= 0x0004000000000000; if (img(i, j_base + 51)) obits |= 0x0008000000000000; if (img(i, j_base + 52)) obits |= 0x0010000000000000; if (img(i, j_base + 53)) obits |= 0x0020000000000000; if (img(i, j_base + 54)) obits |= 0x0040000000000000; if (img(i, j_base + 55)) obits |= 0x0080000000000000; if (img(i, j_base + 56)) obits |= 0x0100000000000000; if (img(i, j_base + 57)) obits |= 0x0200000000000000; if (img(i, j_base + 58)) obits |= 0x0400000000000000; if (img(i, j_base + 59)) obits |= 0x0800000000000000; if (img(i, j_base + 60)) obits |= 0x1000000000000000; if (img(i, j_base + 61)) obits |= 0x2000000000000000; if (img(i, j_base + 62)) obits |= 0x4000000000000000; if (img(i, j_base + 63)) obits |= 0x8000000000000000; *mbits = obits, mbits++; } uint64_t obits_final = 0; int jbase = w - (w % 64); for (int j = 0; j < w % 64; j++) { if (img(i, jbase + j)) obits_final |= ((uint64_t)1 << j); } *mbits = obits_final; } } void FindRuns(const uint64_t* bits_start, const uint64_t* bits_flag, int height, int data_width, Run* runs) { Run* runs_up = runs; //process runs in the first merged row const uint64_t* bits = bits_start; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out; } working_bits = *bits; } runs->start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); runs->end_pos = short(basepos + bitpos); runs->label = LabelsSolver::NewLabel(); } out: //process runs in the rests for (int row = 1; row < height; row++) { Run* runs_save = runs; const uint64_t* bits_f = bits_flag + data_width * (row - 1); const uint64_t* bits = bits_start + data_width * row; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out2; } working_bits = *bits; } unsigned short start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); unsigned short end_pos = short(basepos + bitpos); //Skip upper runs end before this slice starts for (; runs_up->end_pos < start_pos; runs_up++); //No upper run meets this if (runs_up->start_pos > end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = LabelsSolver::NewLabel(); continue; }; //Next upper run can not meet this unsigned short cross_st = (start_pos >= runs_up->start_pos) ? start_pos : runs_up->start_pos; if (end_pos <= runs_up->end_pos) { if (is_connected(bits_f, cross_st, end_pos)) runs->label = LabelsSolver::GetLabel(runs_up->label); else runs->label = LabelsSolver::NewLabel(); runs->start_pos = start_pos; runs->end_pos = end_pos; continue; } unsigned label; if (is_connected(bits_f, cross_st, runs_up->end_pos)) label = LabelsSolver::GetLabel(runs_up->label); else label = 0; runs_up++; //Find next upper runs meet this for (; runs_up->start_pos <= end_pos; runs_up++) { if (end_pos <= runs_up->end_pos) { if (is_connected(bits_f, runs_up->start_pos, end_pos)) { unsigned label_other = LabelsSolver::GetLabel(runs_up->label); if (label != label_other) { label = (label) ? LabelsSolver::Merge(label, label_other) : label_other; } } break; } else { if (is_connected(bits_f, runs_up->start_pos, runs_up->end_pos)) { unsigned label_other = LabelsSolver::GetLabel(runs_up->label); if (label != label_other) { label = (label) ? LabelsSolver::Merge(label, label_other) : label_other; } } } } if (label) runs->label = label; else runs->label = LabelsSolver::NewLabel(); runs->start_pos = start_pos; runs->end_pos = end_pos; } out2: runs_up = runs_save; } n_labels_ = LabelsSolver::Flatten(); } void FindRunsMem(const uint64_t* bits_start, const uint64_t* bits_flag, int height, int data_width, Run* runs) { Run* runs_up = runs; //process runs in the first merged row const uint64_t* bits = bits_start; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out; } working_bits = *bits; } runs->start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); runs->end_pos = short(basepos + bitpos); runs->label = LabelsSolver::MemNewLabel(); } out: //process runs in the rests for (int row = 1; row < height; row++) { Run* runs_save = runs; const uint64_t* bits_f = bits_flag + data_width * (row - 1); const uint64_t* bits = bits_start + data_width * row; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out2; } working_bits = *bits; } unsigned short start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); unsigned short end_pos = short(basepos + bitpos); //Skip upper runs end before this slice starts for (; runs_up->end_pos < start_pos; runs_up++); //No upper run meets this if (runs_up->start_pos > end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = LabelsSolver::MemNewLabel(); continue; }; //Next upper run can not meet this unsigned short cross_st = (start_pos >= runs_up->start_pos) ? start_pos : runs_up->start_pos; if (end_pos <= runs_up->end_pos) { if (is_connected(bits_f, cross_st, end_pos)) runs->label = LabelsSolver::MemGetLabel(runs_up->label); else runs->label = LabelsSolver::MemNewLabel(); runs->start_pos = start_pos; runs->end_pos = end_pos; continue; } unsigned label; if (is_connected(bits_f, cross_st, runs_up->end_pos)) label = LabelsSolver::MemGetLabel(runs_up->label); else label = 0; runs_up++; //Find next upper runs meet this for (; runs_up->start_pos <= end_pos; runs_up++) { if (end_pos <= runs_up->end_pos) { if (is_connected(bits_f, runs_up->start_pos, end_pos)) { unsigned label_other = LabelsSolver::MemGetLabel(runs_up->label); if (label != label_other) { label = (label) ? LabelsSolver::MemMerge(label, label_other) : label_other; } } break; } else { if (is_connected(bits_f, runs_up->start_pos, runs_up->end_pos)) { unsigned label_other = LabelsSolver::MemGetLabel(runs_up->label); if (label != label_other) { label = (label) ? LabelsSolver::MemMerge(label, label_other) : label_other; } } } } if (label) runs->label = label; else runs->label = LabelsSolver::MemNewLabel(); runs->start_pos = start_pos; runs->end_pos = end_pos; } out2: runs_up = runs_save; } n_labels_ = LabelsSolver::MemFlatten(); } uint64_t is_connected(const uint64_t* flag_bits, unsigned start, unsigned end) { if (start == end) return flag_bits[start >> 6] & ((uint64_t)1 << (start & 0x0000003F)); unsigned st_base = start >> 6; unsigned st_bits = start & 0x0000003F; unsigned ed_base = (end + 1) >> 6; unsigned ed_bits = (end + 1) & 0x0000003F; if (st_base == ed_base) { uint64_t cutter = (0xFFFFFFFFFFFFFFFF << st_bits) ^ (0xFFFFFFFFFFFFFFFF << ed_bits); return flag_bits[st_base] & cutter; } for (unsigned i = st_base + 1; i < ed_base; i++) { if (flag_bits[i]) return true; } uint64_t cutter_st = 0xFFFFFFFFFFFFFFFF << st_bits; uint64_t cutter_ed = ~(0xFFFFFFFFFFFFFFFF << ed_bits); if (flag_bits[st_base] & cutter_st) return true; if (flag_bits[ed_base] & cutter_ed) return true; return false; } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); int w(img_.cols); int h(img_.rows); int h_merge = h / 2 + h % 2; // Memory allocation for others perf_.start(); img_labels_ = cv::Mat1i(img_.size()); data_compressed.Alloc(h, w); data_merged.Alloc(h_merge, w); data_flags.Alloc(h_merge - 1, w); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(data_compressed.bits, 0, data_compressed.height * data_compressed.data_width * sizeof(uint64_t)); memset(data_merged.bits, 0, data_merged.height * data_merged.data_width * sizeof(uint64_t)); memset(data_flags.bits, 0, data_flags.height * data_flags.data_width * sizeof(uint64_t)); perf_.stop(); double t = perf_.last(); // Run metadata allocation time will be calculated later data_runs.Alloc(h_merge, w); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(data_compressed.bits, 0, data_compressed.height * data_compressed.data_width * sizeof(uint64_t)); memset(data_merged.bits, 0, data_merged.height * data_merged.data_width * sizeof(uint64_t)); memset(data_flags.bits, 0, data_flags.height * data_flags.data_width * sizeof(uint64_t)); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } double Get_RunAllocTime() { Run* run_start = data_runs.runs; Run* run_end = run_start; for (size_t i = 0; i < data_runs.height; i++, run_end++) { for (; run_end->start_pos != 0xFFFF; run_end++); } size_t size_used = (size_t)run_end - (size_t)run_start; Runs runs_temp; perf_.start(); runs_temp.Alloc(data_runs.height, data_runs.width); memset(runs_temp.runs, 0, size_used); perf_.stop(); double t = perf_.last(); perf_.start(); memset(runs_temp.runs, 0, size_used); perf_.stop(); double t_result = t - perf_.last(); runs_temp.Dealloc(); return t_result; } void Dealloc() { LabelsSolver::Dealloc(); data_runs.Dealloc(); data_flags.Dealloc(); data_merged.Dealloc(); data_compressed.Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { int w(img_.cols); int h(img_.rows); //generate merged data int h_merge = h / 2 + h % 2; int data_width = data_compressed.data_width; for (int i = 0; i < h / 2; i++) { uint64_t* pdata_source1 = data_compressed[2 * i]; uint64_t* pdata_source2 = data_compressed[2 * i + 1]; uint64_t* pdata_merged = data_merged[i]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source1[j] | pdata_source2[j]; } if (h % 2) { uint64_t* pdata_source = data_compressed[h - 1]; uint64_t* pdata_merged = data_merged[h / 2]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source[j]; } //generate flag bits for (int i = 0; i < data_flags.height; i++) { uint64_t* bits_u = data_compressed[2 * i + 1]; uint64_t* bits_d = data_compressed[2 * i + 2]; uint64_t* bits_dest = data_flags[i]; uint64_t u0 = bits_u[0]; uint64_t d0 = bits_d[0]; bits_dest[0] = (u0 | (u0 << 1)) & (d0 | (d0 << 1)); for (int j = 1; j < data_width; j++) { uint64_t u = bits_u[j]; uint64_t u_shl = u << 1; uint64_t d = bits_d[j]; uint64_t d_shl = d << 1; if (bits_u[j - 1] & 0x8000000000000000) u_shl |= 1; if (bits_d[j - 1] & 0x8000000000000000) d_shl |= 1; bits_dest[j] = (u | u_shl) & (d | d_shl); } } LabelsSolver::Setup(); FindRuns(data_merged.bits, data_flags.bits, h_merge, data_width, data_runs.runs); } void SecondScan() { int w(img_.cols); int h(img_.rows); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); Run* runs = data_runs.runs; for (int i = 0; i < h / 2; i++) { const uint64_t* const data_u = data_compressed.bits + data_compressed.data_width * 2 * i; const uint64_t* const data_d = data_u + data_compressed.data_width; unsigned* const labels_u = img_labels_.ptr(2 * i); unsigned* const labels_d = img_labels_.ptr(2 * i + 1); for (;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (int j = start_pos; j < end_pos; j++) { if (data_u[j >> 6] & (1ull << (j & 0x3F))) labels_u[j] = label; if (data_d[j >> 6] & (1ull << (j & 0x3F))) labels_d[j] = label; } } } if (h % 2) { unsigned* const labels = img_labels_.ptr(h - 1); for (;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (int j = start_pos; j < end_pos; j++) { labels[j] = label; } } } } }; #endif ================================================ FILE: include/labeling_lee_2021_bmrs_no_zeroinit.h ================================================ // Copyright (c) 2021, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Wonsang Lee // Department of Physics // Konkuk University, Korea #ifndef YACCLAB_LABELING_BMRS_NO_ZEROINIT #define YACCLAB_LABELING_BMRS_NO_ZEROINIT #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" #include "bit_scan_forward.h" template class BMRS_XZ : public Labeling2D { struct Data_Compressed { uint64_t* bits; int height; int width; int data_width; uint64_t* operator [](uint64_t row) { return bits + data_width * row; } void Alloc(int _height, int _width) { height = _height, width = _width; data_width = _width / 64 + 1; bits = new uint64_t[height * data_width]; } void Dealloc() { delete[] bits; } }; struct Run { unsigned short start_pos; unsigned short end_pos; unsigned label; }; struct Runs { Run* runs; unsigned height; unsigned width; void Alloc(int _height, int _width) { height = _height, width = _width; runs = new Run[height * (width / 2 + 2) + 1]; } void Dealloc() { delete[] runs; } }; Data_Compressed data_compressed; Data_Compressed data_merged; Data_Compressed data_flags; Runs data_runs; public: BMRS_XZ() {} void PerformLabeling() { int w(img_.cols); int h(img_.rows); data_compressed.Alloc(h, w); InitCompressedData(data_compressed); //generate merged data int h_merge = h / 2 + h % 2; int data_width = data_compressed.data_width; data_merged.Alloc(h_merge, w); for (int i = 0; i < h / 2; i++) { uint64_t* pdata_source1 = data_compressed[2 * i]; uint64_t* pdata_source2 = data_compressed[2 * i + 1]; uint64_t* pdata_merged = data_merged[i]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source1[j] | pdata_source2[j]; } if (h % 2) { uint64_t* pdata_source = data_compressed[h - 1]; uint64_t* pdata_merged = data_merged[h / 2]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source[j]; } //generate flag bits data_flags.Alloc(h_merge - 1, w); for (int i = 0; i < data_flags.height; i++) { uint64_t* bits_u = data_compressed[2 * i + 1]; uint64_t* bits_d = data_compressed[2 * i + 2]; uint64_t* bits_dest = data_flags[i]; uint64_t u0 = bits_u[0]; uint64_t d0 = bits_d[0]; bits_dest[0] = (u0 | (u0 << 1)) & (d0 | (d0 << 1)); for (int j = 1; j < data_width; j++) { uint64_t u = bits_u[j]; uint64_t u_shl = u << 1; uint64_t d = bits_d[j]; uint64_t d_shl = d << 1; if (bits_u[j - 1] & 0x8000000000000000) u_shl |= 1; if (bits_d[j - 1] & 0x8000000000000000) d_shl |= 1; bits_dest[j] = (u | u_shl) & (d | d_shl); } } //find runs data_runs.Alloc(h_merge, w); LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::Setup(); FindRuns(data_merged.bits, data_flags.bits, h_merge, data_width, data_runs.runs); img_labels_ = cv::Mat1i(img_.size()); // New version (uses 1-byte per pixel input) Run* runs = data_runs.runs; for (int i = 0; i < h / 2; i++) { const uint64_t* const data_u = data_compressed.bits + data_compressed.data_width * 2 * i; const uint64_t* const data_d = data_u + data_compressed.data_width; unsigned* const labels_u = img_labels_.ptr(2 * i); unsigned* const labels_d = img_labels_.ptr(2 * i + 1); for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (int k = j; k < w; k++) labels_u[k] = 0; for (int k = j; k < w; k++) labels_d[k] = 0; runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (; j < start_pos; j++) labels_u[j] = 0, labels_d[j] = 0; for (; j < end_pos; j++) { labels_u[j] = (data_u[j >> 6] & (1ull << (j & 0x3F))) ? label : 0; labels_d[j] = (data_d[j >> 6] & (1ull << (j & 0x3F))) ? label : 0; } } } if (h % 2) { unsigned* const labels = img_labels_.ptr(h - 1); for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (int k = j; k < w; k++) labels[k] = 0; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (; j < start_pos; j++) labels[j] = 0; for (j = start_pos; j < end_pos; j++) labels[j] = label; } } LabelsSolver::Dealloc(); data_runs.Dealloc(); data_flags.Dealloc(); data_merged.Dealloc(); data_compressed.Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); InitCompressedData(data_compressed); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double t_runalloc = Get_RunAllocTime(); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing + t_runalloc); } void PerformLabelingMem(std::vector& accesses) { //Data structure for memory test MemMat img(img_); MemMat img_labels(img_.size(), 0); int w(img_.cols); int h(img_.rows); data_compressed.Alloc(h, w); InitCompressedDataMem(data_compressed, img); //generate merged data int h_merge = h / 2 + h % 2; int data_width = data_compressed.data_width; data_merged.Alloc(h_merge, w); for (int i = 0; i < h / 2; i++) { uint64_t* pdata_source1 = data_compressed[2 * i]; uint64_t* pdata_source2 = data_compressed[2 * i + 1]; uint64_t* pdata_merged = data_merged[i]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source1[j] | pdata_source2[j]; } if (h % 2) { uint64_t* pdata_source = data_compressed[h - 1]; uint64_t* pdata_merged = data_merged[h / 2]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source[j]; } //generate flag bits data_flags.Alloc(h_merge - 1, w); for (int i = 0; i < data_flags.height; i++) { uint64_t* bits_u = data_compressed[2 * i + 1]; uint64_t* bits_d = data_compressed[2 * i + 2]; uint64_t* bits_dest = data_flags[i]; uint64_t u0 = bits_u[0]; uint64_t d0 = bits_d[0]; bits_dest[0] = (u0 | (u0 << 1)) & (d0 | (d0 << 1)); for (int j = 1; j < data_width; j++) { uint64_t u = bits_u[j]; uint64_t u_shl = u << 1; uint64_t d = bits_d[j]; uint64_t d_shl = d << 1; if (bits_u[j - 1] & 0x8000000000000000) u_shl |= 1; if (bits_d[j - 1] & 0x8000000000000000) d_shl |= 1; bits_dest[j] = (u | u_shl) & (d | d_shl); } } //find runs data_runs.Alloc(h, w); LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); FindRunsMem(data_merged.bits, data_flags.bits, h_merge, data_width, data_runs.runs); Run* runs = data_runs.runs; for (int i = 0; i < h / 2; i++) { int i_u = 2 * i; int i_d = i_u + 1; for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (int k = j; k < w; k++) img_labels(i_u, k) = 0; for (int k = j; k < w; k++) img_labels(i_d, k) = 0; runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::MemGetLabel(runs->label); for (; j < start_pos; j++) img_labels(i_u, j) = 0, img_labels(i_d, j) = 0; for (; j < end_pos; j++) { img_labels(i_u, j) = img(i_u, j) ? label : 0; img_labels(i_d, j) = img(i_d, j) ? label : 0; } } } if (h % 2) { int i = h - 1; for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (int k = j; k < w; k++) img_labels(i, j) = 0; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::MemGetLabel(runs->label); for (; j < start_pos; j++) img_labels(i, j) = 0; for (j = start_pos; j < end_pos; j++) img_labels(i, j) = label; } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); data_runs.Dealloc(); data_flags.Dealloc(); data_merged.Dealloc(); data_compressed.Dealloc(); } private: void InitCompressedData(Data_Compressed& data_compressed) { int w(img_.cols); int h(img_.rows); for (int i = 0; i < h; i++) { uint64_t* mbits = data_compressed[i]; uchar* source = img_.ptr(i); for (int j = 0; j < w >> 6; j++) { uchar* base = source + (j << 6); uint64_t obits = 0; if (base[0]) obits |= 0x0000000000000001; if (base[1]) obits |= 0x0000000000000002; if (base[2]) obits |= 0x0000000000000004; if (base[3]) obits |= 0x0000000000000008; if (base[4]) obits |= 0x0000000000000010; if (base[5]) obits |= 0x0000000000000020; if (base[6]) obits |= 0x0000000000000040; if (base[7]) obits |= 0x0000000000000080; if (base[8]) obits |= 0x0000000000000100; if (base[9]) obits |= 0x0000000000000200; if (base[10]) obits |= 0x0000000000000400; if (base[11]) obits |= 0x0000000000000800; if (base[12]) obits |= 0x0000000000001000; if (base[13]) obits |= 0x0000000000002000; if (base[14]) obits |= 0x0000000000004000; if (base[15]) obits |= 0x0000000000008000; if (base[16]) obits |= 0x0000000000010000; if (base[17]) obits |= 0x0000000000020000; if (base[18]) obits |= 0x0000000000040000; if (base[19]) obits |= 0x0000000000080000; if (base[20]) obits |= 0x0000000000100000; if (base[21]) obits |= 0x0000000000200000; if (base[22]) obits |= 0x0000000000400000; if (base[23]) obits |= 0x0000000000800000; if (base[24]) obits |= 0x0000000001000000; if (base[25]) obits |= 0x0000000002000000; if (base[26]) obits |= 0x0000000004000000; if (base[27]) obits |= 0x0000000008000000; if (base[28]) obits |= 0x0000000010000000; if (base[29]) obits |= 0x0000000020000000; if (base[30]) obits |= 0x0000000040000000; if (base[31]) obits |= 0x0000000080000000; if (base[32]) obits |= 0x0000000100000000; if (base[33]) obits |= 0x0000000200000000; if (base[34]) obits |= 0x0000000400000000; if (base[35]) obits |= 0x0000000800000000; if (base[36]) obits |= 0x0000001000000000; if (base[37]) obits |= 0x0000002000000000; if (base[38]) obits |= 0x0000004000000000; if (base[39]) obits |= 0x0000008000000000; if (base[40]) obits |= 0x0000010000000000; if (base[41]) obits |= 0x0000020000000000; if (base[42]) obits |= 0x0000040000000000; if (base[43]) obits |= 0x0000080000000000; if (base[44]) obits |= 0x0000100000000000; if (base[45]) obits |= 0x0000200000000000; if (base[46]) obits |= 0x0000400000000000; if (base[47]) obits |= 0x0000800000000000; if (base[48]) obits |= 0x0001000000000000; if (base[49]) obits |= 0x0002000000000000; if (base[50]) obits |= 0x0004000000000000; if (base[51]) obits |= 0x0008000000000000; if (base[52]) obits |= 0x0010000000000000; if (base[53]) obits |= 0x0020000000000000; if (base[54]) obits |= 0x0040000000000000; if (base[55]) obits |= 0x0080000000000000; if (base[56]) obits |= 0x0100000000000000; if (base[57]) obits |= 0x0200000000000000; if (base[58]) obits |= 0x0400000000000000; if (base[59]) obits |= 0x0800000000000000; if (base[60]) obits |= 0x1000000000000000; if (base[61]) obits |= 0x2000000000000000; if (base[62]) obits |= 0x4000000000000000; if (base[63]) obits |= 0x8000000000000000; *mbits = obits, mbits++; } uint64_t obits_final = 0; int jbase = w - (w % 64); for (int j = 0; j < w % 64; j++) { if (source[jbase + j]) obits_final |= ((uint64_t)1 << j); } *mbits = obits_final; } } void InitCompressedDataMem(Data_Compressed& data_compressed, MemMat& img) { int w(img_.cols); int h(img_.rows); for (int i = 0; i < h; i++) { uint64_t* mbits = data_compressed[i]; uchar* source = img_.ptr(i); for (int j = 0; j < w >> 6; j++) { int j_base = (j << 6); uint64_t obits = 0; if (img(i, j_base + 0)) obits |= 0x0000000000000001; if (img(i, j_base + 1)) obits |= 0x0000000000000002; if (img(i, j_base + 2)) obits |= 0x0000000000000004; if (img(i, j_base + 3)) obits |= 0x0000000000000008; if (img(i, j_base + 4)) obits |= 0x0000000000000010; if (img(i, j_base + 5)) obits |= 0x0000000000000020; if (img(i, j_base + 6)) obits |= 0x0000000000000040; if (img(i, j_base + 7)) obits |= 0x0000000000000080; if (img(i, j_base + 8)) obits |= 0x0000000000000100; if (img(i, j_base + 9)) obits |= 0x0000000000000200; if (img(i, j_base + 10)) obits |= 0x0000000000000400; if (img(i, j_base + 11)) obits |= 0x0000000000000800; if (img(i, j_base + 12)) obits |= 0x0000000000001000; if (img(i, j_base + 13)) obits |= 0x0000000000002000; if (img(i, j_base + 14)) obits |= 0x0000000000004000; if (img(i, j_base + 15)) obits |= 0x0000000000008000; if (img(i, j_base + 16)) obits |= 0x0000000000010000; if (img(i, j_base + 17)) obits |= 0x0000000000020000; if (img(i, j_base + 18)) obits |= 0x0000000000040000; if (img(i, j_base + 19)) obits |= 0x0000000000080000; if (img(i, j_base + 20)) obits |= 0x0000000000100000; if (img(i, j_base + 21)) obits |= 0x0000000000200000; if (img(i, j_base + 22)) obits |= 0x0000000000400000; if (img(i, j_base + 23)) obits |= 0x0000000000800000; if (img(i, j_base + 24)) obits |= 0x0000000001000000; if (img(i, j_base + 25)) obits |= 0x0000000002000000; if (img(i, j_base + 26)) obits |= 0x0000000004000000; if (img(i, j_base + 27)) obits |= 0x0000000008000000; if (img(i, j_base + 28)) obits |= 0x0000000010000000; if (img(i, j_base + 29)) obits |= 0x0000000020000000; if (img(i, j_base + 30)) obits |= 0x0000000040000000; if (img(i, j_base + 31)) obits |= 0x0000000080000000; if (img(i, j_base + 32)) obits |= 0x0000000100000000; if (img(i, j_base + 33)) obits |= 0x0000000200000000; if (img(i, j_base + 34)) obits |= 0x0000000400000000; if (img(i, j_base + 35)) obits |= 0x0000000800000000; if (img(i, j_base + 36)) obits |= 0x0000001000000000; if (img(i, j_base + 37)) obits |= 0x0000002000000000; if (img(i, j_base + 38)) obits |= 0x0000004000000000; if (img(i, j_base + 39)) obits |= 0x0000008000000000; if (img(i, j_base + 40)) obits |= 0x0000010000000000; if (img(i, j_base + 41)) obits |= 0x0000020000000000; if (img(i, j_base + 42)) obits |= 0x0000040000000000; if (img(i, j_base + 43)) obits |= 0x0000080000000000; if (img(i, j_base + 44)) obits |= 0x0000100000000000; if (img(i, j_base + 45)) obits |= 0x0000200000000000; if (img(i, j_base + 46)) obits |= 0x0000400000000000; if (img(i, j_base + 47)) obits |= 0x0000800000000000; if (img(i, j_base + 48)) obits |= 0x0001000000000000; if (img(i, j_base + 49)) obits |= 0x0002000000000000; if (img(i, j_base + 50)) obits |= 0x0004000000000000; if (img(i, j_base + 51)) obits |= 0x0008000000000000; if (img(i, j_base + 52)) obits |= 0x0010000000000000; if (img(i, j_base + 53)) obits |= 0x0020000000000000; if (img(i, j_base + 54)) obits |= 0x0040000000000000; if (img(i, j_base + 55)) obits |= 0x0080000000000000; if (img(i, j_base + 56)) obits |= 0x0100000000000000; if (img(i, j_base + 57)) obits |= 0x0200000000000000; if (img(i, j_base + 58)) obits |= 0x0400000000000000; if (img(i, j_base + 59)) obits |= 0x0800000000000000; if (img(i, j_base + 60)) obits |= 0x1000000000000000; if (img(i, j_base + 61)) obits |= 0x2000000000000000; if (img(i, j_base + 62)) obits |= 0x4000000000000000; if (img(i, j_base + 63)) obits |= 0x8000000000000000; *mbits = obits, mbits++; } uint64_t obits_final = 0; int jbase = w - (w % 64); for (int j = 0; j < w % 64; j++) { if (img(i, jbase + j)) obits_final |= ((uint64_t)1 << j); } *mbits = obits_final; } } void FindRuns(const uint64_t* bits_start, const uint64_t* bits_flag, int height, int data_width, Run* runs) { Run* runs_up = runs; //process runs in the first merged row const uint64_t* bits = bits_start; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out; } working_bits = *bits; } runs->start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); runs->end_pos = short(basepos + bitpos); runs->label = LabelsSolver::NewLabel(); } out: //process runs in the rests for (int row = 1; row < height; row++) { Run* runs_save = runs; const uint64_t* bits_f = bits_flag + data_width * (row - 1); const uint64_t* bits = bits_start + data_width * row; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out2; } working_bits = *bits; } unsigned short start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); unsigned short end_pos = short(basepos + bitpos); //Skip upper runs end before this slice starts for (; runs_up->end_pos < start_pos; runs_up++); //No upper run meets this if (runs_up->start_pos > end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = LabelsSolver::NewLabel(); continue; }; //Next upper run can not meet this unsigned short cross_st = (start_pos >= runs_up->start_pos) ? start_pos : runs_up->start_pos; if (end_pos <= runs_up->end_pos) { if (is_connected(bits_f, cross_st, end_pos)) runs->label = LabelsSolver::GetLabel(runs_up->label); else runs->label = LabelsSolver::NewLabel(); runs->start_pos = start_pos; runs->end_pos = end_pos; continue; } unsigned label; if (is_connected(bits_f, cross_st, runs_up->end_pos)) label = LabelsSolver::GetLabel(runs_up->label); else label = 0; runs_up++; //Find next upper runs meet this for (; runs_up->start_pos <= end_pos; runs_up++) { if (end_pos <= runs_up->end_pos) { if (is_connected(bits_f, runs_up->start_pos, end_pos)) { unsigned label_other = LabelsSolver::GetLabel(runs_up->label); if (label != label_other) { label = (label) ? LabelsSolver::Merge(label, label_other) : label_other; } } break; } else { if (is_connected(bits_f, runs_up->start_pos, runs_up->end_pos)) { unsigned label_other = LabelsSolver::GetLabel(runs_up->label); if (label != label_other) { label = (label) ? LabelsSolver::Merge(label, label_other) : label_other; } } } } if (label) runs->label = label; else runs->label = LabelsSolver::NewLabel(); runs->start_pos = start_pos; runs->end_pos = end_pos; } out2: runs_up = runs_save; } n_labels_ = LabelsSolver::Flatten(); } void FindRunsMem(const uint64_t* bits_start, const uint64_t* bits_flag, int height, int data_width, Run* runs) { Run* runs_up = runs; //process runs in the first merged row const uint64_t* bits = bits_start; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out; } working_bits = *bits; } runs->start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); runs->end_pos = short(basepos + bitpos); runs->label = LabelsSolver::MemNewLabel(); } out: //process runs in the rests for (int row = 1; row < height; row++) { Run* runs_save = runs; const uint64_t* bits_f = bits_flag + data_width * (row - 1); const uint64_t* bits = bits_start + data_width * row; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out2; } working_bits = *bits; } unsigned short start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); unsigned short end_pos = short(basepos + bitpos); //Skip upper runs end before this slice starts for (; runs_up->end_pos < start_pos; runs_up++); //No upper run meets this if (runs_up->start_pos > end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = LabelsSolver::MemNewLabel(); continue; }; //Next upper run can not meet this unsigned short cross_st = (start_pos >= runs_up->start_pos) ? start_pos : runs_up->start_pos; if (end_pos <= runs_up->end_pos) { if (is_connected(bits_f, cross_st, end_pos)) runs->label = LabelsSolver::MemGetLabel(runs_up->label); else runs->label = LabelsSolver::MemNewLabel(); runs->start_pos = start_pos; runs->end_pos = end_pos; continue; } unsigned label; if (is_connected(bits_f, cross_st, runs_up->end_pos)) label = LabelsSolver::MemGetLabel(runs_up->label); else label = 0; runs_up++; //Find next upper runs meet this for (; runs_up->start_pos <= end_pos; runs_up++) { if (end_pos <= runs_up->end_pos) { if (is_connected(bits_f, runs_up->start_pos, end_pos)) { unsigned label_other = LabelsSolver::MemGetLabel(runs_up->label); if (label != label_other) { label = (label) ? LabelsSolver::MemMerge(label, label_other) : label_other; } } break; } else { if (is_connected(bits_f, runs_up->start_pos, runs_up->end_pos)) { unsigned label_other = LabelsSolver::MemGetLabel(runs_up->label); if (label != label_other) { label = (label) ? LabelsSolver::MemMerge(label, label_other) : label_other; } } } } if (label) runs->label = label; else runs->label = LabelsSolver::MemNewLabel(); runs->start_pos = start_pos; runs->end_pos = end_pos; } out2: runs_up = runs_save; } n_labels_ = LabelsSolver::MemFlatten(); } uint64_t is_connected(const uint64_t* flag_bits, unsigned start, unsigned end) { if (start == end) return flag_bits[start >> 6] & ((uint64_t)1 << (start & 0x0000003F)); unsigned st_base = start >> 6; unsigned st_bits = start & 0x0000003F; unsigned ed_base = (end + 1) >> 6; unsigned ed_bits = (end + 1) & 0x0000003F; if (st_base == ed_base) { uint64_t cutter = (0xFFFFFFFFFFFFFFFF << st_bits) ^ (0xFFFFFFFFFFFFFFFF << ed_bits); return flag_bits[st_base] & cutter; } for (unsigned i = st_base + 1; i < ed_base; i++) { if (flag_bits[i]) return true; } uint64_t cutter_st = 0xFFFFFFFFFFFFFFFF << st_bits; uint64_t cutter_ed = ~(0xFFFFFFFFFFFFFFFF << ed_bits); if (flag_bits[st_base] & cutter_st) return true; if (flag_bits[ed_base] & cutter_ed) return true; return false; } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); int w(img_.cols); int h(img_.rows); int h_merge = h / 2 + h % 2; // Memory allocation for others perf_.start(); img_labels_ = cv::Mat1i(img_.size()); data_compressed.Alloc(h, w); data_merged.Alloc(h_merge, w); data_flags.Alloc(h_merge - 1, w); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(data_compressed.bits, 0, data_compressed.height * data_compressed.data_width * sizeof(uint64_t)); memset(data_merged.bits, 0, data_merged.height * data_merged.data_width * sizeof(uint64_t)); memset(data_flags.bits, 0, data_flags.height * data_flags.data_width * sizeof(uint64_t)); perf_.stop(); double t = perf_.last(); // Run metadata allocation time will be calculated later data_runs.Alloc(h_merge, w); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(data_compressed.bits, 0, data_compressed.height * data_compressed.data_width * sizeof(uint64_t)); memset(data_merged.bits, 0, data_merged.height * data_merged.data_width * sizeof(uint64_t)); memset(data_flags.bits, 0, data_flags.height * data_flags.data_width * sizeof(uint64_t)); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } double Get_RunAllocTime() { Run* run_start = data_runs.runs; Run* run_end = run_start; for (size_t i = 0; i < data_runs.height; i++, run_end++) { for (; run_end->start_pos != 0xFFFF; run_end++); } size_t size_used = (size_t)run_end - (size_t)run_start; Runs runs_temp; perf_.start(); runs_temp.Alloc(data_runs.height, data_runs.width); memset(runs_temp.runs, 0, size_used); perf_.stop(); double t = perf_.last(); perf_.start(); memset(runs_temp.runs, 0, size_used); perf_.stop(); double t_result = t - perf_.last(); runs_temp.Dealloc(); return t_result; } void Dealloc() { LabelsSolver::Dealloc(); data_runs.Dealloc(); data_flags.Dealloc(); data_merged.Dealloc(); data_compressed.Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { int w(img_.cols); int h(img_.rows); //generate merged data int h_merge = h / 2 + h % 2; int data_width = data_compressed.data_width; for (int i = 0; i < h / 2; i++) { uint64_t* pdata_source1 = data_compressed[2 * i]; uint64_t* pdata_source2 = data_compressed[2 * i + 1]; uint64_t* pdata_merged = data_merged[i]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source1[j] | pdata_source2[j]; } if (h % 2) { uint64_t* pdata_source = data_compressed[h - 1]; uint64_t* pdata_merged = data_merged[h / 2]; for (int j = 0; j < data_width; j++) pdata_merged[j] = pdata_source[j]; } //generate flag bits for (int i = 0; i < data_flags.height; i++) { uint64_t* bits_u = data_compressed[2 * i + 1]; uint64_t* bits_d = data_compressed[2 * i + 2]; uint64_t* bits_dest = data_flags[i]; uint64_t u0 = bits_u[0]; uint64_t d0 = bits_d[0]; bits_dest[0] = (u0 | (u0 << 1)) & (d0 | (d0 << 1)); for (int j = 1; j < data_width; j++) { uint64_t u = bits_u[j]; uint64_t u_shl = u << 1; uint64_t d = bits_d[j]; uint64_t d_shl = d << 1; if (bits_u[j - 1] & 0x8000000000000000) u_shl |= 1; if (bits_d[j - 1] & 0x8000000000000000) d_shl |= 1; bits_dest[j] = (u | u_shl) & (d | d_shl); } } LabelsSolver::Setup(); FindRuns(data_merged.bits, data_flags.bits, h_merge, data_width, data_runs.runs); } void SecondScan() { int w(img_.cols); int h(img_.rows); Run* runs = data_runs.runs; for (int i = 0; i < h / 2; i++) { const uint64_t* const data_u = data_compressed.bits + data_compressed.data_width * 2 * i; const uint64_t* const data_d = data_u + data_compressed.data_width; unsigned* const labels_u = img_labels_.ptr(2 * i); unsigned* const labels_d = img_labels_.ptr(2 * i + 1); for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (int k = j; k < w; k++) labels_u[k] = 0; for (int k = j; k < w; k++) labels_d[k] = 0; runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (; j < start_pos; j++) labels_u[j] = 0, labels_d[j] = 0; for (; j < end_pos; j++) { labels_u[j] = (data_u[j >> 6] & (1ull << (j & 0x3F))) ? label : 0; labels_d[j] = (data_d[j >> 6] & (1ull << (j & 0x3F))) ? label : 0; } } } if (h % 2) { unsigned* const labels = img_labels_.ptr(h - 1); for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (int k = j; k < w; k++) labels[k] = 0; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (; j < start_pos; j++) labels[j] = 0; for (j = start_pos; j < end_pos; j++) labels[j] = label; } } } }; #endif ================================================ FILE: include/labeling_lee_2021_brts.h ================================================ // Copyright (c) 2021, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Wonsang Lee // Department of Physics // Konkuk University, Korea #ifndef YACCLAB_LABELING_BRTS #define YACCLAB_LABELING_BRTS #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" #include "bit_scan_forward.h" template class BRTS : public Labeling2D { struct Data_Compressed { uint64_t* bits; int height; int width; int data_width; uint64_t* operator [](uint64_t row) { return bits + data_width * row; } void Alloc(int _height, int _width) { height = _height, width = _width; data_width = _width / 64 + 1; bits = new uint64_t[height * data_width]; } void Dealloc() { delete[] bits; } }; struct Run { unsigned short start_pos; unsigned short end_pos; unsigned label; }; struct Runs { Run* runs; unsigned height; unsigned width; void Alloc(int _height, int _width) { height = _height, width = _width; runs = new Run[height * (width / 2 + 2) + 1]; } void Dealloc() { delete[] runs; } }; Data_Compressed data_compressed; Runs data_runs; public: BRTS() {} void PerformLabeling() { int w(img_.cols); int h(img_.rows); data_compressed.Alloc(h, w); InitCompressedData(data_compressed); //find runs data_runs.Alloc(h, w); LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::Setup(); FindRuns(data_compressed.bits, h, data_compressed.data_width, data_runs.runs); Run* runs = data_runs.runs; img_labels_ = cv::Mat1i(img_.size(), 0); // (0-init) for (int i = 0; i < h; i++) { unsigned* const labels = img_labels_.ptr(i); for (;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (int j = start_pos; j < end_pos; j++) { labels[j] = label; } } } LabelsSolver::Dealloc(); data_runs.Dealloc(); data_compressed.Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); InitCompressedData(data_compressed); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double t_runalloc = Get_RunAllocTime(); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing + t_runalloc); } void PerformLabelingMem(std::vector& accesses) { //Data structure for memory test MemMat img(img_); MemMat img_labels(img_.size(), 0); int w(img_.cols); int h(img_.rows); data_compressed.Alloc(h, w); InitCompressedDataMem(data_compressed, img); //find runs data_runs.Alloc(h, w); LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); FindRunsMem(data_compressed.bits, h, data_compressed.data_width, data_runs.runs); Run* runs = data_runs.runs; for (int i = 0; i < h; i++) { for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (; j < w; j++) img_labels(i, j) = 0; runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::MemGetLabel(runs->label); for (; j < start_pos; j++) img_labels(i, j) = 0; for (; j < end_pos; j++) img_labels(i, j) = label; } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); data_runs.Dealloc(); data_compressed.Dealloc(); } private: void InitCompressedData(Data_Compressed& data_compressed) { int w(img_.cols); int h(img_.rows); for (int i = 0; i < h; i++) { uint64_t* mbits = data_compressed[i]; uchar* source = img_.ptr(i); for (int j = 0; j < w >> 6; j++) { uchar* base = source + (j << 6); uint64_t obits = 0; if (base[0]) obits |= 0x0000000000000001; if (base[1]) obits |= 0x0000000000000002; if (base[2]) obits |= 0x0000000000000004; if (base[3]) obits |= 0x0000000000000008; if (base[4]) obits |= 0x0000000000000010; if (base[5]) obits |= 0x0000000000000020; if (base[6]) obits |= 0x0000000000000040; if (base[7]) obits |= 0x0000000000000080; if (base[8]) obits |= 0x0000000000000100; if (base[9]) obits |= 0x0000000000000200; if (base[10]) obits |= 0x0000000000000400; if (base[11]) obits |= 0x0000000000000800; if (base[12]) obits |= 0x0000000000001000; if (base[13]) obits |= 0x0000000000002000; if (base[14]) obits |= 0x0000000000004000; if (base[15]) obits |= 0x0000000000008000; if (base[16]) obits |= 0x0000000000010000; if (base[17]) obits |= 0x0000000000020000; if (base[18]) obits |= 0x0000000000040000; if (base[19]) obits |= 0x0000000000080000; if (base[20]) obits |= 0x0000000000100000; if (base[21]) obits |= 0x0000000000200000; if (base[22]) obits |= 0x0000000000400000; if (base[23]) obits |= 0x0000000000800000; if (base[24]) obits |= 0x0000000001000000; if (base[25]) obits |= 0x0000000002000000; if (base[26]) obits |= 0x0000000004000000; if (base[27]) obits |= 0x0000000008000000; if (base[28]) obits |= 0x0000000010000000; if (base[29]) obits |= 0x0000000020000000; if (base[30]) obits |= 0x0000000040000000; if (base[31]) obits |= 0x0000000080000000; if (base[32]) obits |= 0x0000000100000000; if (base[33]) obits |= 0x0000000200000000; if (base[34]) obits |= 0x0000000400000000; if (base[35]) obits |= 0x0000000800000000; if (base[36]) obits |= 0x0000001000000000; if (base[37]) obits |= 0x0000002000000000; if (base[38]) obits |= 0x0000004000000000; if (base[39]) obits |= 0x0000008000000000; if (base[40]) obits |= 0x0000010000000000; if (base[41]) obits |= 0x0000020000000000; if (base[42]) obits |= 0x0000040000000000; if (base[43]) obits |= 0x0000080000000000; if (base[44]) obits |= 0x0000100000000000; if (base[45]) obits |= 0x0000200000000000; if (base[46]) obits |= 0x0000400000000000; if (base[47]) obits |= 0x0000800000000000; if (base[48]) obits |= 0x0001000000000000; if (base[49]) obits |= 0x0002000000000000; if (base[50]) obits |= 0x0004000000000000; if (base[51]) obits |= 0x0008000000000000; if (base[52]) obits |= 0x0010000000000000; if (base[53]) obits |= 0x0020000000000000; if (base[54]) obits |= 0x0040000000000000; if (base[55]) obits |= 0x0080000000000000; if (base[56]) obits |= 0x0100000000000000; if (base[57]) obits |= 0x0200000000000000; if (base[58]) obits |= 0x0400000000000000; if (base[59]) obits |= 0x0800000000000000; if (base[60]) obits |= 0x1000000000000000; if (base[61]) obits |= 0x2000000000000000; if (base[62]) obits |= 0x4000000000000000; if (base[63]) obits |= 0x8000000000000000; *mbits = obits, mbits++; } uint64_t obits_final = 0; int jbase = w - (w % 64); for (int j = 0; j < w % 64; j++) { if (source[jbase + j]) obits_final |= ((uint64_t)1 << j); } *mbits = obits_final; } } void InitCompressedDataMem(Data_Compressed& data_compressed, MemMat& img) { int w(img_.cols); int h(img_.rows); for (int i = 0; i < h; i++) { uint64_t* mbits = data_compressed[i]; uchar* source = img_.ptr(i); for (int j = 0; j < w >> 6; j++) { int j_base = (j << 6); uint64_t obits = 0; if (img(i, j_base + 0)) obits |= 0x0000000000000001; if (img(i, j_base + 1)) obits |= 0x0000000000000002; if (img(i, j_base + 2)) obits |= 0x0000000000000004; if (img(i, j_base + 3)) obits |= 0x0000000000000008; if (img(i, j_base + 4)) obits |= 0x0000000000000010; if (img(i, j_base + 5)) obits |= 0x0000000000000020; if (img(i, j_base + 6)) obits |= 0x0000000000000040; if (img(i, j_base + 7)) obits |= 0x0000000000000080; if (img(i, j_base + 8)) obits |= 0x0000000000000100; if (img(i, j_base + 9)) obits |= 0x0000000000000200; if (img(i, j_base + 10)) obits |= 0x0000000000000400; if (img(i, j_base + 11)) obits |= 0x0000000000000800; if (img(i, j_base + 12)) obits |= 0x0000000000001000; if (img(i, j_base + 13)) obits |= 0x0000000000002000; if (img(i, j_base + 14)) obits |= 0x0000000000004000; if (img(i, j_base + 15)) obits |= 0x0000000000008000; if (img(i, j_base + 16)) obits |= 0x0000000000010000; if (img(i, j_base + 17)) obits |= 0x0000000000020000; if (img(i, j_base + 18)) obits |= 0x0000000000040000; if (img(i, j_base + 19)) obits |= 0x0000000000080000; if (img(i, j_base + 20)) obits |= 0x0000000000100000; if (img(i, j_base + 21)) obits |= 0x0000000000200000; if (img(i, j_base + 22)) obits |= 0x0000000000400000; if (img(i, j_base + 23)) obits |= 0x0000000000800000; if (img(i, j_base + 24)) obits |= 0x0000000001000000; if (img(i, j_base + 25)) obits |= 0x0000000002000000; if (img(i, j_base + 26)) obits |= 0x0000000004000000; if (img(i, j_base + 27)) obits |= 0x0000000008000000; if (img(i, j_base + 28)) obits |= 0x0000000010000000; if (img(i, j_base + 29)) obits |= 0x0000000020000000; if (img(i, j_base + 30)) obits |= 0x0000000040000000; if (img(i, j_base + 31)) obits |= 0x0000000080000000; if (img(i, j_base + 32)) obits |= 0x0000000100000000; if (img(i, j_base + 33)) obits |= 0x0000000200000000; if (img(i, j_base + 34)) obits |= 0x0000000400000000; if (img(i, j_base + 35)) obits |= 0x0000000800000000; if (img(i, j_base + 36)) obits |= 0x0000001000000000; if (img(i, j_base + 37)) obits |= 0x0000002000000000; if (img(i, j_base + 38)) obits |= 0x0000004000000000; if (img(i, j_base + 39)) obits |= 0x0000008000000000; if (img(i, j_base + 40)) obits |= 0x0000010000000000; if (img(i, j_base + 41)) obits |= 0x0000020000000000; if (img(i, j_base + 42)) obits |= 0x0000040000000000; if (img(i, j_base + 43)) obits |= 0x0000080000000000; if (img(i, j_base + 44)) obits |= 0x0000100000000000; if (img(i, j_base + 45)) obits |= 0x0000200000000000; if (img(i, j_base + 46)) obits |= 0x0000400000000000; if (img(i, j_base + 47)) obits |= 0x0000800000000000; if (img(i, j_base + 48)) obits |= 0x0001000000000000; if (img(i, j_base + 49)) obits |= 0x0002000000000000; if (img(i, j_base + 50)) obits |= 0x0004000000000000; if (img(i, j_base + 51)) obits |= 0x0008000000000000; if (img(i, j_base + 52)) obits |= 0x0010000000000000; if (img(i, j_base + 53)) obits |= 0x0020000000000000; if (img(i, j_base + 54)) obits |= 0x0040000000000000; if (img(i, j_base + 55)) obits |= 0x0080000000000000; if (img(i, j_base + 56)) obits |= 0x0100000000000000; if (img(i, j_base + 57)) obits |= 0x0200000000000000; if (img(i, j_base + 58)) obits |= 0x0400000000000000; if (img(i, j_base + 59)) obits |= 0x0800000000000000; if (img(i, j_base + 60)) obits |= 0x1000000000000000; if (img(i, j_base + 61)) obits |= 0x2000000000000000; if (img(i, j_base + 62)) obits |= 0x4000000000000000; if (img(i, j_base + 63)) obits |= 0x8000000000000000; *mbits = obits, mbits++; } uint64_t obits_final = 0; int jbase = w - (w % 64); for (int j = 0; j < w % 64; j++) { if (img(i, jbase + j)) obits_final |= ((uint64_t)1 << j); } *mbits = obits_final; } } void FindRuns(const uint64_t* bits_start, int height, int data_width, Run* runs) { Run* runs_up = runs; //process runs in the first row const uint64_t* bits = bits_start; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out; } working_bits = *bits; } runs->start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); runs->end_pos = short(basepos + bitpos); runs->label = LabelsSolver::NewLabel(); } out: //process runs in the rests for (int row = 1; row < height; row++) { Run* runs_save = runs; const uint64_t* bits = bits_start + data_width * row; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out2; } working_bits = *bits; } unsigned short start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); unsigned short end_pos = short(basepos + bitpos); //Skip upper runs end before this run starts for (; runs_up->end_pos < start_pos; runs_up++); //No upper run meets this if (runs_up->start_pos > end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = LabelsSolver::NewLabel(); continue; }; unsigned label = LabelsSolver::GetLabel(runs_up->label); //Next upper run can not meet this if (end_pos <= runs_up->end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = label; continue; } //Find next upper runs meet this runs_up++; for (; runs_up->start_pos <= end_pos; runs_up++) { unsigned label_other = LabelsSolver::GetLabel(runs_up->label); if (label != label_other) label = LabelsSolver::Merge(label, label_other); if (end_pos <= runs_up->end_pos) break; } runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = label; } out2: runs_up = runs_save; } n_labels_ = LabelsSolver::Flatten(); } void FindRunsMem(const uint64_t* bits_start, int height, int data_width, Run* runs) { Run* runs_up = runs; //process runs in the first row const uint64_t* bits = bits_start; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out; } working_bits = *bits; } runs->start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); runs->end_pos = short(basepos + bitpos); runs->label = LabelsSolver::MemNewLabel(); } out: //process runs in the rests for (int row = 1; row < height; row++) { Run* runs_save = runs; const uint64_t* bits = bits_start + data_width * row; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out2; } working_bits = *bits; } unsigned short start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); unsigned short end_pos = short(basepos + bitpos); //Skip upper runs end before this run starts for (; runs_up->end_pos < start_pos; runs_up++); //No upper run meets this if (runs_up->start_pos > end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = LabelsSolver::MemNewLabel(); continue; }; unsigned label = LabelsSolver::MemGetLabel(runs_up->label); //Next upper run can not meet this if (end_pos <= runs_up->end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = label; continue; } //Find next upper runs meet this runs_up++; for (; runs_up->start_pos <= end_pos; runs_up++) { unsigned label_other = LabelsSolver::MemGetLabel(runs_up->label); if (label != label_other) label = LabelsSolver::MemMerge(label, label_other); if (end_pos <= runs_up->end_pos) break; } runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = label; } out2: runs_up = runs_save; } n_labels_ = LabelsSolver::MemFlatten(); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for others perf_.start(); img_labels_ = cv::Mat1i(img_.size()); data_compressed.Alloc(img_.rows, img_.cols); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(data_compressed.bits, 0, data_compressed.height * data_compressed.data_width * sizeof(uint64_t)); perf_.stop(); double t = perf_.last(); // Run metadata allocation time will be calculated later data_runs.Alloc(img_.rows, img_.cols); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(data_compressed.bits, 0, data_compressed.height * data_compressed.data_width * sizeof(uint64_t)); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } double Get_RunAllocTime() { Run* run_start = data_runs.runs; Run* run_end = run_start; for (size_t i = 0; i < data_runs.height; i++, run_end++) { for (; run_end->start_pos != 0xFFFF; run_end++); } size_t size_used = (size_t)run_end - (size_t)run_start; Runs runs_temp; perf_.start(); runs_temp.Alloc(data_runs.height, data_runs.width); memset(runs_temp.runs, 0, size_used); perf_.stop(); double t = perf_.last(); perf_.start(); memset(runs_temp.runs, 0, size_used); perf_.stop(); double t_result = t - perf_.last(); runs_temp.Dealloc(); return t_result; } void Dealloc() { LabelsSolver::Dealloc(); data_runs.Dealloc(); data_compressed.Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); FindRuns(data_compressed.bits, img_.rows, data_compressed.data_width, data_runs.runs); } void SecondScan() { int w(img_.cols); int h(img_.rows); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); Run* runs = data_runs.runs; for (int i = 0; i < h; i++) { unsigned* const labels = img_labels_.ptr(i); for (;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (int j = start_pos; j < end_pos; j++) labels[j] = label; } } } }; #endif ================================================ FILE: include/labeling_lee_2021_brts_no_zeroinit.h ================================================ // Copyright (c) 2021, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Wonsang Lee // Department of Physics // Konkuk University, Korea #ifndef YACCLAB_LABELING_BRTS_NO_ZEROINIT #define YACCLAB_LABELING_BRTS_NO_ZEROINIT #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" #include "bit_scan_forward.h" template class BRTS_XZ : public Labeling2D { struct Data_Compressed { uint64_t* bits; int height; int width; int data_width; uint64_t* operator [](uint64_t row) { return bits + data_width * row; } void Alloc(int _height, int _width) { height = _height, width = _width; data_width = _width / 64 + 1; bits = new uint64_t[height * data_width]; } void Dealloc() { delete[] bits; } }; struct Run { unsigned short start_pos; unsigned short end_pos; unsigned label; }; struct Runs { Run* runs; unsigned height; unsigned width; void Alloc(int _height, int _width) { height = _height, width = _width; runs = new Run[height * (width / 2 + 2) + 1]; } void Dealloc() { delete[] runs; } }; Data_Compressed data_compressed; Runs data_runs; public: BRTS_XZ() {} void PerformLabeling() { int w(img_.cols); int h(img_.rows); data_compressed.Alloc(h, w); InitCompressedData(data_compressed); //find runs data_runs.Alloc(h, w); LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::Setup(); FindRuns(data_compressed.bits, h, data_compressed.data_width, data_runs.runs); Run* runs = data_runs.runs; img_labels_ = cv::Mat1i(img_.size()); for (int i = 0; i < h; i++) { unsigned* const labels = img_labels_.ptr(i); for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (; j < w; j++) labels[j] = 0; runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (; j < start_pos; j++) labels[j] = 0; for (; j < end_pos; j++) labels[j] = label; } } LabelsSolver::Dealloc(); data_runs.Dealloc(); data_compressed.Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); InitCompressedData(data_compressed); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); double t_runalloc = Get_RunAllocTime(); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing + t_runalloc); } void PerformLabelingMem(std::vector& accesses) { //Data structure for memory test MemMat img(img_); MemMat img_labels(img_.size(), 0); int w(img_.cols); int h(img_.rows); data_compressed.Alloc(h, w); InitCompressedDataMem(data_compressed, img); //find runs data_runs.Alloc(h, w); LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); FindRunsMem(data_compressed.bits, h, data_compressed.data_width, data_runs.runs); Run* runs = data_runs.runs; for (int i = 0; i < h; i++) { for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (; j < w; j++) img_labels(i, j) = 0; runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::MemGetLabel(runs->label); for (; j < start_pos; j++) img_labels(i, j) = 0; for (; j < end_pos; j++) img_labels(i, j) = label; } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); data_runs.Dealloc(); data_compressed.Dealloc(); } private: void InitCompressedData(Data_Compressed& data_compressed) { int w(img_.cols); int h(img_.rows); for (int i = 0; i < h; i++) { uint64_t* mbits = data_compressed[i]; uchar* source = img_.ptr(i); for (int j = 0; j < w >> 6; j++) { uchar* base = source + (j << 6); uint64_t obits = 0; if (base[0]) obits |= 0x0000000000000001; if (base[1]) obits |= 0x0000000000000002; if (base[2]) obits |= 0x0000000000000004; if (base[3]) obits |= 0x0000000000000008; if (base[4]) obits |= 0x0000000000000010; if (base[5]) obits |= 0x0000000000000020; if (base[6]) obits |= 0x0000000000000040; if (base[7]) obits |= 0x0000000000000080; if (base[8]) obits |= 0x0000000000000100; if (base[9]) obits |= 0x0000000000000200; if (base[10]) obits |= 0x0000000000000400; if (base[11]) obits |= 0x0000000000000800; if (base[12]) obits |= 0x0000000000001000; if (base[13]) obits |= 0x0000000000002000; if (base[14]) obits |= 0x0000000000004000; if (base[15]) obits |= 0x0000000000008000; if (base[16]) obits |= 0x0000000000010000; if (base[17]) obits |= 0x0000000000020000; if (base[18]) obits |= 0x0000000000040000; if (base[19]) obits |= 0x0000000000080000; if (base[20]) obits |= 0x0000000000100000; if (base[21]) obits |= 0x0000000000200000; if (base[22]) obits |= 0x0000000000400000; if (base[23]) obits |= 0x0000000000800000; if (base[24]) obits |= 0x0000000001000000; if (base[25]) obits |= 0x0000000002000000; if (base[26]) obits |= 0x0000000004000000; if (base[27]) obits |= 0x0000000008000000; if (base[28]) obits |= 0x0000000010000000; if (base[29]) obits |= 0x0000000020000000; if (base[30]) obits |= 0x0000000040000000; if (base[31]) obits |= 0x0000000080000000; if (base[32]) obits |= 0x0000000100000000; if (base[33]) obits |= 0x0000000200000000; if (base[34]) obits |= 0x0000000400000000; if (base[35]) obits |= 0x0000000800000000; if (base[36]) obits |= 0x0000001000000000; if (base[37]) obits |= 0x0000002000000000; if (base[38]) obits |= 0x0000004000000000; if (base[39]) obits |= 0x0000008000000000; if (base[40]) obits |= 0x0000010000000000; if (base[41]) obits |= 0x0000020000000000; if (base[42]) obits |= 0x0000040000000000; if (base[43]) obits |= 0x0000080000000000; if (base[44]) obits |= 0x0000100000000000; if (base[45]) obits |= 0x0000200000000000; if (base[46]) obits |= 0x0000400000000000; if (base[47]) obits |= 0x0000800000000000; if (base[48]) obits |= 0x0001000000000000; if (base[49]) obits |= 0x0002000000000000; if (base[50]) obits |= 0x0004000000000000; if (base[51]) obits |= 0x0008000000000000; if (base[52]) obits |= 0x0010000000000000; if (base[53]) obits |= 0x0020000000000000; if (base[54]) obits |= 0x0040000000000000; if (base[55]) obits |= 0x0080000000000000; if (base[56]) obits |= 0x0100000000000000; if (base[57]) obits |= 0x0200000000000000; if (base[58]) obits |= 0x0400000000000000; if (base[59]) obits |= 0x0800000000000000; if (base[60]) obits |= 0x1000000000000000; if (base[61]) obits |= 0x2000000000000000; if (base[62]) obits |= 0x4000000000000000; if (base[63]) obits |= 0x8000000000000000; *mbits = obits, mbits++; } uint64_t obits_final = 0; int jbase = w - (w % 64); for (int j = 0; j < w % 64; j++) { if (source[jbase + j]) obits_final |= ((uint64_t)1 << j); } *mbits = obits_final; } } void InitCompressedDataMem(Data_Compressed& data_compressed, MemMat& img) { int w(img_.cols); int h(img_.rows); for (int i = 0; i < h; i++) { uint64_t* mbits = data_compressed[i]; uchar* source = img_.ptr(i); for (int j = 0; j < w >> 6; j++) { int j_base = (j << 6); uint64_t obits = 0; if (img(i, j_base + 0)) obits |= 0x0000000000000001; if (img(i, j_base + 1)) obits |= 0x0000000000000002; if (img(i, j_base + 2)) obits |= 0x0000000000000004; if (img(i, j_base + 3)) obits |= 0x0000000000000008; if (img(i, j_base + 4)) obits |= 0x0000000000000010; if (img(i, j_base + 5)) obits |= 0x0000000000000020; if (img(i, j_base + 6)) obits |= 0x0000000000000040; if (img(i, j_base + 7)) obits |= 0x0000000000000080; if (img(i, j_base + 8)) obits |= 0x0000000000000100; if (img(i, j_base + 9)) obits |= 0x0000000000000200; if (img(i, j_base + 10)) obits |= 0x0000000000000400; if (img(i, j_base + 11)) obits |= 0x0000000000000800; if (img(i, j_base + 12)) obits |= 0x0000000000001000; if (img(i, j_base + 13)) obits |= 0x0000000000002000; if (img(i, j_base + 14)) obits |= 0x0000000000004000; if (img(i, j_base + 15)) obits |= 0x0000000000008000; if (img(i, j_base + 16)) obits |= 0x0000000000010000; if (img(i, j_base + 17)) obits |= 0x0000000000020000; if (img(i, j_base + 18)) obits |= 0x0000000000040000; if (img(i, j_base + 19)) obits |= 0x0000000000080000; if (img(i, j_base + 20)) obits |= 0x0000000000100000; if (img(i, j_base + 21)) obits |= 0x0000000000200000; if (img(i, j_base + 22)) obits |= 0x0000000000400000; if (img(i, j_base + 23)) obits |= 0x0000000000800000; if (img(i, j_base + 24)) obits |= 0x0000000001000000; if (img(i, j_base + 25)) obits |= 0x0000000002000000; if (img(i, j_base + 26)) obits |= 0x0000000004000000; if (img(i, j_base + 27)) obits |= 0x0000000008000000; if (img(i, j_base + 28)) obits |= 0x0000000010000000; if (img(i, j_base + 29)) obits |= 0x0000000020000000; if (img(i, j_base + 30)) obits |= 0x0000000040000000; if (img(i, j_base + 31)) obits |= 0x0000000080000000; if (img(i, j_base + 32)) obits |= 0x0000000100000000; if (img(i, j_base + 33)) obits |= 0x0000000200000000; if (img(i, j_base + 34)) obits |= 0x0000000400000000; if (img(i, j_base + 35)) obits |= 0x0000000800000000; if (img(i, j_base + 36)) obits |= 0x0000001000000000; if (img(i, j_base + 37)) obits |= 0x0000002000000000; if (img(i, j_base + 38)) obits |= 0x0000004000000000; if (img(i, j_base + 39)) obits |= 0x0000008000000000; if (img(i, j_base + 40)) obits |= 0x0000010000000000; if (img(i, j_base + 41)) obits |= 0x0000020000000000; if (img(i, j_base + 42)) obits |= 0x0000040000000000; if (img(i, j_base + 43)) obits |= 0x0000080000000000; if (img(i, j_base + 44)) obits |= 0x0000100000000000; if (img(i, j_base + 45)) obits |= 0x0000200000000000; if (img(i, j_base + 46)) obits |= 0x0000400000000000; if (img(i, j_base + 47)) obits |= 0x0000800000000000; if (img(i, j_base + 48)) obits |= 0x0001000000000000; if (img(i, j_base + 49)) obits |= 0x0002000000000000; if (img(i, j_base + 50)) obits |= 0x0004000000000000; if (img(i, j_base + 51)) obits |= 0x0008000000000000; if (img(i, j_base + 52)) obits |= 0x0010000000000000; if (img(i, j_base + 53)) obits |= 0x0020000000000000; if (img(i, j_base + 54)) obits |= 0x0040000000000000; if (img(i, j_base + 55)) obits |= 0x0080000000000000; if (img(i, j_base + 56)) obits |= 0x0100000000000000; if (img(i, j_base + 57)) obits |= 0x0200000000000000; if (img(i, j_base + 58)) obits |= 0x0400000000000000; if (img(i, j_base + 59)) obits |= 0x0800000000000000; if (img(i, j_base + 60)) obits |= 0x1000000000000000; if (img(i, j_base + 61)) obits |= 0x2000000000000000; if (img(i, j_base + 62)) obits |= 0x4000000000000000; if (img(i, j_base + 63)) obits |= 0x8000000000000000; *mbits = obits, mbits++; } uint64_t obits_final = 0; int jbase = w - (w % 64); for (int j = 0; j < w % 64; j++) { if (img(i, jbase + j)) obits_final |= ((uint64_t)1 << j); } *mbits = obits_final; } } void FindRuns(const uint64_t* bits_start, int height, int data_width, Run* runs) { Run* runs_up = runs; //process runs in the first row const uint64_t* bits = bits_start; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out; } working_bits = *bits; } runs->start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); runs->end_pos = short(basepos + bitpos); runs->label = LabelsSolver::NewLabel(); } out: //process runs in the rests for (int row = 1; row < height; row++) { Run* runs_save = runs; const uint64_t* bits = bits_start + data_width * row; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out2; } working_bits = *bits; } unsigned short start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); unsigned short end_pos = short(basepos + bitpos); //Skip upper runs end before this run starts for (; runs_up->end_pos < start_pos; runs_up++); //No upper run meets this if (runs_up->start_pos > end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = LabelsSolver::NewLabel(); continue; }; unsigned label = LabelsSolver::GetLabel(runs_up->label); //Next upper run can not meet this if (end_pos <= runs_up->end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = label; continue; } //Find next upper runs meet this runs_up++; for (; runs_up->start_pos <= end_pos; runs_up++) { unsigned label_other = LabelsSolver::GetLabel(runs_up->label); if (label != label_other) label = LabelsSolver::Merge(label, label_other); if (end_pos <= runs_up->end_pos) break; } runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = label; } out2: runs_up = runs_save; } n_labels_ = LabelsSolver::Flatten(); } void FindRunsMem(const uint64_t* bits_start, int height, int data_width, Run* runs) { Run* runs_up = runs; //process runs in the first row const uint64_t* bits = bits_start; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out; } working_bits = *bits; } runs->start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); runs->end_pos = short(basepos + bitpos); runs->label = LabelsSolver::MemNewLabel(); } out: //process runs in the rests for (int row = 1; row < height; row++) { Run* runs_save = runs; const uint64_t* bits = bits_start + data_width * row; const uint64_t* bit_final = bits + data_width; uint64_t working_bits = *bits; unsigned long basepos = 0, bitpos = 0; for (;; runs++) { //find starting position while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; if (bits == bit_final) { runs->start_pos = (short)0xFFFF; runs->end_pos = (short)0xFFFF; runs++; goto out2; } working_bits = *bits; } unsigned short start_pos = short(basepos + bitpos); //find ending position working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); while (!YacclabBitScanForward64(&bitpos, working_bits)) { bits++, basepos += 64; working_bits = ~(*bits); } working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos); unsigned short end_pos = short(basepos + bitpos); //Skip upper runs end before this run starts for (; runs_up->end_pos < start_pos; runs_up++); //No upper run meets this if (runs_up->start_pos > end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = LabelsSolver::MemNewLabel(); continue; }; unsigned label = LabelsSolver::MemGetLabel(runs_up->label); //Next upper run can not meet this if (end_pos <= runs_up->end_pos) { runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = label; continue; } //Find next upper runs meet this runs_up++; for (; runs_up->start_pos <= end_pos; runs_up++) { unsigned label_other = LabelsSolver::MemGetLabel(runs_up->label); if (label != label_other) label = LabelsSolver::MemMerge(label, label_other); if (end_pos <= runs_up->end_pos) break; } runs->start_pos = start_pos; runs->end_pos = end_pos; runs->label = label; } out2: runs_up = runs_save; } n_labels_ = LabelsSolver::MemFlatten(); } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for others perf_.start(); img_labels_ = cv::Mat1i(img_.size()); data_compressed.Alloc(img_.rows, img_.cols); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(data_compressed.bits, 0, data_compressed.height * data_compressed.data_width * sizeof(uint64_t)); perf_.stop(); double t = perf_.last(); // Run metadata allocation time will be calculated later data_runs.Alloc(img_.rows, img_.cols); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); memset(data_compressed.bits, 0, data_compressed.height * data_compressed.data_width * sizeof(uint64_t)); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } double Get_RunAllocTime() { Run* run_start = data_runs.runs; Run* run_end = run_start; for (size_t i = 0; i < data_runs.height; i++, run_end++) { for (; run_end->start_pos != 0xFFFF; run_end++); } size_t size_used = (size_t)run_end - (size_t)run_start; Runs runs_temp; perf_.start(); runs_temp.Alloc(data_runs.height, data_runs.width); memset(runs_temp.runs, 0, size_used); perf_.stop(); double t = perf_.last(); perf_.start(); memset(runs_temp.runs, 0, size_used); perf_.stop(); double t_result = t - perf_.last(); runs_temp.Dealloc(); return t_result; } void Dealloc() { LabelsSolver::Dealloc(); data_runs.Dealloc(); data_compressed.Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { LabelsSolver::Setup(); FindRuns(data_compressed.bits, img_.rows, data_compressed.data_width, data_runs.runs); } void SecondScan() { int w(img_.cols); int h(img_.rows); Run* runs = data_runs.runs; for (int i = 0; i < h; i++) { unsigned* const labels = img_labels_.ptr(i); for (int j = 0;; runs++) { unsigned short start_pos = runs->start_pos; if (start_pos == 0xFFFF) { for (; j < w; j++) labels[j] = 0; runs++; break; } unsigned short end_pos = runs->end_pos; int label = LabelsSolver::GetLabel(runs->label); for (; j < start_pos; j++) labels[j] = 0; for (; j < end_pos; j++) labels[j] = label; } } } }; #endif ================================================ FILE: include/labeling_null.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_NULL_H_ #define YACCLAB_LABELING_NULL_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" class labeling_NULL : public Labeling2D { public: void PerformLabeling() { img_labels_ = cv::Mat1i(img_.size()); for (int r = 0; r < img_labels_.rows; ++r) { // Get rows pointer const uchar* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); for (int c = 0; c < img_labels_.cols; ++c) { img_labels_row[c] = img_row[c]; } } } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); AllScans(); perf_.stop(); perf_.store(Step(StepType::ALL_SCANS), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { MemMat img(img_); MemMat img_labels(img_.size()); for (int r = 0; r < img_labels.rows; ++r) { for (int c = 0; c < img_labels.cols; ++c) { img_labels(r, c) = img(r, c); } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); } private: double Alloc() { // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ma_t; } void Dealloc() { // No free for img_labels_ because it is required at the end of the algorithm } void AllScans() { for (int r = 0; r < img_labels_.rows; ++r) { // Get rows pointer const uchar* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); for (int c = 0; c < img_labels_.cols; ++c) { img_labels_row[c] = img_row[c]; } } } }; #endif // !YACCLAB_LABELING_NULL_H_ ================================================ FILE: include/labeling_sauf_4c.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_SAUF_4C_H_ #define YACCLAB_LABELING_SAUF_4C_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class SAUF4C : public Labeling2D { public: SAUF4C() {} void PerformLabeling() { const int h = img_.rows; const int w = img_.cols; img_labels_ = cv::Mat1i(img_.size(), 0); // Allocation + initialization of the output image LabelsSolver::Alloc(UPPER_BOUND_4_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First scan for (int r = 0; r < h; ++r) { // Get row pointers unsigned char const * const img_row = img_.ptr(r); unsigned char const * const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); unsigned * const img_labels_row = img_labels_.ptr(r); unsigned * const img_labels_row_prev = (unsigned *)(((char *)img_labels_row) - img_labels_.step.p[0]); for (int c = 0; c < w; ++c) { #define CONDITION_Q r > 0 && img_row_prev[c] > 0 #define CONDITION_S c > 0 && img_row[c - 1] > 0 #define CONDITION_X img_row[c] > 0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); // new label #define ACTION_3 img_labels_row[c] = img_labels_row_prev[c]; // x <- q #define ACTION_4 img_labels_row[c] = img_labels_row[c - 1]; // x <- s #define ACTION_5 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev[c], img_labels_row[c - 1]); // x <- p + s #include "labeling_sauf_4c_tree.inc.h" } } // Second scan n_labels_ = LabelsSolver::Flatten(); for (int r = 0; r < img_labels_.rows; ++r) { unsigned * img_row_start = img_labels_.ptr(r); unsigned * const img_row_end = img_row_start + img_labels_.cols; for (; img_row_start != img_row_end; ++img_row_start) { *img_row_start = LabelsSolver::GetLabel(*img_row_start); } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R #undef CONDITION_S #undef CONDITION_X } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { const int h = img_.rows; const int w = img_.cols; LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); // Equivalence solver // Data structure for memory test MemMat img(img_); MemMat img_labels(img_.size(), 0); LabelsSolver::MemSetup(); // First scan // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ for (int r = 0; r < h; ++r) { for (int c = 0; c < w; ++c) { #define CONDITION_Q r > 0 && img(r - 1, c)>0 #define CONDITION_S c > 0 && img(r,c - 1)>0 #define CONDITION_X img(r,c)>0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels(r, c) = LabelsSolver::MemNewLabel(); // new label #define ACTION_3 img_labels(r, c) = img_labels(r - 1, c); // x <- q #define ACTION_4 img_labels(r, c) = img_labels(r, c - 1); // x <- s #define ACTION_5 img_labels(r, c) = LabelsSolver::MemMerge((unsigned)img_labels(r - 1, c - 1), (unsigned)img_labels(r, c - 1)); // x <- p + s #include "labeling_sauf_4c_tree.inc.h" } } // Second scan n_labels_ = LabelsSolver::MemFlatten(); for (int r = 0; r < h; ++r) { for (int c = 0; c < w; ++c) { img_labels(r, c) = LabelsSolver::MemGetLabel(img_labels(r, c)); } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R #undef CONDITION_S #undef CONDITION_X } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_4_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { const int h = img_.rows; const int w = img_.cols; memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); // Initialization LabelsSolver::Setup(); // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First scan for (int r = 0; r < h; ++r) { // Get row pointers unsigned char const * const img_row = img_.ptr(r); unsigned char const * const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); unsigned * const img_labels_row = img_labels_.ptr(r); unsigned * const img_labels_row_prev = (unsigned *)(((char *)img_labels_row) - img_labels_.step.p[0]); for (int c = 0; c < w; ++c) { #define CONDITION_Q r > 0 && img_row_prev[c] > 0 #define CONDITION_S c > 0 && img_row[c - 1] > 0 #define CONDITION_X img_row[c] > 0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); // new label #define ACTION_3 img_labels_row[c] = img_labels_row_prev[c]; // x <- q #define ACTION_4 img_labels_row[c] = img_labels_row[c - 1]; // x <- s #define ACTION_5 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev[c], img_labels_row[c - 1]); // x <- p + s #include "labeling_sauf_4c_tree.inc.h" } } #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R #undef CONDITION_S #undef CONDITION_X } void SecondScan() { n_labels_ = LabelsSolver::Flatten(); for (int r = 0; r < img_labels_.rows; ++r) { unsigned * img_row_start = img_labels_.ptr(r); unsigned * const img_row_end = img_row_start + img_labels_.cols; for (; img_row_start != img_row_end; ++img_row_start) { *img_row_start = LabelsSolver::GetLabel(*img_row_start); } } } }; #endif // !YACCLAB_LABELING_WU_2009_H_ ================================================ FILE: include/labeling_sauf_4c_tree.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. if (CONDITION_X) { if (CONDITION_Q) { if (CONDITION_S) { // x <- q + s ACTION_5 }else{ // x <- q ACTION_3 } } else { // q = 0 if (CONDITION_S) { // x <- s ACTION_4 } else{ // new label ACTION_2 } } } else { // Nothing to do, x is a background pixel ACTION_1 } ================================================ FILE: include/labeling_sauf_background.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_SAUF_BACKGROUND_H_ #define YACCLAB_LABELING_SAUF_BACKGROUND_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class SAUF_BG : public Labeling2D { public: SAUF_BG() {} void PerformLabeling() { const int h = img_.rows; const int w = img_.cols; img_labels_ = cv::Mat1i(img_.size()); // Allocation + initialization of the output image LabelsSolver::Alloc((size_t)img_.rows * (((size_t)img_.cols + 1) / 2) + ((size_t)img_.cols + 1) / 2 + 1); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First scan for (int r = 0; r < h; ++r) { // Get row pointers unsigned char const* const img_row = img_.ptr(r); unsigned char const* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0]); for (int c = 0; c < w; ++c) { #define CONDITION_P c > 0 && r > 0 && img_row_prev[c - 1] > 0 #define CONDITION_Q r > 0 && img_row_prev[c] > 0 #define CONDITION_R c < w - 1 && r > 0 && img_row_prev[c + 1] > 0 #define CONDITION_S c > 0 && img_row[c - 1] > 0 #define CONDITION_X img_row[c] > 0 #define CONDITION_Q_BG r > 0 && img_row_prev[c] == 0 #define CONDITION_S_BG c > 0 && img_row[c - 1] == 0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); // new label #define ACTION_3 img_labels_row[c] = img_labels_row_prev[c - 1]; // x <- p #define ACTION_4 img_labels_row[c] = img_labels_row_prev[c]; // x <- q #define ACTION_5 img_labels_row[c] = img_labels_row_prev[c + 1]; // x <- r #define ACTION_6 img_labels_row[c] = img_labels_row[c - 1]; // x <- s #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev[c - 1], img_labels_row_prev[c + 1]); // x <- p + r #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row[c - 1], img_labels_row_prev[c + 1]); // x <- s + r #define ACTION_9 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev[c], img_labels_row[c - 1]); // x <- p + s #include "labeling_sauf_bg_tree.inc.h" } } // Second scan n_labels_ = LabelsSolver::Flatten(); for (int r = 0; r < img_labels_.rows; ++r) { unsigned* img_row_start = img_labels_.ptr(r); unsigned* const img_row_end = img_row_start + img_labels_.cols; for (; img_row_start != img_row_end; ++img_row_start) { *img_row_start = LabelsSolver::GetLabel(*img_row_start); } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R #undef CONDITION_S #undef CONDITION_X #undef CONDITION_Q_BG #undef CONDITION_S_BG } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { const int h = img_.rows; const int w = img_.cols; LabelsSolver::Alloc((size_t)img_.rows * (((size_t)img_.cols + 1) / 2) + ((size_t)img_.cols + 1) / 2 + 1); // Memory allocation of the labels solver // Data structure for memory test MemMat img(img_); MemMat img_labels(img_.size(), 0); LabelsSolver::MemSetup(); // First scan // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ for (int r = 0; r < h; ++r) { for (int c = 0; c < w; ++c) { #define CONDITION_P c > 0 && r > 0 && img(r - 1 , c - 1) > 0 #define CONDITION_Q r > 0 && img(r - 1, c)>0 #define CONDITION_R c < w - 1 && r > 0 && img(r - 1,c + 1) > 0 #define CONDITION_S c > 0 && img(r,c - 1)>0 #define CONDITION_X img(r,c)>0 #define CONDITION_Q_BG r > 0 && img(r - 1, c) == 0 #define CONDITION_S_BG c > 0 && img(r,c - 1) == 0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels(r, c) = LabelsSolver::MemNewLabel(); // new label #define ACTION_3 img_labels(r, c) = img_labels(r - 1, c - 1); // x <- p #define ACTION_4 img_labels(r, c) = img_labels(r - 1, c); // x <- q #define ACTION_5 img_labels(r, c) = img_labels(r - 1, c + 1); // x <- r #define ACTION_6 img_labels(r, c) = img_labels(r, c - 1); // x <- s #define ACTION_7 img_labels(r, c) = LabelsSolver::MemMerge((unsigned)img_labels(r - 1, c - 1), (unsigned)img_labels(r - 1, c + 1)); // x <- p + r #define ACTION_8 img_labels(r, c) = LabelsSolver::MemMerge((unsigned)img_labels(r, c - 1), (unsigned)img_labels(r - 1, c + 1)); // x <- s + r #define ACTION_9 img_labels(r, c) = LabelsSolver::MemMerge((unsigned)img_labels(r - 1, c), (unsigned)img_labels(r, c - 1)); // x <- q + s #include "labeling_sauf_bg_tree.inc.h" } } // Second scan n_labels_ = LabelsSolver::MemFlatten(); for (int r = 0; r < h; ++r) { for (int c = 0; c < w; ++c) { img_labels(r, c) = LabelsSolver::MemGetLabel(img_labels(r, c)); } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R #undef CONDITION_S #undef CONDITION_X #undef CONDITION_Q_BG #undef CONDITION_S_BG } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc((size_t)img_.rows * (((size_t)img_.cols + 1) / 2) + ((size_t)img_.cols + 1) / 2 + 1, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { const int h = img_.rows; const int w = img_.cols; // memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); // Initialization LabelsSolver::Setup(); // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First scan for (int r = 0; r < h; ++r) { // Get row pointers unsigned char const * const img_row = img_.ptr(r); unsigned char const * const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); unsigned * const img_labels_row = img_labels_.ptr(r); unsigned * const img_labels_row_prev = (unsigned *)(((char *)img_labels_row) - img_labels_.step.p[0]); for (int c = 0; c < w; ++c) { #define CONDITION_P c > 0 && r > 0 && img_row_prev[c - 1] > 0 #define CONDITION_Q r > 0 && img_row_prev[c] > 0 #define CONDITION_R c < w - 1 && r > 0 && img_row_prev[c + 1] > 0 #define CONDITION_S c > 0 && img_row[c - 1] > 0 #define CONDITION_X img_row[c] > 0 #define CONDITION_Q_BG r > 0 && img_row_prev[c] == 0 #define CONDITION_S_BG c > 0 && img_row[c - 1] == 0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); // new label #define ACTION_3 img_labels_row[c] = img_labels_row_prev[c - 1]; // x <- p #define ACTION_4 img_labels_row[c] = img_labels_row_prev[c]; // x <- q #define ACTION_5 img_labels_row[c] = img_labels_row_prev[c + 1]; // x <- r #define ACTION_6 img_labels_row[c] = img_labels_row[c - 1]; // x <- s #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev[c - 1], img_labels_row_prev[c + 1]); // x <- p + r #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row[c - 1], img_labels_row_prev[c + 1]); // x <- s + r #define ACTION_9 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev[c], img_labels_row[c - 1]); // x <- p + s #include "labeling_sauf_bg_tree.inc.h" } } #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R #undef CONDITION_S #undef CONDITION_X #undef CONDITION_Q_BG #undef CONDITION_S_BG } void SecondScan() { n_labels_ = LabelsSolver::Flatten(); for (int r = 0; r < img_labels_.rows; ++r) { unsigned * img_row_start = img_labels_.ptr(r); unsigned * const img_row_end = img_row_start + img_labels_.cols; for (; img_row_start != img_row_end; ++img_row_start) { *img_row_start = LabelsSolver::GetLabel(*img_row_start); } } } }; #endif // !YACCLAB_LABELING_WU_2009_H_ ================================================ FILE: include/labeling_sauf_bg_tree.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. if (CONDITION_X) { if (CONDITION_Q) { //x <- q ACTION_4 } else { // q = 0 if (CONDITION_R) { if (CONDITION_P) { // x <- p + r ACTION_7 } else { // p = q = 0 if (CONDITION_S) { // x <- s + r ACTION_8 } else { // p = q = s = 0 // x <- r ACTION_5 } } } else { // r = q = 0 if (CONDITION_P) { // x <- p ACTION_3 } else { // r = q = p = 0 if (CONDITION_S) { // x <- s ACTION_6 } else { // New label ACTION_2 } } } } } else { if (CONDITION_Q_BG) { if (CONDITION_S_BG) { // x <- q + s ACTION_9 } else { // x <- q ACTION_4 } } else { // q = 1 if (CONDITION_S_BG) { // x <- s ACTION_6 } else { // new label ACTION_2 } } } ================================================ FILE: include/labeling_tagliatelle_2021.h ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_TAGLIATELLE_H_ #define YACCLAB_LABELING_TAGLIATELLE_H_ #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class Tagliatelle : public Labeling2D { public: Tagliatelle() {} void PerformLabeling() { const int h = img_.rows; const int w = img_.cols; int e_rows = h & 0xfffffffe; bool o_rows = h % 2 == 1; int e_cols = w & 0xfffffffe; bool o_cols = w % 2 == 1; img_labels_ = cv::Mat1i(img_.size()); // Memory allocation for the output image LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only matter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. // First scan // Define Conditions and Actions { #define CONDITION_B img_row_prev_prev[c-1]>0 #define CONDITION_C img_row_prev_prev[c]>0 #define CONDITION_D img_row_prev_prev[c+1]>0 #define CONDITION_E img_row_prev_prev[c+2]>0 #define CONDITION_G img_row_prev[c-2]>0 #define CONDITION_H img_row_prev[c-1]>0 #define CONDITION_I img_row_prev[c]>0 #define CONDITION_J img_row_prev[c+1]>0 #define CONDITION_K img_row_prev[c+2]>0 #define CONDITION_M img_row[c-2]>0 #define CONDITION_N img_row[c-1]>0 #define CONDITION_O img_row[c]>0 #define CONDITION_P img_row[c+1]>0 #define CONDITION_R img_row_fol[c-1]>0 #define CONDITION_S img_row_fol[c]>0 #define CONDITION_T img_row_fol[c+1]>0 // Action 1: No action #define ACTION_1 img_labels_row[c] = 0; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); //Action 3: Assign label of block P #define ACTION_3 img_labels_row[c] = img_labels_row_prev_prev[c - 2]; // Action 4: Assign label of block Q #define ACTION_4 img_labels_row[c] = img_labels_row_prev_prev[c]; // Action 5: Assign label of block R #define ACTION_5 img_labels_row[c] = img_labels_row_prev_prev[c + 2]; // Action 6: Assign label of block S #define ACTION_6 img_labels_row[c] = img_labels_row[c - 2]; // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]); //Action 8: Merge labels of block P and R #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]); // Action 9 Merge labels of block P and S #define ACTION_9 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row[c - 2]); // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]); // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row[c - 2]); // Action 12: Merge labels of block R and S #define ACTION_12 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c + 2], img_labels_row[c - 2]); // Action 13: Merge labels of block P, Q and R #define ACTION_13 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row_prev_prev[c + 2]); // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row[c - 2]); //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); //Action 16: labels of block Q, R and S #define ACTION_16 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); } if (h == 1) { // Single line int r = 0; const unsigned char* const img_row = img_.ptr(0); unsigned* const img_labels_row = img_labels_.ptr(0); int c = -2; #include "labeling_tagliatelle_2021_sl_forest.inc.h" } else { // More than one line // First couple of lines { int r = 0; const unsigned char* const img_row = img_.ptr(0); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(0); int c = -2; #include "labeling_tagliatelle_2021_fl_forest.inc.h" } // Every other line but the last one if image has an odd number of rows for (int r = 2; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char*)(((char*)img_row_prev) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); int c = -2; goto cl_tree_0; #include "labeling_tagliatelle_2021_cl_forest.inc.h" } // Last line (in case the rows are odd) if (o_rows) { int r = h - 1; const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char*)(((char*)img_row_prev) - img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); int c = -2; #include "labeling_tagliatelle_2021_ll_forest.inc.h" } } // Undef Conditions and Actions { #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } // Second scan n_labels_ = LabelsSolver::Flatten(); int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned*)(((char*)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } LabelsSolver::Dealloc(); } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { const int h = img_.rows; const int w = img_.cols; LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); //Data structure for memory test MemMat img(img_); MemMat img_labels(img_.size(), 0); // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only metter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. #define CONDITION_B img(r-2, c-1)>0 #define CONDITION_C img(r-2, c)>0 #define CONDITION_D img(r-2, c+1)>0 #define CONDITION_E img(r-2, c+2)>0 #define CONDITION_G img(r-1, c-2)>0 #define CONDITION_H img(r-1, c-1)>0 #define CONDITION_I img(r-1, c)>0 #define CONDITION_J img(r-1, c+1)>0 #define CONDITION_K img(r-1, c+2)>0 #define CONDITION_M img(r, c-2)>0 #define CONDITION_N img(r, c-1)>0 #define CONDITION_O img(r,c)>0 #define CONDITION_P img(r,c+1)>0 #define CONDITION_R img(r+1, c-1)>0 #define CONDITION_S img(r+1, c)>0 #define CONDITION_T img(r+1, c+1)>0 // Action 1: No action #define ACTION_1 img_labels(r, c) = 0; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels(r, c) = LabelsSolver::MemNewLabel(); //Action 3: Assign label of block P #define ACTION_3 img_labels(r, c) = img_labels(r - 2, c - 2); // Action 4: Assign label of block Q #define ACTION_4 img_labels(r, c) = img_labels(r - 2, c); // Action 5: Assign label of block R #define ACTION_5 img_labels(r, c) = img_labels(r - 2, c + 2); // Action 6: Assign label of block S #define ACTION_6 img_labels(r, c) = img_labels(r, c - 2); // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c)); //Action 8: Merge labels of block P and R #define ACTION_8 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c + 2)); // Action 9 Merge labels of block P and S #define ACTION_9 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r, c - 2)); // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c), img_labels(r - 2, c + 2)); // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c), img_labels(r, c - 2)); // Action 12: Merge labels of block R and S #define ACTION_12 img_labels(r, c) = LabelsSolver::MemMerge(img_labels(r - 2, c + 2), img_labels(r, c - 2)); // Action 13: not used #define ACTION_13 // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels(r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c)), img_labels(r, c - 2)); //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels(r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(r - 2, c - 2), img_labels(r - 2, c + 2)), img_labels(r, c - 2)); //Action 16: labels of block Q, R and S #define ACTION_16 img_labels(r, c) = LabelsSolver::MemMerge(LabelsSolver::MemMerge(img_labels(r - 2, c), img_labels(r - 2, c + 2)), img_labels(r, c - 2)); if (h == 1) { // Single line int r = 0; const unsigned char* const img_row = img_.ptr(0); unsigned* const img_labels_row = img_labels_.ptr(0); int c = -2; #include "labeling_tagliatelle_2021_sl_forest.inc.h" } else { // More than one line // First couple of lines { int r = 0; const unsigned char* const img_row = img_.ptr(0); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(0); int c = -2; #include "labeling_tagliatelle_2021_fl_forest.inc.h" } // Every other line but the last one if image has an odd number of rows for (int r = 2; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char*)(((char*)img_row_prev) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); int c = -2; goto cl_tree_0; #include "labeling_tagliatelle_2021_cl_forest.inc.h" } // Last line (in case the rows are odd) if (o_rows) { int r = h - 1; const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char*)(((char*)img_row_prev) - img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); int c = -2; #include "labeling_tagliatelle_2021_ll_forest.inc.h" } } n_labels_ = LabelsSolver::MemFlatten(); // Second scan for (int r = 0; r < h; r += 2) { for (int c = 0; c < w; c += 2) { int iLabel = img_labels(r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(r, c) > 0) img_labels(r, c) = iLabel; else img_labels(r, c) = 0; if (c + 1 < w) { if (img(r, c + 1) > 0) img_labels(r, c + 1) = iLabel; else img_labels(r, c + 1) = 0; if (r + 1 < h) { if (img(r + 1, c) > 0) img_labels(r + 1, c) = iLabel; else img_labels(r + 1, c) = 0; if (img(r + 1, c + 1) > 0) img_labels(r + 1, c + 1) = iLabel; else img_labels(r + 1, c + 1) = 0; } } else if (r + 1 < h) { if (img(r + 1, c) > 0) img_labels(r + 1, c) = iLabel; else img_labels(r + 1, c) = 0; } } else { img_labels(r, c) = 0; if (c + 1 < w) { img_labels(r, c + 1) = 0; if (r + 1 < h) { img_labels(r + 1, c) = 0; img_labels(r + 1, c + 1) = 0; } } else if (r + 1 < h) { img_labels(r + 1, c) = 0; } } } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } private: int e_rows; bool o_rows; int e_cols; bool o_cols; double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { const int h = img_.rows; const int w = img_.cols; e_rows = h & 0xfffffffe; o_rows = h % 2 == 1; e_cols = w & 0xfffffffe; o_cols = w % 2 == 1; LabelsSolver::Setup(); // Labels solver initialization // We work with 2x2 blocks // +-+-+-+ // |P|Q|R| // +-+-+-+ // |S|X| // +-+-+ // The pixels are named as follows // +---+---+---+ // |a b|c d|e f| // |g h|i j|k l| // +---+---+---+ // |m n|o p| // |q r|s t| // +---+---+ // Pixels a, f, l, q are not needed, since we need to understand the // the connectivity between these blocks and those pixels only matter // when considering the outer connectivities // A bunch of defines used to check if the pixels are foreground, // without going outside the image limits. // First scan // Define Conditions and Actions { #define CONDITION_B img_row_prev_prev[c-1]>0 #define CONDITION_C img_row_prev_prev[c]>0 #define CONDITION_D img_row_prev_prev[c+1]>0 #define CONDITION_E img_row_prev_prev[c+2]>0 #define CONDITION_G img_row_prev[c-2]>0 #define CONDITION_H img_row_prev[c-1]>0 #define CONDITION_I img_row_prev[c]>0 #define CONDITION_J img_row_prev[c+1]>0 #define CONDITION_K img_row_prev[c+2]>0 #define CONDITION_M img_row[c-2]>0 #define CONDITION_N img_row[c-1]>0 #define CONDITION_O img_row[c]>0 #define CONDITION_P img_row[c+1]>0 #define CONDITION_R img_row_fol[c-1]>0 #define CONDITION_S img_row_fol[c]>0 #define CONDITION_T img_row_fol[c+1]>0 // Action 1: No action #define ACTION_1 img_labels_row[c] = 0; // Action 2: New label (the block has foreground pixels and is not connected to anything else) #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); //Action 3: Assign label of block P #define ACTION_3 img_labels_row[c] = img_labels_row_prev_prev[c - 2]; // Action 4: Assign label of block Q #define ACTION_4 img_labels_row[c] = img_labels_row_prev_prev[c]; // Action 5: Assign label of block R #define ACTION_5 img_labels_row[c] = img_labels_row_prev_prev[c + 2]; // Action 6: Assign label of block S #define ACTION_6 img_labels_row[c] = img_labels_row[c - 2]; // Action 7: Merge labels of block P and Q #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]); //Action 8: Merge labels of block P and R #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]); // Action 9 Merge labels of block P and S #define ACTION_9 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row[c - 2]); // Action 10 Merge labels of block Q and R #define ACTION_10 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]); // Action 11: Merge labels of block Q and S #define ACTION_11 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row[c - 2]); // Action 12: Merge labels of block R and S #define ACTION_12 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev_prev[c + 2], img_labels_row[c - 2]); // Action 13: Merge labels of block P, Q and R #define ACTION_13 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row_prev_prev[c + 2]); // Action 14: Merge labels of block P, Q and S #define ACTION_14 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c]), img_labels_row[c - 2]); //Action 15: Merge labels of block P, R and S #define ACTION_15 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c - 2], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); //Action 16: labels of block Q, R and S #define ACTION_16 img_labels_row[c] = LabelsSolver::Merge(LabelsSolver::Merge(img_labels_row_prev_prev[c], img_labels_row_prev_prev[c + 2]), img_labels_row[c - 2]); } if (h == 1) { // Single line int r = 0; const unsigned char* const img_row = img_.ptr(0); unsigned* const img_labels_row = img_labels_.ptr(0); int c = -2; #include "labeling_tagliatelle_2021_sl_forest.inc.h" } else { // More than one line // First couple of lines { int r = 0; const unsigned char* const img_row = img_.ptr(0); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(0); int c = -2; #include "labeling_tagliatelle_2021_fl_forest.inc.h" } // Every other line but the last one if image has an odd number of rows for (int r = 2; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char*)(((char*)img_row_prev) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); int c = -2; goto cl_tree_0; #include "labeling_tagliatelle_2021_cl_forest.inc.h" } // Last line (in case the rows are odd) if (o_rows) { int r = h - 1; const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_prev = (unsigned char*)(((char*)img_row) - img_.step.p[0]); const unsigned char* const img_row_prev_prev = (unsigned char*)(((char*)img_row_prev) - img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_prev_prev = (unsigned*)(((char*)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); int c = -2; #include "labeling_tagliatelle_2021_ll_forest.inc.h" } } // Undef Conditions and Actions { #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef ACTION_9 #undef ACTION_10 #undef ACTION_11 #undef ACTION_12 #undef ACTION_13 #undef ACTION_14 #undef ACTION_15 #undef ACTION_16 #undef CONDITION_B #undef CONDITION_C #undef CONDITION_D #undef CONDITION_E #undef CONDITION_G #undef CONDITION_H #undef CONDITION_I #undef CONDITION_J #undef CONDITION_K #undef CONDITION_M #undef CONDITION_N #undef CONDITION_O #undef CONDITION_P #undef CONDITION_R #undef CONDITION_S #undef CONDITION_T } } void SecondScan() { // Second scan n_labels_ = LabelsSolver::Flatten(); int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char*)(((char*)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned*)(((char*)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } }; #endif // YACCLAB_LABELING_TAGLIATELLE_H_ ================================================ FILE: include/labeling_tagliatelle_2021_cl_forest.inc.h ================================================ cl_tree_0: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_0; } else { goto cl_break_1_0; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_4 goto cl_tree_11; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_10; } else { ACTION_2 goto cl_tree_9; } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { ACTION_2 goto cl_tree_7; } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_1: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_1; } else { goto cl_break_1_1; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto cl_tree_11; } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_3 goto cl_tree_11; } else { ACTION_7 goto cl_tree_11; } } else { ACTION_4 goto cl_tree_11; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { if (CONDITION_H) { if (CONDITION_D) { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } else { ACTION_8 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { if (CONDITION_H) { ACTION_3 goto cl_tree_3; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_10; } else { if (CONDITION_H) { ACTION_3 goto cl_tree_9; } else { ACTION_2 goto cl_tree_9; } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { ACTION_2 goto cl_tree_7; } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_2: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_2; } else { goto cl_break_1_2; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_11 goto cl_tree_11; } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_9 goto cl_tree_11; } else { ACTION_14 goto cl_tree_11; } } else { ACTION_11 goto cl_tree_11; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_11 goto cl_tree_5; } else { ACTION_16 goto cl_tree_5; } } else { if (CONDITION_H) { if (CONDITION_D) { if (CONDITION_C) { ACTION_9 goto cl_tree_5; } else { ACTION_14 goto cl_tree_5; } } else { ACTION_15 goto cl_tree_5; } } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_H) { ACTION_9 goto cl_tree_8; } else { if (CONDITION_I) { ACTION_11 goto cl_tree_4; } else { ACTION_6 goto cl_tree_3; } } } } else { if (CONDITION_H) { ACTION_9 goto cl_tree_12; } else { if (CONDITION_I) { ACTION_11 goto cl_tree_10; } else { ACTION_6 goto cl_tree_9; } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_11 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_D) { ACTION_11 goto cl_tree_5; } else { if (CONDITION_I) { ACTION_16 goto cl_tree_5; } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_I) { ACTION_11 goto cl_tree_4; } else { ACTION_6 goto cl_tree_3; } } } } else { ACTION_6 goto cl_tree_7; } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_3: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_3; } else { goto cl_break_1_3; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_11 goto cl_tree_11; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { ACTION_11 goto cl_tree_5; } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } else { ACTION_6 goto cl_tree_12; } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_11 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_D) { ACTION_11 goto cl_tree_5; } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } } else { ACTION_6 goto cl_tree_7; } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { ACTION_5 goto cl_tree_5; } else { ACTION_2 goto cl_tree_3; } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_4: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_3; } else { goto cl_break_1_4; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_B) { ACTION_3 goto cl_tree_11; } else { ACTION_7 goto cl_tree_11; } } else { ACTION_11 goto cl_tree_11; } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_C) { if (CONDITION_B) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } else { ACTION_11 goto cl_tree_5; } } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } else { ACTION_6 goto cl_tree_12; } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_B) { ACTION_3 goto cl_tree_6; } else { ACTION_7 goto cl_tree_6; } } else { ACTION_11 goto cl_tree_6; } } else { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_C) { if (CONDITION_B) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } else { ACTION_11 goto cl_tree_5; } } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } } else { ACTION_6 goto cl_tree_7; } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { ACTION_5 goto cl_tree_5; } else { ACTION_2 goto cl_tree_3; } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_5: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_3; } else { goto cl_break_1_5; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_4 goto cl_tree_11; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } else { ACTION_6 goto cl_tree_12; } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } } else { ACTION_6 goto cl_tree_7; } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_4 goto cl_tree_4; } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_6: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_3; } else { goto cl_break_1_6; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto cl_tree_11; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_11; } else { ACTION_11 goto cl_tree_11; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_11 goto cl_tree_5; } } } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } else { ACTION_6 goto cl_tree_12; } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_6; } else { ACTION_11 goto cl_tree_6; } } } else { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_11 goto cl_tree_5; } } } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } } else { ACTION_6 goto cl_tree_7; } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_7: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_4; } else { goto cl_break_1_7; } } if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_I) { ACTION_11 goto cl_tree_11; } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_9 goto cl_tree_11; } else { ACTION_14 goto cl_tree_11; } } else { ACTION_11 goto cl_tree_11; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_11 goto cl_tree_5; } else { ACTION_16 goto cl_tree_5; } } else { if (CONDITION_H) { if (CONDITION_D) { if (CONDITION_C) { ACTION_9 goto cl_tree_5; } else { ACTION_14 goto cl_tree_5; } } else { ACTION_15 goto cl_tree_5; } } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_H) { ACTION_9 goto cl_tree_8; } else { if (CONDITION_I) { ACTION_11 goto cl_tree_4; } else { ACTION_6 goto cl_tree_3; } } } } else { if (CONDITION_H) { ACTION_9 goto cl_tree_12; } else { if (CONDITION_I) { ACTION_11 goto cl_tree_10; } else { ACTION_6 goto cl_tree_9; } } } } } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto cl_tree_11; } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_3 goto cl_tree_11; } else { ACTION_7 goto cl_tree_11; } } else { ACTION_4 goto cl_tree_11; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { if (CONDITION_H) { if (CONDITION_D) { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } else { ACTION_8 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { if (CONDITION_H) { ACTION_3 goto cl_tree_3; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_10; } else { if (CONDITION_H) { ACTION_3 goto cl_tree_9; } else { ACTION_2 goto cl_tree_9; } } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { if (CONDITION_J) { ACTION_11 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_D) { ACTION_11 goto cl_tree_5; } else { if (CONDITION_I) { ACTION_16 goto cl_tree_5; } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_I) { ACTION_11 goto cl_tree_4; } else { ACTION_6 goto cl_tree_3; } } } } else { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } } else { if (CONDITION_R) { ACTION_6 goto cl_tree_7; } else { ACTION_2 goto cl_tree_7; } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_8: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_3; } else { goto cl_break_1_8; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 goto cl_tree_11; } else { ACTION_7 goto cl_tree_11; } } else { ACTION_11 goto cl_tree_11; } } else { ACTION_11 goto cl_tree_11; } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_C) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } else { ACTION_11 goto cl_tree_5; } } else { ACTION_11 goto cl_tree_5; } } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } else { ACTION_6 goto cl_tree_12; } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 goto cl_tree_6; } else { ACTION_7 goto cl_tree_6; } } else { ACTION_11 goto cl_tree_6; } } else { ACTION_11 goto cl_tree_6; } } else { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_C) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } else { ACTION_11 goto cl_tree_5; } } else { ACTION_11 goto cl_tree_5; } } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } } else { ACTION_6 goto cl_tree_7; } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { ACTION_5 goto cl_tree_5; } else { ACTION_2 goto cl_tree_3; } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_9: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_5; } else { goto cl_break_1_9; } } if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { ACTION_11 goto cl_tree_11; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { ACTION_11 goto cl_tree_5; } else { if (CONDITION_I) { ACTION_16 goto cl_tree_5; } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_I) { ACTION_11 goto cl_tree_4; } else { ACTION_6 goto cl_tree_3; } } } else { if (CONDITION_I) { ACTION_11 goto cl_tree_10; } else { ACTION_6 goto cl_tree_9; } } } } else { if (CONDITION_J) { ACTION_4 goto cl_tree_11; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_10; } else { ACTION_2 goto cl_tree_9; } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { if (CONDITION_J) { ACTION_11 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_D) { ACTION_11 goto cl_tree_5; } else { if (CONDITION_I) { ACTION_16 goto cl_tree_5; } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_I) { ACTION_11 goto cl_tree_4; } else { ACTION_6 goto cl_tree_3; } } } } else { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } } else { if (CONDITION_R) { ACTION_6 goto cl_tree_7; } else { ACTION_2 goto cl_tree_7; } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_10: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_6; } else { goto cl_break_1_10; } } if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 goto cl_tree_11; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_11; } else { ACTION_7 goto cl_tree_11; } } } else { ACTION_7 goto cl_tree_11; } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 goto cl_tree_5; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } } else { ACTION_7 goto cl_tree_5; } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_8 goto cl_tree_5; } else { ACTION_13 goto cl_tree_5; } } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_3 goto cl_tree_4; } else { ACTION_7 goto cl_tree_4; } } else { ACTION_6 goto cl_tree_3; } } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_3 goto cl_tree_10; } else { ACTION_7 goto cl_tree_10; } } else { ACTION_6 goto cl_tree_9; } } } } else { if (CONDITION_J) { ACTION_4 goto cl_tree_11; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_10; } else { ACTION_2 goto cl_tree_9; } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 goto cl_tree_6; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_6; } else { ACTION_7 goto cl_tree_6; } } } else { ACTION_7 goto cl_tree_6; } } else { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 goto cl_tree_5; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } } else { ACTION_7 goto cl_tree_5; } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_8 goto cl_tree_5; } else { ACTION_13 goto cl_tree_5; } } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_3 goto cl_tree_4; } else { ACTION_7 goto cl_tree_4; } } else { ACTION_6 goto cl_tree_3; } } } } else { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } } else { if (CONDITION_R) { ACTION_6 goto cl_tree_7; } else { ACTION_2 goto cl_tree_7; } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_11: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_7; } else { goto cl_break_1_11; } } if (CONDITION_O) { if (CONDITION_N) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto cl_tree_11; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_11; } else { ACTION_11 goto cl_tree_11; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_11 goto cl_tree_5; } } } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } else { ACTION_6 goto cl_tree_12; } } } else { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_I) { ACTION_3 goto cl_tree_11; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_11; } else { ACTION_7 goto cl_tree_11; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_3 goto cl_tree_5; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } } else { ACTION_8 goto cl_tree_5; } } else { ACTION_3 goto cl_tree_8; } } else { ACTION_3 goto cl_tree_12; } } } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto cl_tree_11; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_11; } else { ACTION_7 goto cl_tree_11; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { if (CONDITION_D) { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } else { ACTION_8 goto cl_tree_5; } } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_3 goto cl_tree_3; } } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_10; } else { ACTION_3 goto cl_tree_9; } } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_N) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_6; } else { ACTION_11 goto cl_tree_6; } } } else { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_4 goto cl_tree_5; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_11 goto cl_tree_5; } } } else { ACTION_12 goto cl_tree_5; } } else { ACTION_6 goto cl_tree_8; } } } else { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_I) { ACTION_3 goto cl_tree_6; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_6; } else { ACTION_7 goto cl_tree_6; } } } else { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_3 goto cl_tree_5; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } } else { if (CONDITION_I) { ACTION_8 goto cl_tree_5; } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_I) { ACTION_3 goto cl_tree_4; } else { ACTION_6 goto cl_tree_3; } } } } else { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } } } else { if (CONDITION_R) { ACTION_6 goto cl_tree_7; } else { if (CONDITION_N) { ACTION_6 goto cl_tree_7; } else { ACTION_2 goto cl_tree_7; } } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_tree_12: if ((c+=2) >= w - 2) { if (c > w - 2) { goto cl_break_0_8; } else { goto cl_break_1_12; } } if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_G) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 goto cl_tree_11; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_11; } else { ACTION_7 goto cl_tree_11; } } } else { ACTION_7 goto cl_tree_11; } } else { ACTION_11 goto cl_tree_11; } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_G) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 goto cl_tree_5; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } } else { ACTION_7 goto cl_tree_5; } } else { ACTION_11 goto cl_tree_5; } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_B) { ACTION_8 goto cl_tree_5; } else { ACTION_13 goto cl_tree_5; } } else { ACTION_16 goto cl_tree_5; } } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 goto cl_tree_4; } else { ACTION_7 goto cl_tree_4; } } else { ACTION_11 goto cl_tree_4; } } else { ACTION_6 goto cl_tree_3; } } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 goto cl_tree_10; } else { ACTION_7 goto cl_tree_10; } } else { ACTION_11 goto cl_tree_10; } } else { ACTION_6 goto cl_tree_9; } } } } else { if (CONDITION_J) { ACTION_4 goto cl_tree_11; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_10; } else { ACTION_2 goto cl_tree_9; } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_G) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 goto cl_tree_6; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_6; } else { ACTION_7 goto cl_tree_6; } } } else { ACTION_7 goto cl_tree_6; } } else { ACTION_11 goto cl_tree_6; } } else { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_G) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 goto cl_tree_5; } else { if (CONDITION_C) { ACTION_3 goto cl_tree_5; } else { ACTION_7 goto cl_tree_5; } } } else { ACTION_7 goto cl_tree_5; } } else { ACTION_11 goto cl_tree_5; } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_B) { ACTION_8 goto cl_tree_5; } else { ACTION_13 goto cl_tree_5; } } else { ACTION_16 goto cl_tree_5; } } else { ACTION_12 goto cl_tree_5; } } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 goto cl_tree_4; } else { ACTION_7 goto cl_tree_4; } } else { ACTION_11 goto cl_tree_4; } } else { ACTION_6 goto cl_tree_3; } } } } else { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } } else { if (CONDITION_R) { ACTION_6 goto cl_tree_7; } else { ACTION_2 goto cl_tree_7; } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto cl_tree_6; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto cl_tree_5; } else { ACTION_10 goto cl_tree_5; } } else { ACTION_5 goto cl_tree_5; } } else { if (CONDITION_I) { ACTION_4 goto cl_tree_4; } else { ACTION_2 goto cl_tree_3; } } } } else { if (CONDITION_T) { ACTION_2 goto cl_tree_2; } else { ACTION_1 goto cl_tree_1; } } } } cl_break_0_0: if (CONDITION_O) { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } else { if (CONDITION_S) { ACTION_2 } else { ACTION_1 } } continue; cl_break_0_1: if (CONDITION_O) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } else { if (CONDITION_S) { ACTION_2 } else { ACTION_1 } } continue; cl_break_0_2: if (CONDITION_O) { if (CONDITION_H) { ACTION_9 } else { if (CONDITION_I) { ACTION_11 } else { ACTION_6 } } } else { if (CONDITION_S) { ACTION_6 } else { ACTION_1 } } continue; cl_break_0_3: if (CONDITION_O) { ACTION_6 } else { if (CONDITION_S) { ACTION_6 } else { ACTION_1 } } continue; cl_break_0_4: if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_H) { ACTION_9 } else { if (CONDITION_I) { ACTION_11 } else { ACTION_6 } } } else { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } } else { if (CONDITION_S) { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } else { ACTION_1 } } continue; cl_break_0_5: if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_I) { ACTION_11 } else { ACTION_6 } } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_S) { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } else { ACTION_1 } } continue; cl_break_0_6: if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_I) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_6 } } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_S) { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } else { ACTION_1 } } continue; cl_break_0_7: if (CONDITION_O) { if (CONDITION_N) { ACTION_6 } else { if (CONDITION_R) { ACTION_3 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_3 } } } } else { if (CONDITION_S) { if (CONDITION_R) { ACTION_6 } else { if (CONDITION_N) { ACTION_6 } else { ACTION_2 } } } else { ACTION_1 } } continue; cl_break_0_8: if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_11 } } else { ACTION_6 } } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_S) { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } else { ACTION_1 } } continue; cl_break_1_0: if (CONDITION_O) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { ACTION_2 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_1: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } else { ACTION_4 } } } else { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { ACTION_2 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_2: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_11 } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_9 } else { ACTION_14 } } else { ACTION_11 } } } else { if (CONDITION_H) { ACTION_9 } else { if (CONDITION_I) { ACTION_11 } else { ACTION_6 } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_11 } else { if (CONDITION_I) { ACTION_11 } else { ACTION_6 } } } else { ACTION_6 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_3: if (CONDITION_O) { if (CONDITION_J) { ACTION_11 } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_11 } else { ACTION_6 } } else { ACTION_6 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { ACTION_2 } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_4: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_11 } } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_11 } } else { ACTION_6 } } else { ACTION_6 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { ACTION_2 } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_5: if (CONDITION_O) { if (CONDITION_J) { ACTION_4 } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { ACTION_6 } } else { ACTION_6 } } else { if (CONDITION_P) { ACTION_4 } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_6: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_11 } } } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_11 } } } else { ACTION_6 } } else { ACTION_6 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_7: if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_I) { ACTION_11 } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_9 } else { ACTION_14 } } else { ACTION_11 } } } else { if (CONDITION_H) { ACTION_9 } else { if (CONDITION_I) { ACTION_11 } else { ACTION_6 } } } } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } else { ACTION_4 } } } else { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { if (CONDITION_J) { ACTION_11 } else { if (CONDITION_I) { ACTION_11 } else { ACTION_6 } } } else { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } else { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_8: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_11 } } else { ACTION_11 } } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_11 } } else { ACTION_11 } } else { ACTION_6 } } else { ACTION_6 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { ACTION_2 } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_9: if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { ACTION_11 } else { if (CONDITION_I) { ACTION_11 } else { ACTION_6 } } } else { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { if (CONDITION_J) { ACTION_11 } else { if (CONDITION_I) { ACTION_11 } else { ACTION_6 } } } else { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } else { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_10: if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } } else { ACTION_7 } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_6 } } } else { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } } else { ACTION_7 } } else { if (CONDITION_I) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_6 } } } else { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } else { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_11: if (CONDITION_O) { if (CONDITION_N) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_11 } } } else { ACTION_6 } } else { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_I) { ACTION_3 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } } else { ACTION_3 } } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } } else { if (CONDITION_I) { ACTION_4 } else { ACTION_3 } } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_N) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_11 } } } else { ACTION_6 } } else { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_I) { ACTION_3 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } } else { if (CONDITION_I) { ACTION_3 } else { ACTION_6 } } } else { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } } else { if (CONDITION_R) { ACTION_6 } else { if (CONDITION_N) { ACTION_6 } else { ACTION_2 } } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; cl_break_1_12: if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_G) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } } else { ACTION_7 } } else { ACTION_11 } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_11 } } else { ACTION_6 } } } else { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { if (CONDITION_J) { if (CONDITION_G) { if (CONDITION_B) { if (CONDITION_I) { ACTION_3 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } } else { ACTION_7 } } else { ACTION_11 } } else { if (CONDITION_I) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_11 } } else { ACTION_6 } } } else { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } } else { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } continue; ================================================ FILE: include/labeling_tagliatelle_2021_fl_forest.inc.h ================================================ fl_tree_0: if ((c+=2) >= w - 2) { if (c > w - 2) { goto fl_break_0_0; } else { goto fl_break_1_0; } } if (CONDITION_O) { if (CONDITION_P) { ACTION_2 goto fl_tree_1; } else { ACTION_2 goto fl_tree_2; } } else { if (CONDITION_S) { if (CONDITION_P) { ACTION_2 goto fl_tree_1; } else { ACTION_2 goto fl_tree_2; } } else { if (CONDITION_P) { ACTION_2 goto fl_tree_1; } else { if (CONDITION_T) { ACTION_2 goto fl_tree_1; } else { ACTION_1 goto fl_tree_0; } } } } fl_tree_1: if ((c+=2) >= w - 2) { if (c > w - 2) { goto fl_break_0_1; } else { goto fl_break_1_1; } } if (CONDITION_O) { if (CONDITION_P) { ACTION_6 goto fl_tree_1; } else { ACTION_6 goto fl_tree_2; } } else { if (CONDITION_S) { if (CONDITION_P) { ACTION_6 goto fl_tree_1; } else { ACTION_6 goto fl_tree_2; } } else { if (CONDITION_P) { ACTION_2 goto fl_tree_1; } else { if (CONDITION_T) { ACTION_2 goto fl_tree_1; } else { ACTION_1 goto fl_tree_0; } } } } fl_tree_2: if ((c+=2) >= w - 2) { if (c > w - 2) { goto fl_break_0_2; } else { goto fl_break_1_2; } } if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_P) { ACTION_6 goto fl_tree_1; } else { ACTION_6 goto fl_tree_2; } } else { if (CONDITION_P) { ACTION_2 goto fl_tree_1; } else { ACTION_2 goto fl_tree_2; } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { ACTION_6 goto fl_tree_1; } else { ACTION_2 goto fl_tree_1; } } else { if (CONDITION_R) { ACTION_6 goto fl_tree_2; } else { ACTION_2 goto fl_tree_2; } } } else { if (CONDITION_P) { ACTION_2 goto fl_tree_1; } else { if (CONDITION_T) { ACTION_2 goto fl_tree_1; } else { ACTION_1 goto fl_tree_0; } } } } fl_break_0_0: if (CONDITION_O) { ACTION_2 } else { if (CONDITION_S) { ACTION_2 } else { ACTION_1 } } goto fl_; fl_break_0_1: if (CONDITION_O) { ACTION_6 } else { if (CONDITION_S) { ACTION_6 } else { ACTION_1 } } goto fl_; fl_break_0_2: if (CONDITION_O) { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } else { if (CONDITION_S) { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } else { ACTION_1 } } goto fl_; fl_break_1_0: if (CONDITION_O) { if (CONDITION_P) { ACTION_2 } else { ACTION_2 } } else { if (CONDITION_S) { if (CONDITION_P) { ACTION_2 } else { ACTION_2 } } else { if (CONDITION_P) { ACTION_2 } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } goto fl_; fl_break_1_1: if (CONDITION_O) { if (CONDITION_P) { ACTION_6 } else { ACTION_6 } } else { if (CONDITION_S) { if (CONDITION_P) { ACTION_6 } else { ACTION_6 } } else { if (CONDITION_P) { ACTION_2 } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } goto fl_; fl_break_1_2: if (CONDITION_O) { if (CONDITION_R) { if (CONDITION_P) { ACTION_6 } else { ACTION_6 } } else { if (CONDITION_P) { ACTION_2 } else { ACTION_2 } } } else { if (CONDITION_S) { if (CONDITION_P) { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } else { if (CONDITION_R) { ACTION_6 } else { ACTION_2 } } } else { if (CONDITION_P) { ACTION_2 } else { if (CONDITION_T) { ACTION_2 } else { ACTION_1 } } } } goto fl_; fl_:; ================================================ FILE: include/labeling_tagliatelle_2021_ll_forest.inc.h ================================================ ll_tree_0: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_0; } else { goto ll_break_1_0; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto ll_tree_4; } else { ACTION_10 goto ll_tree_4; } } else { ACTION_5 goto ll_tree_4; } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_3; } else { ACTION_2 goto ll_tree_2; } } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_0; } else { ACTION_2 goto ll_tree_0; } } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto ll_tree_4; } else { ACTION_10 goto ll_tree_4; } } else { ACTION_5 goto ll_tree_4; } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_3; } else { ACTION_2 goto ll_tree_2; } } } } else { ACTION_1 goto ll_tree_1; } } ll_tree_1: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_1; } else { goto ll_break_1_1; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_3 goto ll_tree_6; } else { ACTION_7 goto ll_tree_6; } } else { ACTION_4 goto ll_tree_6; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto ll_tree_4; } else { ACTION_10 goto ll_tree_4; } } else { if (CONDITION_H) { if (CONDITION_D) { if (CONDITION_C) { ACTION_3 goto ll_tree_4; } else { ACTION_7 goto ll_tree_4; } } else { ACTION_8 goto ll_tree_4; } } else { ACTION_5 goto ll_tree_4; } } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_3; } else { if (CONDITION_H) { ACTION_3 goto ll_tree_2; } else { ACTION_2 goto ll_tree_2; } } } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_0; } else { if (CONDITION_H) { ACTION_3 goto ll_tree_0; } else { ACTION_2 goto ll_tree_0; } } } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto ll_tree_4; } else { ACTION_10 goto ll_tree_4; } } else { ACTION_5 goto ll_tree_4; } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_3; } else { ACTION_2 goto ll_tree_2; } } } } else { ACTION_1 goto ll_tree_1; } } ll_tree_2: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_2; } else { goto ll_break_1_2; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_11 goto ll_tree_6; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { ACTION_11 goto ll_tree_4; } else { ACTION_12 goto ll_tree_4; } } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_K) { ACTION_5 goto ll_tree_4; } else { ACTION_2 goto ll_tree_2; } } } else { ACTION_1 goto ll_tree_1; } } ll_tree_3: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_2; } else { goto ll_break_1_3; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_B) { ACTION_3 goto ll_tree_6; } else { ACTION_7 goto ll_tree_6; } } else { ACTION_11 goto ll_tree_6; } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_C) { if (CONDITION_B) { ACTION_3 goto ll_tree_4; } else { ACTION_7 goto ll_tree_4; } } else { ACTION_11 goto ll_tree_4; } } else { ACTION_12 goto ll_tree_4; } } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_K) { ACTION_5 goto ll_tree_4; } else { ACTION_2 goto ll_tree_2; } } } else { ACTION_1 goto ll_tree_1; } } ll_tree_4: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_2; } else { goto ll_break_1_4; } } if (CONDITION_O) { if (CONDITION_J) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { ACTION_4 goto ll_tree_4; } else { ACTION_12 goto ll_tree_4; } } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_K) { if (CONDITION_D) { ACTION_4 goto ll_tree_4; } else { ACTION_10 goto ll_tree_4; } } else { ACTION_4 goto ll_tree_3; } } } else { ACTION_1 goto ll_tree_1; } } ll_tree_5: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_2; } else { goto ll_break_1_5; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_C) { ACTION_3 goto ll_tree_6; } else { ACTION_11 goto ll_tree_6; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_4 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_3 goto ll_tree_4; } else { ACTION_11 goto ll_tree_4; } } } else { ACTION_12 goto ll_tree_4; } } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto ll_tree_4; } else { ACTION_10 goto ll_tree_4; } } else { ACTION_5 goto ll_tree_4; } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_3; } else { ACTION_2 goto ll_tree_2; } } } } else { ACTION_1 goto ll_tree_1; } } ll_tree_6: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_3; } else { goto ll_break_1_6; } } if (CONDITION_O) { if (CONDITION_N) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_C) { ACTION_3 goto ll_tree_6; } else { ACTION_11 goto ll_tree_6; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_I) { ACTION_4 goto ll_tree_4; } else { if (CONDITION_C) { ACTION_3 goto ll_tree_4; } else { ACTION_11 goto ll_tree_4; } } } else { ACTION_12 goto ll_tree_4; } } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 goto ll_tree_6; } else { if (CONDITION_C) { ACTION_3 goto ll_tree_6; } else { ACTION_7 goto ll_tree_6; } } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto ll_tree_4; } else { ACTION_10 goto ll_tree_4; } } else { if (CONDITION_D) { if (CONDITION_C) { ACTION_3 goto ll_tree_4; } else { ACTION_7 goto ll_tree_4; } } else { ACTION_8 goto ll_tree_4; } } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_3; } else { ACTION_3 goto ll_tree_2; } } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_0; } else { ACTION_3 goto ll_tree_0; } } } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_K) { if (CONDITION_I) { if (CONDITION_D) { ACTION_4 goto ll_tree_4; } else { ACTION_10 goto ll_tree_4; } } else { ACTION_5 goto ll_tree_4; } } else { if (CONDITION_I) { ACTION_4 goto ll_tree_3; } else { ACTION_2 goto ll_tree_2; } } } } else { ACTION_1 goto ll_tree_1; } } ll_tree_7: if ((c+=2) >= w - 2) { if (c > w - 2) { goto ll_break_0_2; } else { goto ll_break_1_7; } } if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 goto ll_tree_6; } else { ACTION_7 goto ll_tree_6; } } else { ACTION_11 goto ll_tree_6; } } else { ACTION_11 goto ll_tree_6; } } else { if (CONDITION_P) { if (CONDITION_K) { if (CONDITION_D) { if (CONDITION_C) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 goto ll_tree_4; } else { ACTION_7 goto ll_tree_4; } } else { ACTION_11 goto ll_tree_4; } } else { ACTION_11 goto ll_tree_4; } } else { ACTION_12 goto ll_tree_4; } } else { ACTION_6 goto ll_tree_7; } } else { ACTION_6 goto ll_tree_0; } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 goto ll_tree_5; } else { if (CONDITION_K) { ACTION_5 goto ll_tree_4; } else { ACTION_2 goto ll_tree_2; } } } else { ACTION_1 goto ll_tree_1; } } ll_break_0_0: if (CONDITION_O) { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } else { ACTION_1 } goto ll_; ll_break_0_1: if (CONDITION_O) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } else { ACTION_1 } goto ll_; ll_break_0_2: if (CONDITION_O) { ACTION_6 } else { ACTION_1 } goto ll_; ll_break_0_3: if (CONDITION_O) { if (CONDITION_N) { ACTION_6 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_3 } } } else { ACTION_1 } goto ll_; ll_break_1_0: if (CONDITION_O) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { ACTION_1 } } goto ll_; ll_break_1_1: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } else { ACTION_4 } } } else { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_H) { ACTION_3 } else { ACTION_2 } } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { ACTION_1 } } goto ll_; ll_break_1_2: if (CONDITION_O) { if (CONDITION_J) { ACTION_11 } else { ACTION_6 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { ACTION_2 } } else { ACTION_1 } } goto ll_; ll_break_1_3: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_11 } } else { ACTION_6 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { ACTION_2 } } else { ACTION_1 } } goto ll_; ll_break_1_4: if (CONDITION_O) { if (CONDITION_J) { ACTION_4 } else { ACTION_6 } } else { if (CONDITION_P) { ACTION_4 } else { ACTION_1 } } goto ll_; ll_break_1_5: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_11 } } } else { ACTION_6 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { ACTION_1 } } goto ll_; ll_break_1_6: if (CONDITION_O) { if (CONDITION_N) { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_11 } } } else { ACTION_6 } } else { if (CONDITION_J) { if (CONDITION_I) { ACTION_4 } else { if (CONDITION_C) { ACTION_3 } else { ACTION_7 } } } else { if (CONDITION_I) { ACTION_4 } else { ACTION_3 } } } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { if (CONDITION_I) { ACTION_4 } else { ACTION_2 } } } else { ACTION_1 } } goto ll_; ll_break_1_7: if (CONDITION_O) { if (CONDITION_J) { if (CONDITION_C) { if (CONDITION_G) { if (CONDITION_B) { ACTION_3 } else { ACTION_7 } } else { ACTION_11 } } else { ACTION_11 } } else { ACTION_6 } } else { if (CONDITION_P) { if (CONDITION_J) { ACTION_4 } else { ACTION_2 } } else { ACTION_1 } } goto ll_; ll_:; ================================================ FILE: include/labeling_tagliatelle_2021_sl_forest.inc.h ================================================ sl_tree_0: if ((c+=2) >= w - 2) { if (c > w - 2) { goto sl_break_0_0; } else { goto sl_break_1_0; } } if (CONDITION_O) { if (CONDITION_P) { ACTION_2 goto sl_tree_1; } else { ACTION_2 goto sl_tree_0; } } else { if (CONDITION_P) { ACTION_2 goto sl_tree_1; } else { ACTION_1 goto sl_tree_0; } } sl_tree_1: if ((c+=2) >= w - 2) { if (c > w - 2) { goto sl_break_0_1; } else { goto sl_break_1_1; } } if (CONDITION_O) { if (CONDITION_P) { ACTION_6 goto sl_tree_1; } else { ACTION_6 goto sl_tree_0; } } else { if (CONDITION_P) { ACTION_2 goto sl_tree_1; } else { ACTION_1 goto sl_tree_0; } } sl_break_0_0: if (CONDITION_O) { ACTION_2 } else { ACTION_1 } goto sl_; sl_break_0_1: if (CONDITION_O) { ACTION_6 } else { ACTION_1 } goto sl_; sl_break_1_0: if (CONDITION_O) { if (CONDITION_P) { ACTION_2 } else { ACTION_2 } } else { if (CONDITION_P) { ACTION_2 } else { ACTION_1 } } goto sl_; sl_break_1_1: if (CONDITION_O) { if (CONDITION_P) { ACTION_6 } else { ACTION_6 } } else { if (CONDITION_P) { ACTION_2 } else { ACTION_1 } } goto sl_; sl_:; ================================================ FILE: include/labeling_wu_2009.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_WU_2009_H_ #define YACCLAB_LABELING_WU_2009_H_ #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class SAUF : public Labeling2D { public: SAUF() {} void PerformLabeling() { const int h = img_.rows; const int w = img_.cols; img_labels_ = cv::Mat1i(img_.size(), 0); // Allocation + initialization of the output image LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); // Memory allocation of the labels solver LabelsSolver::Setup(); // Labels solver initialization // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First scan for (int r = 0; r < h; ++r) { // Get row pointers unsigned char const * const img_row = img_.ptr(r); unsigned char const * const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); unsigned * const img_labels_row = img_labels_.ptr(r); unsigned * const img_labels_row_prev = (unsigned *)(((char *)img_labels_row) - img_labels_.step.p[0]); for (int c = 0; c < w; ++c) { #define CONDITION_P c > 0 && r > 0 && img_row_prev[c - 1] > 0 #define CONDITION_Q r > 0 && img_row_prev[c] > 0 #define CONDITION_R c < w - 1 && r > 0 && img_row_prev[c + 1] > 0 #define CONDITION_S c > 0 && img_row[c - 1] > 0 #define CONDITION_X img_row[c] > 0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); // new label #define ACTION_3 img_labels_row[c] = img_labels_row_prev[c - 1]; // x <- p #define ACTION_4 img_labels_row[c] = img_labels_row_prev[c]; // x <- q #define ACTION_5 img_labels_row[c] = img_labels_row_prev[c + 1]; // x <- r #define ACTION_6 img_labels_row[c] = img_labels_row[c - 1]; // x <- s #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev[c - 1], img_labels_row_prev[c + 1]); // x <- p + r #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row[c - 1], img_labels_row_prev[c + 1]); // x <- s + r #include "labeling_wu_2009_tree.inc.h" } } // Second scan n_labels_ = LabelsSolver::Flatten(); for (int r = 0; r < img_labels_.rows; ++r) { unsigned * img_row_start = img_labels_.ptr(r); unsigned * const img_row_end = img_row_start + img_labels_.cols; for (; img_row_start != img_row_end; ++img_row_start) { *img_row_start = LabelsSolver::GetLabel(*img_row_start); } } LabelsSolver::Dealloc(); // Memory deallocation of the labels solver #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R #undef CONDITION_S #undef CONDITION_X } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { const int h = img_.rows; const int w = img_.cols; LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); // Equivalence solver // Data structure for memory test MemMat img(img_); MemMat img_labels(img_.size(), 0); LabelsSolver::MemSetup(); // First scan // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ for (int r = 0; r < h; ++r) { for (int c = 0; c < w; ++c) { #define CONDITION_P c > 0 && r > 0 && img(r - 1 , c - 1) > 0 #define CONDITION_Q r > 0 && img(r - 1, c)>0 #define CONDITION_R c < w - 1 && r > 0 && img(r - 1,c + 1) > 0 #define CONDITION_S c > 0 && img(r,c - 1)>0 #define CONDITION_X img(r,c)>0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels(r, c) = LabelsSolver::MemNewLabel(); // new label #define ACTION_3 img_labels(r, c) = img_labels(r - 1, c - 1); // x <- p #define ACTION_4 img_labels(r, c) = img_labels(r - 1, c); // x <- q #define ACTION_5 img_labels(r, c) = img_labels(r - 1, c + 1); // x <- r #define ACTION_6 img_labels(r, c) = img_labels(r, c - 1); // x <- s #define ACTION_7 img_labels(r, c) = LabelsSolver::MemMerge((unsigned)img_labels(r - 1, c - 1), (unsigned)img_labels(r - 1, c + 1)); // x <- p + r #define ACTION_8 img_labels(r, c) = LabelsSolver::MemMerge((unsigned)img_labels(r, c - 1), (unsigned)img_labels(r - 1, c + 1)); // x <- s + r #include "labeling_wu_2009_tree.inc.h" } } // Second scan n_labels_ = LabelsSolver::MemFlatten(); for (int r = 0; r < h; ++r) { for (int c = 0; c < w; ++c) { img_labels(r, c) = LabelsSolver::MemGetLabel(img_labels(r, c)); } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R #undef CONDITION_S #undef CONDITION_X } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { const int h = img_.rows; const int w = img_.cols; memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); // Initialization LabelsSolver::Setup(); // Rosenfeld Mask // +-+-+-+ // |p|q|r| // +-+-+-+ // |s|x| // +-+-+ // First scan for (int r = 0; r < h; ++r) { // Get row pointers unsigned char const * const img_row = img_.ptr(r); unsigned char const * const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); unsigned * const img_labels_row = img_labels_.ptr(r); unsigned * const img_labels_row_prev = (unsigned *)(((char *)img_labels_row) - img_labels_.step.p[0]); for (int c = 0; c < w; ++c) { #define CONDITION_P c > 0 && r > 0 && img_row_prev[c - 1] > 0 #define CONDITION_Q r > 0 && img_row_prev[c] > 0 #define CONDITION_R c < w - 1 && r > 0 && img_row_prev[c + 1] > 0 #define CONDITION_S c > 0 && img_row[c - 1] > 0 #define CONDITION_X img_row[c] > 0 #define ACTION_1 // nothing to do #define ACTION_2 img_labels_row[c] = LabelsSolver::NewLabel(); // new label #define ACTION_3 img_labels_row[c] = img_labels_row_prev[c - 1]; // x <- p #define ACTION_4 img_labels_row[c] = img_labels_row_prev[c]; // x <- q #define ACTION_5 img_labels_row[c] = img_labels_row_prev[c + 1]; // x <- r #define ACTION_6 img_labels_row[c] = img_labels_row[c - 1]; // x <- s #define ACTION_7 img_labels_row[c] = LabelsSolver::Merge(img_labels_row_prev[c - 1], img_labels_row_prev[c + 1]); // x <- p + r #define ACTION_8 img_labels_row[c] = LabelsSolver::Merge(img_labels_row[c - 1], img_labels_row_prev[c + 1]); // x <- s + r #include "labeling_wu_2009_tree.inc.h" } } #undef ACTION_1 #undef ACTION_2 #undef ACTION_3 #undef ACTION_4 #undef ACTION_5 #undef ACTION_6 #undef ACTION_7 #undef ACTION_8 #undef CONDITION_P #undef CONDITION_Q #undef CONDITION_R #undef CONDITION_S #undef CONDITION_X } void SecondScan() { n_labels_ = LabelsSolver::Flatten(); for (int r = 0; r < img_labels_.rows; ++r) { unsigned * img_row_start = img_labels_.ptr(r); unsigned * const img_row_end = img_row_start + img_labels_.cols; for (; img_row_start != img_row_end; ++img_row_start) { *img_row_start = LabelsSolver::GetLabel(*img_row_start); } } } }; #endif // !YACCLAB_LABELING_WU_2009_H_ ================================================ FILE: include/labeling_wu_2009_tree.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. if (CONDITION_X) { if (CONDITION_Q) { //x <- q ACTION_4 } else { // q = 0 if (CONDITION_R) { if (CONDITION_P) { // x <- p + r ACTION_7 } else { // p = q = 0 if (CONDITION_S) { // x <- s + r ACTION_8 } else { // p = q = s = 0 // x <- r ACTION_5 } } } else { // r = q = 0 if (CONDITION_P) { // x <- p ACTION_3 } else { // r = q = p = 0 if (CONDITION_S) { // x <- s ACTION_6 } else { // New label ACTION_2 } } } } } else { // Nothing to do, x is a background pixel ACTION_1 } ================================================ FILE: include/labeling_wychang_2015.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Copyright (C) 2015 - Wan-Yu Chang and Chung-Cheng Chiu // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License as published by the Free // Software Foundation; either version 3 of the License, or (at your option) // any later version. // // This library is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more // details. // // You should have received a copy of the GNU Lesser General Public License along // with this library; if not, see . // // The "free" of library only licensed for the purposes of research and study. // For further information or business co-operation, please contact us at // Wan-Yu Chang and Chung-Cheng Chiu - Chung Cheng Institute of Technology of National Defense University. // No.75, Shiyuan Rd., Daxi Township, Taoyuan County 33551, Taiwan (R.O.C.) - e-mail: david.cc.chiu@gmail.com // // Specially thank for the help of Prof. Grana who provide his source code of the BBDT algorithm. #ifndef YACCLAB_LABELING_WYCHANG_2015_H_ #define YACCLAB_LABELING_WYCHANG_2015_H_ #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" template class CCIT : public Labeling2D { public: CCIT() {} void PerformLabeling() { img_labels_ = cv::Mat1i(img_.size(), 0); int w = img_labels_.cols; int h = img_labels_.rows; LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::Setup(); int lx, u, v, k; #define CONDITION_B1 img_row[x] > 0 #define CONDITION_B2 x+1 0 // WRONG in the original code -> add missing condition #define CONDITION_B3 y+1 0 // WRONG in the original code -> add missing condition #define CONDITION_B4 x+1 0 // WRONG in the original code -> add missing condition #define CONDITION_U1 x-1>0 && img_row_prev[x-1] > 0 // WRONG in the original code -> add missing condition #define CONDITION_U2 img_row_prev[x] > 0 #define CONDITION_U3 x+1 0 // WRONG in the original code -> add missing condition #define CONDITION_U4 x+2 0 // WRONG in the original code -> add missing condition #define ASSIGN_S img_labels_row[x] = img_labels_row[x-2] #define ASSIGN_P img_labels_row[x] = img_labels_row_prev_prev[x-2] #define ASSIGN_Q img_labels_row[x] = img_labels_row_prev_prev[x] #define ASSIGN_R img_labels_row[x] = img_labels_row_prev_prev[x+2] #define ASSIGN_LX img_labels_row[x] = lx #define LOAD_LX u = lx #define LOAD_PU u = img_labels_row_prev_prev[x-2] #define LOAD_PV v = img_labels_row_prev_prev[x-2] #define LOAD_QU u = img_labels_row_prev_prev[x] #define LOAD_QV v = img_labels_row_prev_prev[x] #define LOAD_QK k = img_labels_row_prev_prev[x] #define LOAD_RV v = img_labels_row_prev_prev[x+2] #define LOAD_RK k = img_labels_row_prev_prev[x+2] #define NEW_LABEL lx = img_labels_row[x] = LabelsSolver::NewLabel(); #define RESOLVE_2(u, v) LabelsSolver::Merge(u,v); #define RESOLVE_3(u, v, k) LabelsSolver::Merge(u,LabelsSolver::Merge(v,k)); bool nextprocedure2; int y = 0; // Extract from the first for const unsigned char* const img_row = img_.ptr(y); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(y); // Process first two rows for (int x = 0; x < w; x += 2) { #include "labeling_wychang_2015_tree_0.inc.h" } for (int y = 2; y < h; y += 2) { const unsigned char* const img_row = img_.ptr(y); const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(y); unsigned int* const img_labels_row_prev_prev = (unsigned int *)(((char *)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); for (int x = 0; x < w; x += 2) { #include "labeling_wychang_2015_tree.inc.h" } } // Second scan (changed with better performing strategy to handle odd rows and columns) n_labels_ = LabelsSolver::Flatten(); int e_rows = img_labels_.rows & 0xfffffffe; bool o_rows = img_labels_.rows % 2 == 1; int e_cols = img_labels_.cols & 0xfffffffe; bool o_cols = img_labels_.cols % 2 == 1; int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned *)(((char *)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } LabelsSolver::Dealloc(); #undef CONDITION_B1 #undef CONDITION_B2 #undef CONDITION_B3 #undef CONDITION_B4 #undef CONDITION_U1 #undef CONDITION_U2 #undef CONDITION_U3 #undef CONDITION_U4 #undef ASSIGN_S #undef ASSIGN_P #undef ASSIGN_Q #undef ASSIGN_R #undef ASSIGN_LX #undef LOAD_LX #undef LOAD_PU #undef LOAD_PV #undef LOAD_QU #undef LOAD_QV #undef LOAD_QK #undef LOAD_RV #undef LOAD_RK #undef NEW_LABEL #undef RESOLVE_2 #undef RESOLVE_3 } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { MemMat img(img_); MemMat img_labels(img_.size(), 0); LabelsSolver::MemAlloc(UPPER_BOUND_8_CONNECTIVITY); LabelsSolver::MemSetup(); // First scan int w(img_.cols); int h(img_.rows); int lx, u, v, k; #define CONDITION_B1 img(y, x) > 0 #define CONDITION_B2 x+1 0 // WRONG in the original code -> add missing condition #define CONDITION_B3 y+1 0 // WRONG in the original code -> add missing condition #define CONDITION_B4 x+1 0 // WRONG in the original code -> add missing condition #define CONDITION_U1 x-1>0 && img(y - 1, x - 1) > 0 // WRONG in the original code -> add missing condition #define CONDITION_U2 img(y - 1, x) > 0 #define CONDITION_U3 x+1 0 // WRONG in the original code -> add missing condition #define CONDITION_U4 x+2 0 // WRONG in the original code -> add missing condition #define ASSIGN_S img_labels(y, x) = img_labels(y, x - 2) #define ASSIGN_P img_labels(y, x) = img_labels(y - 2, x - 2) #define ASSIGN_Q img_labels(y, x) = img_labels(y - 2, x) #define ASSIGN_R img_labels(y, x) = img_labels(y - 2, x + 2) #define ASSIGN_LX img_labels(y, x) = lx #define LOAD_LX u = lx #define LOAD_PU u = img_labels(y - 2, x-2) #define LOAD_PV v = img_labels(y - 2, x-2) #define LOAD_QU u = img_labels(y - 2, x) #define LOAD_QV v = img_labels(y - 2, x) #define LOAD_QK k = img_labels(y - 2, x) #define LOAD_RV v = img_labels(y - 2, x+2) #define LOAD_RK k = img_labels(y - 2, x+2) #define NEW_LABEL lx = img_labels(y, x) = LabelsSolver::MemNewLabel(); #define RESOLVE_2(u, v) LabelsSolver::MemMerge(u,v); #define RESOLVE_3(u, v, k) LabelsSolver::MemMerge(u,LabelsSolver::MemMerge(v,k)); bool nextprocedure2; int y = 0; // Extract from the first for // Process first two rows for (int x = 0; x < w; x += 2) { #include "labeling_wychang_2015_tree_0.inc.h" } for (int y = 2; y < h; y += 2) { for (int x = 0; x < w; x += 2) { #include "labeling_wychang_2015_tree.inc.h" } } n_labels_ = LabelsSolver::MemFlatten(); // Second scan for (int r = 0; r < h; r += 2) { for (int c = 0; c < w; c += 2) { int iLabel = img_labels(r, c); if (iLabel > 0) { iLabel = LabelsSolver::MemGetLabel(iLabel); if (img(r, c) > 0) img_labels(r, c) = iLabel; else img_labels(r, c) = 0; if (c + 1 < w) { if (img(r, c + 1) > 0) img_labels(r, c + 1) = iLabel; else img_labels(r, c + 1) = 0; if (r + 1 < h) { if (img(r + 1, c) > 0) img_labels(r + 1, c) = iLabel; else img_labels(r + 1, c) = 0; if (img(r + 1, c + 1) > 0) img_labels(r + 1, c + 1) = iLabel; else img_labels(r + 1, c + 1) = 0; } } else if (r + 1 < h) { if (img(r + 1, c) > 0) img_labels(r + 1, c) = iLabel; else img_labels(r + 1, c) = 0; } } else { img_labels(r, c) = 0; if (c + 1 < w) { img_labels(r, c + 1) = 0; if (r + 1 < h) { img_labels(r + 1, c) = 0; img_labels(r + 1, c + 1) = 0; } } else if (r + 1 < h) { img_labels(r + 1, c) = 0; } } } } // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (uint64_t)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (uint64_t)img_labels.GetTotalAccesses(); accesses[MD_EQUIVALENCE_VEC] = (uint64_t)LabelsSolver::MemTotalAccesses(); img_labels_ = img_labels.GetImage(); LabelsSolver::MemDealloc(); #undef CONDITION_B1 #undef CONDITION_B2 #undef CONDITION_B3 #undef CONDITION_B4 #undef CONDITION_U1 #undef CONDITION_U2 #undef CONDITION_U3 #undef CONDITION_U4 #undef ASSIGN_S #undef ASSIGN_P #undef ASSIGN_Q #undef ASSIGN_R #undef ASSIGN_LX #undef LOAD_LX #undef LOAD_PU #undef LOAD_PV #undef LOAD_QU #undef LOAD_QV #undef LOAD_QK #undef LOAD_RV #undef LOAD_RK #undef NEW_LABEL #undef RESOLVE_2 #undef RESOLVE_3 } private: double Alloc() { // Memory allocation of the labels solver double ls_t = LabelsSolver::Alloc(UPPER_BOUND_8_CONNECTIVITY, perf_); // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ls_t + ma_t; } void Dealloc() { LabelsSolver::Dealloc(); // No free for img_labels_ because it is required at the end of the algorithm } void FirstScan() { memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); // Initialization LabelsSolver::Setup(); // First Scan int w = img_labels_.cols; int h = img_labels_.rows; int lx, u, v, k; #define CONDITION_B1 img_row[x] > 0 #define CONDITION_B2 x+1 0 // WRONG in the original code -> add missing condition #define CONDITION_B3 y+1 0 // WRONG in the original code -> add missing condition #define CONDITION_B4 x+1 0 // WRONG in the original code -> add missing condition #define CONDITION_U1 x-1>0 && img_row_prev[x-1] > 0 // WRONG in the original code -> add missing condition #define CONDITION_U2 img_row_prev[x] > 0 #define CONDITION_U3 x+1 0 // WRONG in the original code -> add missing condition #define CONDITION_U4 x+2 0 // WRONG in the original code -> add missing condition #define ASSIGN_S img_labels_row[x] = img_labels_row[x-2] #define ASSIGN_P img_labels_row[x] = img_labels_row_prev_prev[x-2] #define ASSIGN_Q img_labels_row[x] = img_labels_row_prev_prev[x] #define ASSIGN_R img_labels_row[x] = img_labels_row_prev_prev[x+2] #define ASSIGN_LX img_labels_row[x] = lx #define LOAD_LX u = lx #define LOAD_PU u = img_labels_row_prev_prev[x-2] #define LOAD_PV v = img_labels_row_prev_prev[x-2] #define LOAD_QU u = img_labels_row_prev_prev[x] #define LOAD_QV v = img_labels_row_prev_prev[x] #define LOAD_QK k = img_labels_row_prev_prev[x] #define LOAD_RV v = img_labels_row_prev_prev[x+2] #define LOAD_RK k = img_labels_row_prev_prev[x+2] #define NEW_LABEL lx = img_labels_row[x] = LabelsSolver::NewLabel(); #define RESOLVE_2(u, v) LabelsSolver::Merge(u,v); #define RESOLVE_3(u, v, k) LabelsSolver::Merge(u,LabelsSolver::Merge(v,k)); bool nextprocedure2; int y = 0; // Extract from the first for const unsigned char* const img_row = img_.ptr(y); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(y); // Process first two rows for (int x = 0; x < w; x += 2) { #include "labeling_wychang_2015_tree_0.inc.h" } for (int y = 2; y < h; y += 2) { const unsigned char* const img_row = img_.ptr(y); const unsigned char* const img_row_prev = (unsigned char *)(((char *)img_row) - img_.step.p[0]); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(y); unsigned int* const img_labels_row_prev_prev = (unsigned int *)(((char *)img_labels_row) - img_labels_.step.p[0] - img_labels_.step.p[0]); for (int x = 0; x < w; x += 2) { #include "labeling_wychang_2015_tree.inc.h" } } #undef CONDITION_B1 #undef CONDITION_B2 #undef CONDITION_B3 #undef CONDITION_B4 #undef CONDITION_U1 #undef CONDITION_U2 #undef CONDITION_U3 #undef CONDITION_U4 #undef ASSIGN_S #undef ASSIGN_P #undef ASSIGN_Q #undef ASSIGN_R #undef ASSIGN_LX #undef LOAD_LX #undef LOAD_PU #undef LOAD_PV #undef LOAD_QU #undef LOAD_QV #undef LOAD_QK #undef LOAD_RV #undef LOAD_RK #undef NEW_LABEL #undef RESOLVE_2 #undef RESOLVE_3 } void SecondScan() { // Second scan (changed with better performing strategy to handle odd rows and columns) n_labels_ = LabelsSolver::Flatten(); int e_rows = img_labels_.rows & 0xfffffffe; bool o_rows = img_labels_.rows % 2 == 1; int e_cols = img_labels_.cols & 0xfffffffe; bool o_cols = img_labels_.cols % 2 == 1; int r = 0; for (; r < e_rows; r += 2) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned* const img_labels_row = img_labels_.ptr(r); unsigned* const img_labels_row_fol = (unsigned *)(((char *)img_labels_row) + img_labels_.step.p[0]); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; if (img_row_fol[c + 1] > 0) img_labels_row_fol[c + 1] = iLabel; else img_labels_row_fol[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; img_labels_row_fol[c] = 0; img_labels_row_fol[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row_fol[c] > 0) img_labels_row_fol[c] = iLabel; else img_labels_row_fol[c] = 0; } else { img_labels_row[c] = 0; img_labels_row_fol[c] = 0; } } } // Last row if the number of rows is odd if (o_rows) { // Get rows pointer const unsigned char* const img_row = img_.ptr(r); unsigned* const img_labels_row = img_labels_.ptr(r); int c = 0; for (; c < e_cols; c += 2) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; if (img_row[c + 1] > 0) img_labels_row[c + 1] = iLabel; else img_labels_row[c + 1] = 0; } else { img_labels_row[c] = 0; img_labels_row[c + 1] = 0; } } // Last column if the number of columns is odd if (o_cols) { int iLabel = img_labels_row[c]; if (iLabel > 0) { iLabel = LabelsSolver::GetLabel(iLabel); if (img_row[c] > 0) img_labels_row[c] = iLabel; else img_labels_row[c] = 0; } else { img_labels_row[c] = 0; } } } } }; #endif //YACCLAB_LABELING_WYCHANG_2015_H_ ================================================ FILE: include/labeling_wychang_2015_tree.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Copyright (C) 2015 - Wan-Yu Chang and Chung-Cheng Chiu // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License as published by the Free // Software Foundation; either version 3 of the License, or (at your option) // any later version. // // This library is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more // details. // // You should have received a copy of the GNU Lesser General Public License along // with this library; if not, see . // // The "free" of library only licensed for the purposes of research and study. // For further information or business co-operation, please contact us at // Wan-Yu Chang and Chung-Cheng Chiu - Chung Cheng Institute of Technology of National Defense University. // No.75, Shiyuan Rd., Daxi Township, Taoyuan County 33551, Taiwan (R.O.C.) - e-mail: david.cc.chiu@gmail.com // // Specially thank for the help of Prof. Grana who provide his source code of the BBDT algorithm. if (CONDITION_B1) { if (CONDITION_B2) { if (CONDITION_U2) { lx = ASSIGN_Q; if (CONDITION_U3) { } else { if (CONDITION_U4) { LOAD_LX; LOAD_RV; RESOLVE_2(u, v); } } } else if (CONDITION_U3) { lx = ASSIGN_Q; if (CONDITION_U1) { LOAD_LX; LOAD_PV; RESOLVE_2(u, v); } } else if (CONDITION_U1) { lx = ASSIGN_P; if (CONDITION_U4) { LOAD_LX; LOAD_RV; RESOLVE_2(u, v); } } else if (CONDITION_U4) { lx = ASSIGN_R; } else { NEW_LABEL; } nextprocedure2 = true; } else { if (CONDITION_U2) { lx = ASSIGN_Q; } else if (CONDITION_U1) { lx = ASSIGN_P; if (CONDITION_U3) { LOAD_LX; LOAD_QV; RESOLVE_2(u, v); } } else if (CONDITION_U3) { lx = ASSIGN_Q; } else { NEW_LABEL; } if (CONDITION_B4) nextprocedure2 = true; else nextprocedure2 = false; } } else if (CONDITION_B2) { if (CONDITION_U3) { lx = ASSIGN_Q; } else if (CONDITION_U2) { lx = ASSIGN_Q; if (CONDITION_U4) { LOAD_LX; LOAD_RV; RESOLVE_2(u, v); } } else if (CONDITION_U4) { lx = ASSIGN_R; } else { NEW_LABEL; } nextprocedure2 = true; } else if (CONDITION_B3) { NEW_LABEL; if (CONDITION_B4) nextprocedure2 = true;// else nextprocedure2 = false; } else if (CONDITION_B4) { NEW_LABEL; nextprocedure2 = true; } else { nextprocedure2 = false; } while (nextprocedure2 && x + 2 < w) { x = x + 2; if (CONDITION_B1) { ASSIGN_LX; if (CONDITION_B2) { if (CONDITION_U2) { if (CONDITION_U3) { LOAD_LX; LOAD_QV; RESOLVE_2(u, v); } else { if (CONDITION_U4) { LOAD_LX; LOAD_QV; LOAD_RK; RESOLVE_3(u, v, k); } else { LOAD_LX; LOAD_QV; RESOLVE_2(u, v); } } } else if (CONDITION_U3) { if (CONDITION_U1) { LOAD_LX; LOAD_PV; LOAD_QK; RESOLVE_3(u, v, k); } else { // Reslove S, Q LOAD_LX; LOAD_QV; RESOLVE_2(u, v); } } else if (CONDITION_U1) { if (CONDITION_U4) { LOAD_LX; LOAD_PV; LOAD_RK; RESOLVE_3(u, v, k); } else { LOAD_LX; LOAD_PV; RESOLVE_2(u, v); } } else if (CONDITION_U4) { LOAD_LX; LOAD_RV; RESOLVE_2(u, v); } nextprocedure2 = true; } else { ASSIGN_LX; if (CONDITION_U2) { LOAD_LX; LOAD_QV; RESOLVE_2(u, v); } else if (CONDITION_U1) { if (CONDITION_U3) { LOAD_LX; LOAD_PV; LOAD_QK; RESOLVE_3(u, v, k); } else { LOAD_LX; LOAD_PV; RESOLVE_2(u, v); } } else if (CONDITION_U3) { LOAD_LX; LOAD_QV; RESOLVE_2(u, v); } if (CONDITION_B4) nextprocedure2 = true;// else nextprocedure2 = false; } } else if (CONDITION_B2) { if (CONDITION_B3) { ASSIGN_LX; if (CONDITION_U3) { LOAD_LX; LOAD_QV; RESOLVE_2(u, v); } else if (CONDITION_U2) { if (CONDITION_U4) { LOAD_LX; LOAD_QV; LOAD_RK; RESOLVE_3(u, v, k); } else { LOAD_LX; LOAD_QV; RESOLVE_2(u, v); } }if (CONDITION_U4) { LOAD_LX; LOAD_RV; RESOLVE_2(u, v); } } else { if (CONDITION_U3) { lx = ASSIGN_Q; } else if (CONDITION_U2) { lx = ASSIGN_Q; if (CONDITION_U4) { LOAD_LX; LOAD_RV; RESOLVE_2(u, v); } } else if (CONDITION_U4) { lx = ASSIGN_R; } else { NEW_LABEL; } } nextprocedure2 = true; } else if (CONDITION_B3) { ASSIGN_LX; if (CONDITION_B4) nextprocedure2 = true; else nextprocedure2 = false; } else if (CONDITION_B4) { NEW_LABEL; nextprocedure2 = true; } else { nextprocedure2 = false; } } ================================================ FILE: include/labeling_wychang_2015_tree_0.inc.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Copyright (C) 2015 - Wan-Yu Chang and Chung-Cheng Chiu // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License as published by the Free // Software Foundation; either version 3 of the License, or (at your option) // any later version. // // This library is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more // details. // // You should have received a copy of the GNU Lesser General Public License along // with this library; if not, see . // // The "free" of library only licensed for the purposes of research and study. // For further information or business co-operation, please contact us at // Wan-Yu Chang and Chung-Cheng Chiu - Chung Cheng Institute of Technology of National Defense University. // No.75, Shiyuan Rd., Daxi Township, Taoyuan County 33551, Taiwan (R.O.C.) - e-mail: david.cc.chiu@gmail.com // // Specially thank for the help of Prof. Grana who provide his source code of the BBDT algorithm. if (CONDITION_B1) { NEW_LABEL; if ((CONDITION_B2) || (CONDITION_B4)) nextprocedure2 = true; else nextprocedure2 = false; } else if (CONDITION_B2) { NEW_LABEL; nextprocedure2 = true; } else if (CONDITION_B3) { NEW_LABEL; if (CONDITION_B4) nextprocedure2 = true; else nextprocedure2 = false; } else if (CONDITION_B4) { NEW_LABEL; nextprocedure2 = true; } else { nextprocedure2 = false; } while (nextprocedure2 && x + 2 < w) { x = x + 2; if (CONDITION_B1) { ASSIGN_LX; if ((CONDITION_B2) || (CONDITION_B4)) nextprocedure2 = true; else nextprocedure2 = false; } else if (CONDITION_B2) { if (CONDITION_B3) { ASSIGN_LX; } else { NEW_LABEL; } nextprocedure2 = true; } else if (CONDITION_B3) { ASSIGN_LX; if (CONDITION_B4) nextprocedure2 = true; else nextprocedure2 = false; } else if (CONDITION_B4) { NEW_LABEL; nextprocedure2 = true; } else { nextprocedure2 = false; } } ================================================ FILE: include/labeling_zhao_2010.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELING_ZHAO_2010_H_ #define YACCLAB_LABELING_ZHAO_2010_H_ #include #include #include #include "labeling_algorithms.h" #include "labels_solver.h" #include "memory_tester.h" class SBLA : public Labeling2D { public: SBLA() {} void PerformLabeling() { int N = img_.cols; int M = img_.rows; img_labels_ = cv::Mat1i(M, N); // Fix for first pixel! n_labels_ = 0; uchar firstpixel = img_.data[0]; if (firstpixel) { const_cast(img_).data[0] = 0; if (M == 1) { if (N == 1) n_labels_ = 1; else n_labels_ = img_.data[1] == 0; } else { if (N == 1) n_labels_ = img_.data[img_.step[0]] == 0; else n_labels_ = img_.data[1] == 0 && img_.data[img_.step[0]] == 0 && img_.data[img_.step[0] + 1] == 0; } } // Stripe extraction and representation unsigned int* img_labels_row_prev = nullptr; int rN = 0; int r1N = N; int N2 = N * 2; int e_rows = img_labels_.rows & 0xfffffffe; bool o_rows = img_labels_.rows % 2 == 1; int r = 0; for (; r < e_rows; r += 2) { const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(r); unsigned int* const img_labels_row_fol = (unsigned int *)(((char *)img_labels_row) + img_labels_.step.p[0]); for (int c = 0; c < N; ++c) { img_labels_row[c] = img_row[c]; img_labels_row_fol[c] = img_row_fol[c]; } for (int c = 0; c < N; ++c) { // Step 1 int evenpix = img_labels_row[c]; int oddpix = img_labels_row_fol[c]; // Step 2 int Gp; if (oddpix) { img_labels_row_fol[c] = Gp = -(r1N + c); if (evenpix) img_labels_row[c] = Gp; } else if (evenpix) img_labels_row[c] = Gp = -(rN + c); else continue; // Step 3 int stripestart = c; while (++c < N) { int evenpix = img_labels_row[c]; int oddpix = img_labels_row_fol[c]; if (oddpix) { img_labels_row_fol[c] = Gp; if (evenpix) img_labels_row[c] = Gp; } else if (evenpix) img_labels_row[c] = Gp; else break; } int stripestop = c; if (r == 0) continue; // Stripe union int lastroot = INT_MIN; for (int i = stripestart; i < stripestop; ++i) { int linepix = img_labels_row[i]; if (!linepix) continue; int runstart = std::max(0, i - 1); do i++; while (i < N && img_labels_row[i]); int runstop = std::min(N - 1, i); for (int j = runstart; j <= runstop; ++j) { int curpix = img_labels_row_prev[j]; if (!curpix) continue; int newroot = FindRoot(reinterpret_cast(img_labels_.data), curpix); if (newroot > lastroot) { lastroot = newroot; FindRootAndCompress(reinterpret_cast(img_labels_.data), Gp, lastroot); } else if (newroot < lastroot) { FindRootAndCompress(reinterpret_cast(img_labels_.data), newroot, lastroot); } do ++j; while (j <= runstop && img_labels_row_prev[j]); } } } img_labels_row_prev = img_labels_row_fol; rN += N2; r1N += N2; } // Last row if the number of rows is odd if (o_rows) { const unsigned char* const img_row = img_.ptr(r); unsigned int* const img_labels_row = img_labels_.ptr(r); for (int c = 0; c < N; ++c) { img_labels_row[c] = img_row[c]; } for (int c = 0; c < N; ++c) { // Step 1 int evenpix = img_labels_row[c]; // Step 2 int Gp; if (evenpix) img_labels_row[c] = Gp = -(rN + c); else continue; // Step 3 int stripestart = c; while (++c < N) { int evenpix = img_labels_row[c]; if (evenpix) img_labels_row[c] = Gp; else break; } int stripestop = c; if (r == 0) continue; // Stripe union int lastroot = INT_MIN; for (int i = stripestart; i < stripestop; ++i) { int linepix = img_labels_row[i]; if (!linepix) continue; int runstart = std::max(0, i - 1); do i++; while (i < N && img_labels_row[i]); int runstop = std::min(N - 1, i); for (int j = runstart; j <= runstop; ++j) { int curpix = img_labels_row_prev[j]; if (!curpix) continue; int newroot = FindRoot(reinterpret_cast(img_labels_.data), curpix); if (newroot > lastroot) { lastroot = newroot; FindRootAndCompress(reinterpret_cast(img_labels_.data), Gp, lastroot); } else if (newroot < lastroot) { FindRootAndCompress(reinterpret_cast(img_labels_.data), newroot, lastroot); } do ++j; while (j <= runstop && img_labels_row_prev[j]); } } } } // Label assignment int *img_labelsdata = reinterpret_cast(img_labels_.data); for (int i = 0; i < M * N; ++i) { // FindRoot_GetLabel int pos = img_labelsdata[i]; if (pos >= 0) continue; int tmp; while (true) { tmp = img_labelsdata[-pos]; if (pos == tmp || tmp >= 0) break; pos = tmp; } if (tmp < 0) img_labelsdata[-pos] = ++n_labels_; // Assign final label img_labelsdata[i] = img_labelsdata[-pos]; } // Fix for first pixel! if (firstpixel) { const_cast(img_).data[0] = firstpixel; if (N > 1 && img_labels_.data[1]) img_labels_.data[0] = img_labels_.data[1]; else if (M > 1 && img_labels_.data[img_.step[0]]) img_labels_.data[0] = img_labels_.data[img_.step[0]]; else if (N > 1 && M > 1 && img_labels_.data[img_.step[0] + 1]) img_labels_.data[0] = img_labels_.data[img_.step[0] + 1]; else img_labels_.data[0] = 1; } n_labels_++; // To count also background } void PerformLabelingWithSteps() { double alloc_timing = Alloc(); perf_.start(); FirstScan(); perf_.stop(); perf_.store(Step(StepType::FIRST_SCAN), perf_.last()); perf_.start(); SecondScan(); perf_.stop(); perf_.store(Step(StepType::SECOND_SCAN), perf_.last()); perf_.start(); Dealloc(); perf_.stop(); perf_.store(Step(StepType::ALLOC_DEALLOC), perf_.last() + alloc_timing); } void PerformLabelingMem(std::vector& accesses) { MemMat img(img_); MemMat img_labels(img_.size()); int N = img_.cols; int M = img_.rows; // Fix for first pixel! n_labels_ = 0; uchar firstpixel = img(0, 0); if (firstpixel) { img(0, 0) = 0; if (M == 1) { if (N == 1) n_labels_ = 1; else n_labels_ = img(0, 1) == 0; } else { if (N == 1) n_labels_ = img(1, 0) == 0; else n_labels_ = img(0, 1) == 0 && img(1, 0) == 0 && img(1, 1) == 0; } } // Stripe extraction and representation int rN = 0; int r1N = N; int N2 = N * 2; int e_rows = img_labels.rows & 0xfffffffe; bool o_rows = img_labels.rows % 2 == 1; int r = 0; for (; r < e_rows; r += 2) { for (int c = 0; c < N; ++c) { img_labels(r, c) = img(r, c); img_labels(r + 1, c) = img(r + 1, c); } for (int c = 0; c < N; ++c) { // Step 1 int evenpix = img_labels(r, c); int oddpix = img_labels(r + 1, c); // Step 2 int Gp; if (oddpix) { img_labels(r + 1, c) = Gp = -(r1N + c); if (evenpix) img_labels(r, c) = Gp; } else if (evenpix) img_labels(r, c) = Gp = -(rN + c); else continue; // Step 3 int stripestart = c; while (++c < N) { int evenpix = img_labels(r, c); int oddpix = img_labels(r + 1, c); if (oddpix) { img_labels(r + 1, c) = Gp; if (evenpix) img_labels(r, c) = Gp; } else if (evenpix) img_labels(r, c) = Gp; else break; } int stripestop = c; if (r == 0) continue; // Stripe union int lastroot = INT_MIN; for (int i = stripestart; i < stripestop; ++i) { int linepix = img_labels(r, i); if (!linepix) continue; int runstart = std::max(0, i - 1); do i++; while (i < N && img_labels(r, i)); int runstop = std::min(N - 1, i); for (int j = runstart; j <= runstop; ++j) { int curpix = img_labels(r - 1, j); if (!curpix) continue; int newroot = FindRootMem(img_labels, curpix); if (newroot > lastroot) { lastroot = newroot; FindRootAndCompressMem(img_labels, Gp, lastroot); } else if (newroot < lastroot) { FindRootAndCompressMem(img_labels, newroot, lastroot); } do ++j; while (j <= runstop && img_labels(r - 1, j)); } } } rN += N2; r1N += N2; } // Last row if the number of rows is odd if (o_rows) { for (int c = 0; c < N; ++c) { img_labels(r, c) = img(r, c); } for (int c = 0; c < N; ++c) { // Step 1 int evenpix = img_labels(r, c); // Step 2 int Gp; if (evenpix) img_labels(r, c) = Gp = -(rN + c); else continue; // Step 3 int stripestart = c; while (++c < N) { int evenpix = img_labels(r, c); if (evenpix) img_labels(r, c) = Gp; else break; } int stripestop = c; if (r == 0) continue; // Stripe union int lastroot = INT_MIN; for (int i = stripestart; i < stripestop; ++i) { int linepix = img_labels(r, i); if (!linepix) continue; int runstart = std::max(0, i - 1); do i++; while (i < N && img_labels(r, i)); int runstop = std::min(N - 1, i); for (int j = runstart; j <= runstop; ++j) { int curpix = img_labels(r - 1, j); if (!curpix) continue; int newroot = FindRootMem(img_labels, curpix); if (newroot > lastroot) { lastroot = newroot; FindRootAndCompressMem(img_labels, Gp, lastroot); } else if (newroot < lastroot) { FindRootAndCompressMem(img_labels, newroot, lastroot); } do ++j; while (j <= runstop && img_labels(r -1, j)); } } } } // Label assignment for (int i = 0; i < M * N; ++i) { // FindRoot_GetLabel int pos = img_labels(i); if (pos >= 0) continue; int tmp; while (true) { tmp = img_labels(-pos); if (pos == tmp || tmp >= 0) break; pos = tmp; } if (tmp < 0) img_labels(-pos) = ++n_labels_; // Assign final label img_labels(i) = img_labels(-pos); } // Fix for first pixel! if (firstpixel) { img(0, 0) = firstpixel; if (N > 1 && img_labels(0, 1)) img_labels(0, 0) = img_labels(0, 1); else if (M > 1 && img_labels(1, 0)) img_labels(0, 0) = img_labels(1, 0); else if (N > 1 && M > 1 && img_labels(1, 1)) img_labels(0, 0) = img_labels(1, 1); else img_labels(0, 0) = 1; } n_labels_++; // To count also background // Store total accesses in the output vector 'accesses' accesses = std::vector((int)MD_SIZE, 0); accesses[MD_BINARY_MAT] = (unsigned long int)img.GetTotalAccesses(); accesses[MD_LABELED_MAT] = (unsigned long int)img_labels.GetTotalAccesses(); img_labels_ = img_labels.GetImage(); } private: inline int FindRoot(int *img_labels, int pos) { while (true) { int tmppos = img_labels[-pos]; if (tmppos == pos) break; pos = tmppos; } return pos; } inline void FindRootAndCompress(int *img_labels, int pos, int newroot) { while (true) { int tmppos = img_labels[-pos]; if (tmppos == newroot) break; img_labels[-pos] = newroot; if (tmppos == pos) break; pos = tmppos; } } inline int FindRootMem(MemMat& img_labels, int pos) { while (true) { int tmppos = img_labels(-pos); if (tmppos == pos) break; pos = tmppos; } return pos; } inline void FindRootAndCompressMem(MemMat& img_labels, int pos, int newroot) { while (true) { int tmppos = img_labels(-pos); if (tmppos == newroot) break; img_labels(-pos) = newroot; if (tmppos == pos) break; pos = tmppos; } } unsigned char firstpixel; int N; int M; double Alloc() { // Memory allocation for the output image perf_.start(); img_labels_ = cv::Mat1i(img_.size()); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double t = perf_.last(); perf_.start(); memset(img_labels_.data, 0, img_labels_.dataend - img_labels_.datastart); perf_.stop(); double ma_t = t - perf_.last(); // Return total time return ma_t; } void Dealloc() { } void FirstScan() { N = img_.cols; M = img_.rows; img_labels_ = cv::Mat1i(M, N); // Fix for first pixel! n_labels_ = 0; firstpixel = img_.data[0]; if (firstpixel) { const_cast(img_).data[0] = 0; if (M == 1) { if (N == 1) n_labels_ = 1; else n_labels_ = img_.data[1] == 0; } else { if (N == 1) n_labels_ = img_.data[img_.step[0]] == 0; else n_labels_ = img_.data[1] == 0 && img_.data[img_.step[0]] == 0 && img_.data[img_.step[0] + 1] == 0; } } // Stripe extraction and representation unsigned int* img_labels_row_prev = nullptr; int rN = 0; int r1N = N; int N2 = N * 2; int e_rows = img_labels_.rows & 0xfffffffe; bool o_rows = img_labels_.rows % 2 == 1; int r = 0; for (; r < e_rows; r += 2) { const unsigned char* const img_row = img_.ptr(r); const unsigned char* const img_row_fol = (unsigned char *)(((char *)img_row) + img_.step.p[0]); unsigned int* const img_labels_row = img_labels_.ptr(r); unsigned int* const img_labels_row_fol = (unsigned int *)(((char *)img_labels_row) + img_labels_.step.p[0]); for (int c = 0; c < N; ++c) { img_labels_row[c] = img_row[c]; img_labels_row_fol[c] = img_row_fol[c]; } for (int c = 0; c < N; ++c) { // Step 1 int evenpix = img_labels_row[c]; int oddpix = img_labels_row_fol[c]; // Step 2 int Gp; if (oddpix) { img_labels_row_fol[c] = Gp = -(r1N + c); if (evenpix) img_labels_row[c] = Gp; } else if (evenpix) img_labels_row[c] = Gp = -(rN + c); else continue; // Step 3 int stripestart = c; while (++c < N) { int evenpix = img_labels_row[c]; int oddpix = img_labels_row_fol[c]; if (oddpix) { img_labels_row_fol[c] = Gp; if (evenpix) img_labels_row[c] = Gp; } else if (evenpix) img_labels_row[c] = Gp; else break; } int stripestop = c; if (r == 0) continue; // Stripe union int lastroot = INT_MIN; for (int i = stripestart; i < stripestop; ++i) { int linepix = img_labels_row[i]; if (!linepix) continue; int runstart = std::max(0, i - 1); do i++; while (i < N && img_labels_row[i]); int runstop = std::min(N - 1, i); for (int j = runstart; j <= runstop; ++j) { int curpix = img_labels_row_prev[j]; if (!curpix) continue; int newroot = FindRoot(reinterpret_cast(img_labels_.data), curpix); if (newroot > lastroot) { lastroot = newroot; FindRootAndCompress(reinterpret_cast(img_labels_.data), Gp, lastroot); } else if (newroot < lastroot) { FindRootAndCompress(reinterpret_cast(img_labels_.data), newroot, lastroot); } do ++j; while (j <= runstop && img_labels_row_prev[j]); } } } img_labels_row_prev = img_labels_row_fol; rN += N2; r1N += N2; } // Last row if the number of rows is odd if (o_rows) { const unsigned char* const img_row = img_.ptr(r); unsigned int* const img_labels_row = img_labels_.ptr(r); for (int c = 0; c < N; ++c) { img_labels_row[c] = img_row[c]; } for (int c = 0; c < N; ++c) { // Step 1 int evenpix = img_labels_row[c]; // Step 2 int Gp; if (evenpix) img_labels_row[c] = Gp = -(rN + c); else continue; // Step 3 int stripestart = c; while (++c < N) { int evenpix = img_labels_row[c]; if (evenpix) img_labels_row[c] = Gp; else break; } int stripestop = c; if (r == 0) continue; // Stripe union int lastroot = INT_MIN; for (int i = stripestart; i < stripestop; ++i) { int linepix = img_labels_row[i]; if (!linepix) continue; int runstart = std::max(0, i - 1); do i++; while (i < N && img_labels_row[i]); int runstop = std::min(N - 1, i); for (int j = runstart; j <= runstop; ++j) { int curpix = img_labels_row_prev[j]; if (!curpix) continue; int newroot = FindRoot(reinterpret_cast(img_labels_.data), curpix); if (newroot > lastroot) { lastroot = newroot; FindRootAndCompress(reinterpret_cast(img_labels_.data), Gp, lastroot); } else if (newroot < lastroot) { FindRootAndCompress(reinterpret_cast(img_labels_.data), newroot, lastroot); } do ++j; while (j <= runstop && img_labels_row_prev[j]); } } } } } void SecondScan() { // Label assignment int *img_labelsdata = reinterpret_cast(img_labels_.data); for (int i = 0; i < M * N; ++i) { // FindRoot_GetLabel int pos = img_labelsdata[i]; if (pos >= 0) continue; int tmp; while (true) { tmp = img_labelsdata[-pos]; if (pos == tmp || tmp >= 0) break; pos = tmp; } if (tmp < 0) img_labelsdata[-pos] = ++n_labels_; // Assign final label img_labelsdata[i] = img_labelsdata[-pos]; } // Fix for first pixel! if (firstpixel) { const_cast(img_).data[0] = firstpixel; if (N > 1 && img_labels_.data[1]) img_labels_.data[0] = img_labels_.data[1]; else if (M > 1 && img_labels_.data[img_.step[0]]) img_labels_.data[0] = img_labels_.data[img_.step[0]]; else if (N > 1 && M > 1 && img_labels_.data[img_.step[0] + 1]) img_labels_.data[0] = img_labels_.data[img_.step[0] + 1]; else img_labels_.data[0] = 1; } n_labels_++; // To count also background } }; #endif // YACCLAB_LABELING_ZHAO_2010_H_ ================================================ FILE: include/labels_solver.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_LABELS_SOLVER_H_ #define YACCLAB_LABELS_SOLVER_H_ #include "register.h" #include "memory_tester.h" #include "performance_evaluator.h" // Union-find (UF) class UF { // Maximum number of labels (included background) = 2^(sizeof(unsigned) x 8) public: static double Alloc(unsigned max_length, PerformanceEvaluator& perf) { perf.start(); P_ = new unsigned[max_length]; memset(P_, 0, max_length * sizeof(unsigned)); perf.stop(); double t = perf.last(); perf.start(); memset(P_, 0, max_length * sizeof(unsigned)); perf.stop(); return t - perf.last(); } static void Alloc(unsigned max_length) { P_ = new unsigned[max_length]; } static void Dealloc() { delete[] P_; } static void Setup() { P_[0] = 0;// First label is for background pixels length_ = 1; } static unsigned NewLabel() { P_[length_] = length_; return length_++; } static unsigned GetLabel(unsigned index) { return P_[index]; } // Basic functions of the UF solver required only by the Light-Speed Labeling Algorithms: // - "UpdateTable" updates equivalences array without performing "Find" operations // - "FindRoot" finds the root of the tree of node i (for the other algorithms it is // already included in the "Merge" and "Flatten" functions). static void UpdateTable(unsigned e, unsigned r) { P_[e] = r; } static unsigned FindRoot(unsigned root) { while (P_[root] < root) { root = P_[root]; } return root; } static unsigned Merge(unsigned i, unsigned j) { // FindRoot(i) while (P_[i] < i) { i = P_[i]; } // FindRoot(j) while (P_[j] < j) { j = P_[j]; } if (i < j) return P_[j] = i; return P_[i] = j; } static unsigned Flatten() { unsigned k = 1; for (unsigned i = 1; i < length_; ++i) { if (P_[i] < i) { P_[i] = P_[P_[i]]; } else { P_[i] = k; k = k + 1; } } return k; } /***************************************************************/ static void MemAlloc(unsigned max_length) { mem_P_ = MemVector(max_length); } static void MemDealloc() {} static void MemSetup() { mem_P_[0] = 0; // First label is for background pixels length_ = 1; } static unsigned MemNewLabel() { mem_P_[length_] = length_; return length_++; } static unsigned MemGetLabel(unsigned index) { return mem_P_[index]; } static double MemTotalAccesses() { return mem_P_.GetTotalAccesses(); } // Basic functions of the UF solver required only by the Light-Speed Labeling Algorithms: // - "MemUpdateTable" updates equivalences array without performing "MemFind" operations // - "MemFindRoot" finds the root of the tree of node i (for the other algorithms it is // already included in the "MemMerge" and "MemFlatten" functions). static void MemUpdateTable(unsigned e, unsigned r) { mem_P_[e] = r; } static unsigned MemFindRoot(unsigned root) { while (mem_P_[root] < root) { root = mem_P_[root]; } return root; } static unsigned MemMerge(unsigned i, unsigned j) { // FindRoot(i) while (mem_P_[i] < i) { i = mem_P_[i]; } // FindRoot(j) while (mem_P_[j] < j) { j = mem_P_[j]; } if (i < j) return mem_P_[j] = i; return mem_P_[i] = j; } static unsigned MemFlatten() { unsigned k = 1; for (unsigned i = 1; i < length_; ++i) { if (mem_P_[i] < i) { mem_P_[i] = mem_P_[mem_P_[i]]; } else { mem_P_[i] = k; k = k + 1; } } return k; } private: static unsigned *P_; static unsigned length_; static MemVector mem_P_; }; // Union-Find (UF) with path compression (PC) as in: // Two Strategies to Speed up Connected Component Labeling Algorithms // Kesheng Wu, Ekow Otoo, Kenji Suzuki class UFPC { // Maximum number of labels (included background) = 2^(sizeof(unsigned) x 8) public: static double Alloc(unsigned max_length, PerformanceEvaluator& perf) { perf.start(); P_ = new unsigned[max_length]; memset(P_, 0, max_length * sizeof(unsigned)); perf.stop(); double t = perf.last(); perf.start(); memset(P_, 0, max_length * sizeof(unsigned)); perf.stop(); return t - perf.last(); } static void Alloc(unsigned max_length) { P_ = new unsigned[max_length]; } static void Dealloc() { delete[] P_; } static void Setup() { P_[0] = 0; // First label is for background pixels length_ = 1; } static unsigned NewLabel() { P_[length_] = length_; return length_++; } static unsigned GetLabel(unsigned index) { return P_[index]; } static unsigned Merge(unsigned i, unsigned j) { // FindRoot(i) unsigned root(i); while (P_[root] < root) { root = P_[root]; } if (i != j) { // FindRoot(j) unsigned root_j(j); while (P_[root_j] < root_j) { root_j = P_[root_j]; } if (root > root_j) { root = root_j; } // SetRoot(j, root); while (P_[j] < j) { unsigned t = P_[j]; P_[j] = root; j = t; } P_[j] = root; } // SetRoot(i, root); while (P_[i] < i) { unsigned t = P_[i]; P_[i] = root; i = t; } P_[i] = root; return root; } static unsigned Flatten() { unsigned k = 1; for (unsigned i = 1; i < length_; ++i) { if (P_[i] < i) { P_[i] = P_[P_[i]]; } else { P_[i] = k; k = k + 1; } } return k; } /***************************************************************/ static void MemAlloc(unsigned max_length) { mem_P_ = MemVector(max_length); } static void MemDealloc() {} static void MemSetup() { mem_P_[0] = 0; // First label is for background pixels length_ = 1; } static unsigned MemNewLabel() { mem_P_[length_] = length_; return length_++; } static unsigned MemGetLabel(unsigned index) { return mem_P_[index]; } static double MemTotalAccesses() { return mem_P_.GetTotalAccesses(); } static unsigned MemMerge(unsigned i, unsigned j) { // FindRoot(i) unsigned root(i); while (mem_P_[root] < root) { root = mem_P_[root]; } if (i != j) { // FindRoot(j) unsigned root_j(j); while (mem_P_[root_j] < root_j) { root_j = mem_P_[root_j]; } if (root > root_j) { root = root_j; } // SetRoot(j, root); while (mem_P_[j] < j) { unsigned t = mem_P_[j]; mem_P_[j] = root; j = t; } mem_P_[j] = root; } // SetRoot(i, root); while (mem_P_[i] < i) { unsigned t = mem_P_[i]; mem_P_[i] = root; i = t; } mem_P_[i] = root; return root; } static unsigned MemFlatten() { unsigned k = 1; for (unsigned i = 1; i < length_; ++i) { if (mem_P_[i] < i) { mem_P_[i] = mem_P_[mem_P_[i]]; } else { mem_P_[i] = k; k = k + 1; } } return k; } private: static unsigned *P_; static unsigned length_; static MemVector mem_P_; }; // Interleaved Rem algorithm with SPlicing (SP) as in: // A New Parallel Algorithm for Two - Pass Connected Component Labeling // S Gupta, D Palsetia, MMA Patwary class RemSP { // Maximum number of labels (included background) = 2^(sizeof(unsigned) x 8) public: static double Alloc(unsigned max_length, PerformanceEvaluator& perf) { perf.start(); P_ = new unsigned[max_length]; memset(P_, 0, max_length * sizeof(unsigned)); perf.stop(); double t = perf.last(); perf.start(); memset(P_, 0, max_length * sizeof(unsigned)); perf.stop(); return t - perf.last(); } static void Alloc(unsigned max_length) { P_ = new unsigned[max_length]; } static void Dealloc() { delete[] P_; } static void Setup() { P_[0] = 0; // First label is for background pixels length_ = 1; } static unsigned NewLabel() { P_[length_] = length_; return length_++; } static unsigned GetLabel(unsigned index) { return P_[index]; } static unsigned Merge(unsigned i, unsigned j) { unsigned root_i(i), root_j(j); while (P_[root_i] != P_[root_j]) { if (P_[root_i] > P_[root_j]) { if (root_i == P_[root_i]) { P_[root_i] = P_[root_j]; return P_[root_i]; } unsigned z = P_[root_i]; P_[root_i] = P_[root_j]; root_i = z; } else { if (root_j == P_[root_j]) { P_[root_j] = P_[root_i]; return P_[root_i]; } unsigned z = P_[root_j]; P_[root_j] = P_[root_i]; root_j = z; } } return P_[root_i]; } static unsigned Flatten() { unsigned k = 1; for (unsigned i = 1; i < length_; ++i) { if (P_[i] < i) { P_[i] = P_[P_[i]]; } else { P_[i] = k; k = k + 1; } } return k; } /***************************************************************/ static void MemAlloc(unsigned max_length) { mem_P_ = MemVector(max_length); } static void MemDealloc() {} static void MemSetup() { mem_P_[0] = 0; // First label is for background pixels length_ = 1; } static unsigned MemNewLabel() { mem_P_[length_] = length_; return length_++; } static unsigned MemGetLabel(unsigned index) { return mem_P_[index]; } static double MemTotalAccesses() { return mem_P_.GetTotalAccesses(); } static unsigned MemMerge(unsigned i, unsigned j) { unsigned root_i(i), root_j(j); while (mem_P_[root_i] != mem_P_[root_j]) { if (mem_P_[root_i] > mem_P_[root_j]) { if (root_i == mem_P_[root_i]) { mem_P_[root_i] = mem_P_[root_j]; return mem_P_[root_i]; } unsigned z = mem_P_[root_i]; mem_P_[root_i] = mem_P_[root_j]; root_i = z; } else { if (root_j == mem_P_[root_j]) { mem_P_[root_j] = mem_P_[root_i]; return mem_P_[root_i]; } unsigned z = mem_P_[root_j]; mem_P_[root_j] = mem_P_[root_i]; root_j = z; } } return mem_P_[root_i]; } static unsigned MemFlatten() { unsigned k = 1; for (unsigned i = 1; i < length_; ++i) { if (mem_P_[i] < i) { mem_P_[i] = mem_P_[mem_P_[i]]; } else { mem_P_[i] = k; k = k + 1; } } return k; } private: static unsigned *P_; static unsigned length_; static MemVector mem_P_; }; // Three Table Array as in: // A Run-Based Two-Scan Labeling Algorithm // Lifeng He, Yuyan Chao, Kenji Suzuki class TTA { // Maximum number of labels (included background) = 2^(sizeof(unsigned) x 8) - 1: // the special value "-1" for next_ table array has been replace with UINT_MAX public: static double Alloc(unsigned max_length, PerformanceEvaluator& perf) { perf.start(); rtable_ = new unsigned[max_length]; next_ = new unsigned[max_length]; tail_ = new unsigned[max_length]; memset(rtable_, 0, max_length * sizeof(unsigned)); memset(next_, 0, max_length * sizeof(unsigned)); memset(tail_, 0, max_length * sizeof(unsigned)); perf.stop(); double t = perf.last(); perf.start(); memset(rtable_, 0, max_length * sizeof(unsigned)); memset(next_, 0, max_length * sizeof(unsigned)); memset(tail_, 0, max_length * sizeof(unsigned)); perf.stop(); return t - perf.last(); } static void Alloc(unsigned max_length) { rtable_ = new unsigned[max_length]; next_ = new unsigned[max_length]; tail_ = new unsigned[max_length]; } static void Dealloc() { delete[] rtable_; delete[] next_; delete[] tail_; } static void Setup() { rtable_[0] = 0; length_ = 1; } static unsigned NewLabel() { rtable_[length_] = length_; next_[length_] = UINT_MAX; tail_[length_] = length_; return length_++; } static unsigned GetLabel(unsigned index) { return rtable_[index]; } // Basic functions of the TTA solver required only by the Light-Speed Labeling Algorithms: // - "UpdateTable" updates equivalences tables without performing "Find" operations // - "FindRoot" finds the root of the tree of node i (for the other algorithms it is // already included in the "Merge" and "Flatten" functions). static void UpdateTable(unsigned u, unsigned v) { if (u < v) { unsigned i = v; while (i != UINT_MAX) { rtable_[i] = u; i = next_[i]; } next_[tail_[u]] = v; tail_[u] = tail_[v]; } else if (u > v) { unsigned i = u; while (i != UINT_MAX) { rtable_[i] = v; i = next_[i]; } next_[tail_[v]] = u; tail_[v] = tail_[u]; } } static unsigned FindRoot(unsigned i) { return rtable_[i]; } static unsigned Merge(unsigned u, unsigned v) { // FindRoot(u); u = rtable_[u]; // FindRoot(v); v = rtable_[v]; if (u < v) { unsigned i = v; while (i != UINT_MAX) { rtable_[i] = u; i = next_[i]; } next_[tail_[u]] = v; tail_[u] = tail_[v]; return u; } else if (u > v) { unsigned i = u; while (i != UINT_MAX) { rtable_[i] = v; i = next_[i]; } next_[tail_[v]] = u; tail_[v] = tail_[u]; return v; } return u; // equal to v } static unsigned Flatten() { unsigned cur_label = 1; for (unsigned k = 1; k < length_; k++) { if (rtable_[k] == k) { cur_label++; rtable_[k] = cur_label; } else rtable_[k] = rtable_[rtable_[k]]; } return cur_label; } /***************************************************************/ static void MemAlloc(unsigned max_length) { mem_rtable_ = MemVector(max_length); mem_next_ = MemVector(max_length); mem_tail_ = MemVector(max_length); } static void MemDealloc() {} static void MemSetup() { mem_rtable_[0] = 0; length_ = 1; } static unsigned MemNewLabel() { mem_rtable_[length_] = length_; mem_next_[length_] = UINT_MAX; mem_tail_[length_] = length_; return length_++; } static unsigned MemGetLabel(unsigned index) { return mem_rtable_[index]; } static double MemTotalAccesses() { return mem_rtable_.GetTotalAccesses() + mem_next_.GetTotalAccesses() + mem_tail_.GetTotalAccesses(); } // Basic functions of the TTA solver required only by the Light-Speed Labeling Algorithms: // - "MemUpdateTable" updates equivalences tables without performing "MemFind" operations // - "MemFindRoot" finds the root of the tree of node i (for the other algorithms it is // already included in the "MemMerge" and "MemFlatten" functions). static void MemUpdateTable(unsigned u, unsigned v) { if (u < v) { unsigned i = v; while (i != UINT_MAX) { mem_rtable_[i] = u; i = mem_next_[i]; } mem_next_[mem_tail_[u]] = v; mem_tail_[u] = mem_tail_[v]; } else if (u > v) { unsigned i = u; while (i != UINT_MAX) { mem_rtable_[i] = v; i = mem_next_[i]; } mem_next_[mem_tail_[v]] = u; mem_tail_[v] = mem_tail_[u]; } } static unsigned MemFindRoot(unsigned i) { return mem_rtable_[i]; } static unsigned MemMerge(unsigned u, unsigned v) { // FindRoot(u); u = mem_rtable_[u]; // FindRoot(v); v = mem_rtable_[v]; if (u < v) { unsigned i = v; while (i != UINT_MAX) { mem_rtable_[i] = u; i = mem_next_[i]; } mem_next_[mem_tail_[u]] = v; mem_tail_[u] = mem_tail_[v]; return u; } else if (u > v) { unsigned i = u; while (i != UINT_MAX) { mem_rtable_[i] = v; i = mem_next_[i]; } mem_next_[mem_tail_[v]] = u; mem_tail_[v] = mem_tail_[u]; return v; } return u; // equal to v } static unsigned MemFlatten() { // In order to renumber and count the labels: is it really necessary? unsigned cur_label = 1; for (unsigned k = 1; k < length_; k++) { if (mem_rtable_[k] == k) { cur_label++; mem_rtable_[k] = cur_label; } else mem_rtable_[k] = mem_rtable_[mem_rtable_[k]]; } return cur_label; } private: static unsigned *rtable_; static unsigned *next_; static unsigned *tail_; static unsigned length_; static MemVector mem_rtable_; static MemVector mem_next_; static MemVector mem_tail_; }; #define REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(algorithm) \ REGISTER_SOLVER(algorithm, UF) \ REGISTER_SOLVER(algorithm, UFPC) \ REGISTER_SOLVER(algorithm, RemSP) \ REGISTER_SOLVER(algorithm, TTA) \ #endif // !YACCLAB_LABELS_SOLVER_H_ ================================================ FILE: include/memory_tester.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef MEMORY_TESTER_H_ #define MEMORY_TESTER_H_ #include "opencv2/core.hpp" enum memorydatatype { // Data structures for "classical" algorithms MD_BINARY_MAT = 0, MD_LABELED_MAT = 1, MD_EQUIVALENCE_VEC = 2, // Other data_ structures MD_OTHER = 3, // Total number of data_ structures in the list MD_SIZE = 4, }; template class MemMat { public: int rows; int cols; MemMat() {} MemMat(cv::Mat_ img) { img_ = img.clone(); // Deep copy accesses_ = cv::Mat1i(img.size(), 0); rows = img.rows; cols = img.cols; } MemMat(cv::Size size) { img_ = cv::Mat_(size); accesses_ = cv::Mat1i(size, 0); rows = size.height; cols = size.width; } MemMat(int rows, int cols) : MemMat(cv::Size(cols, rows)) {} MemMat(cv::Size size, const T val) { img_ = cv::Mat_(size, val); accesses_ = cv::Mat1i(size, 1); // The initialization accesses must be counted rows = size.height; cols = size.width; } MemMat(int rows, int cols, const T val) : MemMat(cv::Size(cols, rows), val) {} T& operator()(const int r, const int c) { accesses_.ptr(r)[c]++; // Count access return img_.template ptr(r)[c]; } T& operator()(const int x) { accesses_(x)++; // Count access return img_(x); } cv::Mat_ GetImage() const { return img_.clone(); } cv::Mat1i GetAccessesMat() const { return accesses_.clone(); } double GetTotalAccesses() const { return cv::sum(accesses_)[0]; } //~MemMat(); // This is the destructor: declaration private: cv::Mat_ img_; cv::Mat1i accesses_; }; template class MemVector { public: MemVector() {} MemVector(std::vector vec) { vec_ = vec; // Deep copy accesses_ = std::vector(vec.size(), 0); } MemVector(const size_t size) { vec_ = std::vector(size); accesses_ = std::vector(size, 0); } MemVector(const size_t size, const T val) { vec_ = std::vector(size, val); accesses_ = std::vector(size, 1); // The initilization accesses must be counted } T& operator[](const int i) { accesses_[i]++; // Count access return vec_[i]; } std::vector GetVector() const { return vec_; } std::vector GetAccessesVector() const { return accesses_; } double GetTotalAccesses() const { double tot = 0; for (size_t i = 0; i < accesses_.size(); ++i) { tot += accesses_[i]; } return tot; } T* GetDataPointer() { return vec_.data_(); } size_t size() { return vec_.size(); } void Memiota(size_t begin, size_t end, const T value) { T _value = value; for (size_t i = begin; i < end; ++i) { vec_[i] = _value++; accesses_[i]++; // increment access } } //~MemVector(); // This is the destructor: declaration private: std::vector vec_; std::vector accesses_; }; template class MemVol { public: int w; int h; int d; MemVol() {} MemVol(cv::Mat_ img) { if (img.dims != 3) { throw std::runtime_error("Illegal dims field, it should be 3."); } img_ = img.clone(); // Deep copy accesses_ = cv::Mat1i(3, img.size.p, 0); w = img.size[2]; h = img.size[1]; d = img.size[0]; } MemVol(const int* sizes) { img_ = cv::Mat_(3, sizes); accesses_ = cv::Mat1i(3, img_.size.p, 0); w = sizes[2]; h = sizes[1]; d = sizes[0]; } MemVol(int w, int h, int d) { int sizes[3] = { d, h, w }; img_ = cv::Mat_(sizes); accesses_ = cv::Mat1i(3, sizes, 0); w = sizes[2]; h = sizes[1]; d = sizes[0]; } MemVol(const int* sizes, const T val) { img_ = cv::Mat_(3, sizes, val); accesses_ = cv::Mat_(3, sizes, 1); // The initialization accesses must be counted w = sizes[2]; h = sizes[1]; d = sizes[0]; } MemVol(int w, int h, int d, const T val) { int sizes[3] = { d, h, w }; img_ = cv::Mat_(3, sizes, val); accesses_ = cv::Mat1i(3, sizes, 1); w = sizes[2]; h = sizes[1]; d = sizes[0]; } T& operator()(int s, int r, int c) { (*accesses_.ptr(s, r, c))++; // Count access return *img_.template ptr(s, r, c); } T& operator()(const int x) { accesses_(x)++; // Count access return img_(x); } cv::Mat_ GetImage() const { return img_.clone(); } cv::Mat1i GetAccessesMat() const { return accesses_.clone(); } double GetTotalAccesses() const { return cv::sum(accesses_)[0]; } //~MemVol(); // This is the destructor: declaration public: // DEBUG cv::Mat_ img_; cv::Mat1i accesses_; }; #endif // MEMORY_TESTER_H_ ================================================ FILE: include/performance_evaluator.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_PERFORMANCE_EVALUATOR_H_ #define YACCLAB_PERFORMANCE_EVALUATOR_H_ #include #include "opencv2/core.hpp" class PerformanceEvaluator { struct Elapsed { double last; double total; Elapsed() : last(0), total(0) {} }; public: PerformanceEvaluator() { tick_frequency_ = cv::getTickFrequency(); } void start() { int64 ticks = cv::getTickCount(); counter_.last = static_cast(ticks); } double stop() { int64 ticks = cv::getTickCount(); double t = ticks - counter_.last; counter_.last = t; counter_.total += t; return counter_.last*1000. / tick_frequency_; } void reset() { counter_.total = 0; } double last() { return counter_.last*1000. / tick_frequency_; } double total() { return counter_.total*1000. / tick_frequency_; } void store(const std::string& s, double time /*milliseconds*/) { counters_[s].last = time; counters_[s].total += time; } double get(const std::string& s) const { return counters_.at(s).last; } double get_total(const std::string& s) const { return counters_.at(s).total; } bool find(const std::string& s) const { return counters_.find(s) != counters_.end(); } void reset_counters(void) { counters_.clear(); } private: double tick_frequency_; Elapsed counter_; std::map counters_; }; #endif // !YACCLAB_PERFORMANCE_EVALUATOR_H_ ================================================ FILE: include/progress_bar.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_PROGRESS_BAR_H_ #define YACCLAB_PROGRESS_BAR_H_ #include #include #include #include #include #include #include "file_manager.h" #include "system_info.h" #define CONSOLE_WIDTH 80 /* This class is useful to display a progress bar in the output console. Example of usage: progressBar p(number_of_things_to_do); p.start(); //start cycle p.display(current_thing_number); //do something //end cycle p.end(); */ class ProgressBar { public: ProgressBar() {} ProgressBar(const size_t n_things_todo, const size_t gap = 4, const size_t console_width = 70, const std::string pre_message = "", const std::string post_message = "") { n_things_todo_ = n_things_todo; gap_ = gap; console_width_ = console_width; pre_message_ = pre_message; post_message_ = post_message; bar_width_ = console_width_ - pre_message_.size() - post_message_.size() - 5 /* 100%*/ - 2 /*[]*/; } void Start() { dmux::cout << pre_message_; dmux::cout << "[>"; for (size_t i = 0; i < bar_width_ - 1; ++i) { dmux::cout << " "; } dmux::cout << "] 0%"; dmux::cout << post_message_ << "\r"; dmux::cout.flush(); prev_ = 0; } void Display(const unsigned progress) { if (progress < n_things_todo_ && prev_ == (gap_ - 1)) { std::cout << pre_message_; std::cout << "["; size_t pos = bar_width_ * progress / n_things_todo_; for (size_t i = 0; i < bar_width_; ++i) { if (i < pos) std::cout << "="; else if (i == pos) std::cout << ">"; else std::cout << " "; } std::string s = std::to_string(unsigned(progress * 100.0 / n_things_todo_)); std::cout << "] " << std::string(3 - s.size(), ' ') << s << "%"; std::cout << post_message_ << "\r"; std::cout.flush(); prev_ = 0; } else { prev_++; } } void End() { dmux::cout << pre_message_; dmux::cout << "["; for (size_t i = 0; i < bar_width_; ++i) { dmux::cout << "="; } dmux::cout << "] 100%"; dmux::cout << post_message_; dmux::cout.flush(); dmux::cout << std::endl; prev_ = 0; } ProgressBar(const size_t n_things_todo, const unsigned n_tests /*min 1 - max 999*/, const size_t gap = 4, const size_t console_width = 70, const std::string pre_message = "", const std::string post_message = "") { n_things_todo_ = n_things_todo; gap_ = gap; console_width_ = console_width; pre_message_ = pre_message; post_message_ = post_message; n_tests_ = n_tests; n_tests_length_ = std::to_string(n_tests).length(); bar_width_ = console_width_ - pre_message_.size() - post_message_.size() - 5 /* 100%*/ - 2 /*[]*/ - 5 /*Test */ - (n_tests_length_*2 + 1) /*102/999*/ - 3 /* - */; } void StartRepeated() { dmux::cout << pre_message_ << "test " << std::setfill(' ') << std::setw(n_tests_length_) << cur_test_; dmux::cout << "/" << n_tests_ << " - "; dmux::cout << "[>"; for (size_t i = 0; i < bar_width_ - 1; ++i) { dmux::cout << " "; } dmux::cout << "] 0%"; dmux::cout << post_message_ << "\r"; dmux::cout.flush(); prev_ = 0; } void DisplayRepeated(const unsigned progress) { if (progress < n_things_todo_ && prev_ == (gap_ - 1)) { std::cout << pre_message_ << "test " << std::setfill(' ') << std::setw(n_tests_length_) << cur_test_; std::cout << "/" << n_tests_ << " - "; std::cout << "["; size_t pos = bar_width_ * progress / n_things_todo_; for (size_t i = 0; i < bar_width_; ++i) { if (i < pos) std::cout << "="; else if (i == pos) std::cout << ">"; else std::cout << " "; } std::string s = std::to_string(unsigned(progress * 100.0 / n_things_todo_)); std::cout << "] " << std::string(3 - s.size(), ' ') << s << "%"; std::cout << post_message_ << "\r"; std::cout.flush(); prev_ = 0; } else { prev_++; } } bool EndRepeated() { dmux::cout << pre_message_ << "test " << std::setfill(' ') << std::setw(n_tests_length_) << cur_test_; dmux::cout << "/" << n_tests_ << " - "; dmux::cout << "["; for (size_t i = 0; i < bar_width_; ++i) { dmux::cout << "="; } dmux::cout << "] 100%"; dmux::cout << post_message_; dmux::cout.flush(); prev_ = 0; if (cur_test_ == n_tests_) { dmux::cout << std::endl; return true; } dmux::cout << "\r"; cur_test_++; return false; } private: size_t prev_; size_t n_things_todo_; size_t gap_; size_t bar_width_; size_t console_width_; std::string post_message_; std::string pre_message_; size_t n_tests_; size_t n_tests_length_; unsigned cur_test_ = 1; }; /* This class is useful to display a title bar in the output console. */ class OutputBox { public: OutputBox(const std::string& title = "", const unsigned bar_width = CONSOLE_WIDTH, const unsigned pre_spaces = 2) { pre_spaces_ = pre_spaces; bar_width_ = bar_width > CONSOLE_WIDTH ? CONSOLE_WIDTH : bar_width; bar_width_ -= pre_spaces_; if (title.size() > bar_width_ - 4) { title_ = title.substr(0, bar_width_ - 4 - 3) + "..."; } else { title_ = title; } //transform(title_.begin(), title_.end(), title_.begin(), ::toupper); if (title_ != "") { dmux::cout << "\n"; PrintSeparatorLine(); PrintData(title_); PrintSeparatorLine(); } } void StartUnitaryBox(const std::string &dataset_name, const size_t n_things_todo) { PrintData(dataset_name + ":"); std::string complete_pre_message = std::string(pre_spaces_, ' ') + "| "; pb = ProgressBar(n_things_todo, 1, bar_width_ + pre_spaces_, complete_pre_message, " |"); pb.Start(); } void UpdateUnitaryBox(const unsigned progress) { pb.Display(progress); } void StopUnitaryBox() { pb.End(); PrintSeparatorLine(); } void StartRepeatedBox(const std::string &dataset_name, const unsigned n_things_todo, const unsigned n_test_todo) { PrintData(dataset_name + ":"); std::string complete_pre_message = std::string(pre_spaces_, ' ') + "| "; pb = ProgressBar(n_things_todo, n_test_todo, 4, bar_width_ + pre_spaces_, complete_pre_message, " |"); pb.StartRepeated(); } void UpdateRepeatedBox(const unsigned progress) { pb.DisplayRepeated(progress); } void StopRepeatedBox(bool close_box = true) { if (pb.EndRepeated() && close_box) { PrintSeparatorLine(); } } void DisplayReport(const std::string &title, const std::vector &messagges) { PrintData(title + ":"); for (const auto& x : messagges) { PrintData(" " + x); } PrintSeparatorLine(); } void Cerror(const std::string& err, const std::string& title = "") { std::string complete_err = ""; if (title != "") { PrintData(title + ":"); complete_err = " "; } complete_err += " ERROR: [" + err + "]"; PrintData(complete_err); PrintSeparatorLine(); exit(EXIT_FAILURE); /* If the title is specified this function will print: | title: | | ERROR: [err] | +----------------------------------------------------------------------------+ otherwise: | ERROR: [err] | +----------------------------------------------------------------------------+ */ } void Cwarning(const std::string& wrn, const std::string& title = "") { std::string complete_wrn = ""; if (title != "") { PrintData(title + ":"); complete_wrn = " "; } complete_wrn += " WARNING: [" + wrn + "]"; PrintData(complete_wrn); if (title != "") { PrintSeparatorLine(); } /* If the title is specified this function will print: | title: | | WARNING: [wrn] | +----------------------------------------------------------------------------+ otherwise: | WARNING: [wrn] | */ } void Cmessage(const std::string& msg) { std::string complete_msg = " MSG: [" + msg + "]"; PrintData(complete_msg); /* This function will print: | MSG: [msg] | */ } void CloseBox() { PrintSeparatorLine(); } private: void PrintSeparatorLine() { dmux::cout << std::string(pre_spaces_, ' ') << "+" << std::string(bar_width_ - 2, '-') << "+\n"; } void PrintRawData(const std::string &data) { dmux::cout << std::string(pre_spaces_, ' ') << "| " << data << std::string(bar_width_ - data.size() - 4, ' ') << " |\n"; } void PrintData(const std::string &data) { unsigned step = bar_width_ - 4; std::string tab = " "; for (unsigned i = 0; i < data.length(); i += step) { if (i == 0) { PrintRawData(data.substr(i, step)); i += static_cast(tab.size()); step -= static_cast(tab.size()); } else { PrintRawData(tab + data.substr(i, step)); } } } unsigned bar_width_; std::string title_; unsigned pre_spaces_; ProgressBar pb; }; #endif // !YACCLAB_PROGRESS_BAR_H_ ================================================ FILE: include/register.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_REGISTER_H_ #define YACCLAB_REGISTER_H_ #define REGISTER_LABELING(algorithm) \ class register_##algorithm { \ public: \ register_##algorithm() { \ LabelingMapSingleton::GetInstance().data_[#algorithm] = new algorithm; \ } \ } reg_##algorithm; //#define REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(algorithm) is defined in xxx.h #define STRINGIFY(x) #x #define CONCAT(x,y) STRINGIFY(x ## _ ## y) #define REGISTER_SOLVER(algorithm, solver) \ class register_ ## algorithm ## _ ## solver{ \ public: \ register_ ## algorithm ## _ ## solver() { \ LabelingMapSingleton::GetInstance().data_[CONCAT(algorithm, solver)] = new algorithm; \ } \ } register_ ## algorithm ## _ ## solver; #define BLOCKSIZE_KERNEL(name, gridsize, blocksize, shared, ...) \ perf_.start(); \ name<< > > (__VA_ARGS__); \ cudaDeviceSynchronize(); \ perf_.store(#name, perf_.stop()); #define REGISTER_KERNELS(algorithm, ...) \ class register_kernels_ ## algorithm { \ public: \ register_kernels_ ## algorithm() { \ KernelMapSingleton::InitializeAlgorithm(#algorithm, #__VA_ARGS__); \ } \ } reg_kernels_ ## algorithm; #endif // !YACCLAB_REGISTER_H_ ================================================ FILE: include/stream_demultiplexer.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_STREAM_DEMULTIPLEXER_H_ #define YACCLAB_STREAM_DEMULTIPLEXER_H_ #include #include class StreamDemultiplexer { private: typedef std::vector str_cont; str_cont d; public: StreamDemultiplexer() {} StreamDemultiplexer(std::ostream& ss) { d.push_back(&ss); } StreamDemultiplexer& put(std::ostream::char_type ch) { for (str_cont::iterator it = d.begin(); it != d.end(); ++it) (*it)->put(ch); return *this; } StreamDemultiplexer& write(const std::ostream::char_type* s, std::streamsize count) { for (str_cont::iterator it = d.begin(); it != d.end(); ++it) (*it)->write(s, count); return *this; } StreamDemultiplexer& flush() { for (str_cont::iterator it = d.begin(); it != d.end(); ++it) (*it)->flush(); return *this; } template StreamDemultiplexer& operator<<(const T& obj) { for (str_cont::iterator it = d.begin(); it != d.end(); ++it) (**it) << obj; return *this; } StreamDemultiplexer& operator<<(std::ios_base& (*func)(std::ios_base&)) { for (str_cont::iterator it = d.begin(); it != d.end(); ++it) (**it) << func; return *this; } template StreamDemultiplexer& operator<<(std::basic_ios& (*func)(std::basic_ios&)) { for (str_cont::iterator it = d.begin(); it != d.end(); ++it) (**it) << func; return *this; } StreamDemultiplexer& operator<<(std::ostream& (*func)(std::ostream&)) { for (str_cont::iterator it = d.begin(); it != d.end(); ++it) (**it) << func; return *this; } void AddStream(std::ostream& ss) { d.push_back(&ss); } }; #endif // !YACCLAB_STREAM_DEMULTIPLEXER_H_ ================================================ FILE: include/system_info.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_SYSTEM_INFO_H_ #define YACCLAB_SYSTEM_INFO_H_ #include #include #include "config_data.h" #if defined YACCLAB_WITH_CUDA #include "cuda_runtime.h" #endif #if _WIN32 || _WIN64 || WIN32 || __WIN32__ || __WINDOWS__ || __TOS_WIN__ #ifdef _MSC_VER #include #endif #ifndef NOMINMAX #define NOMINMAX // Prevent header file defines its own macros named max and min #endif #include #include #pragma comment(lib, "netapi32.lib") #define YACCLAB_WINDOWS #elif __gnu_linux__ || __linux__ #define YACCLAB_LINUX #include #elif __unix || __unix__ #define YACCLAB_UNIX #include #elif __APPLE__ || __MACH__ || macintosh || Macintosh || (__APPLE__ && __MACH__) #include #include #define YACCLAB_APPLE #endif // extern struct ConfigData cfg; /*@brief Retrieve system information Singleton class that retrieves machine information like the CPU brand name, the OS used, and the architecture employed. */ class SystemInfo { public: static SystemInfo &GetInstance(); // Return the brand and model of the CPU used static std::string cpu() { return GetInstance().cpu_; } // Return the architecture (x86 or x64) used static std::string build() { return GetInstance().build_; } // Return the Operating System used static std::string os() { return GetInstance().os_ + " " + GetInstance().os_bit_; } // Return the compiler_ used (name and version) static std::string compiler_name() { return GetInstance().compiler_name_; } static std::string compiler_version() { return GetInstance().compiler_version_; } static void set_os(std::string os) { GetInstance().SetOs(os); } SystemInfo(SystemInfo const&) = delete; void operator=(SystemInfo const&) = delete; private: SystemInfo() { SetBuild(); SetCpuBrand(); SetOsBit(); SetCompiler(); } std::string cpu_; std::string build_; std::string os_; std::string os_bit_; std::string compiler_name_; std::string compiler_version_; void SetCpuBrand(); void SetBuild(); void SetOs(std::string os); void SetOsBit(); void SetCompiler(); }; #if defined YACCLAB_WITH_CUDA struct CudaInfo { public: static CudaInfo& GetInstance(); static std::string device_name() { return GetInstance().device_name_; } static std::string cuda_capability() { return GetInstance().cuda_capability_; } static std::string runtime_version() { return GetInstance().runtime_version_; } static std::string driver_version() { return GetInstance().driver_version_; } CudaInfo(CudaInfo const&) = delete; void operator=(CudaInfo const&) = delete; private: std::string CudaBeautifyVersionNumber(int v); CudaInfo(); std::string device_name_; std::string cuda_capability_; std::string runtime_version_; std::string driver_version_; }; #endif #endif // !YACCLAB_SYSTEM_INFO_H_ ================================================ FILE: include/utilities.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_UTILITIES_H_ #define YACCLAB_UTILITIES_H_ #include #include #include "file_manager.h" #include "stream_demultiplexer.h" extern const std::string kTerminal; extern const std::string kTerminalExtension; // extern struct ConfigData cfg; namespace dmux { extern class StreamDemultiplexer cout; } // To compare lengths of OpenCV String bool CompareLengthCvString(cv::String const& lhs, cv::String const& rhs); // This function is useful to delete eventual carriage return from a string // and is especially designed for windows file newline format //void DeleteCarriageReturn(std::string& s); void RemoveCharacter(std::string& s, const char c); // This function take a char as input and return the corresponding int value (not ASCII one) unsigned ctoi(const char& c); // This function help us to manage '\' escape character //void EraseDoubleEscape(std::string& str); /*@brief Get information about date and time @param[in] bool if true substitute both ' ' and ':' chars with '_' and '.' @return string value with datetime stringyfied */ std::string GetDatetime(); std::string GetDatetimeWithoutSpecialChars(); // Create a bunch of pseudo random colors from labels indexes and create a // color representation for the labels //void ColorLabels(const cv::Mat1i& img_labels, cv::Mat3b& img_out); //void ColorLabels(const cv::Mat& img_labels, cv::Mat& img_out); // //// This function may be useful to compare the output of different labeling procedures //// which may assign different labels to the same object. Use this to force a row major //// ordering of labels. //void NormalizeLabels(cv::Mat1i& img_labels); //void NormalizeLabels(cv::Mat& img_labels); // //// Get binary image given a image's filename; //bool GetBinaryImage(const std::string& filename, cv::Mat& binary_mat); //bool GetBinaryImage(const filesystem::path& p, cv::Mat& binary_mat); // Compare two int matrices element by element //bool CompareMat(const cv::Mat& mat_a, const cv::Mat& mat_b); //void Divide(cv::Mat& mat); bool CheckLabeledImage(const cv::Mat1b& img, const cv::Mat1i& labels, cv::Mat1i& errors); bool CheckLabeledVolume(const cv::Mat& img, const cv::Mat& labels, cv::Mat& errors); /*@brief Read bool from YAML configuration file @param[in] node_list FileNode that contain bool data_ @return bool value of field in node_list */ //bool ReadBool(const cv::FileNode& node_list); // Hide blinking cursor from console void HideConsoleCursor(); int RedirectCvError(int status, const char* func_name, const char* err_msg, const char* file_name, int line, void*); /* @brief Return the string title to insert in gnuplot charts @return string which represents the title */ //std::string GetGnuplotTitle(const SystemInfo& s_info); // //#if defined YACCLAB_WITH_CUDA //std::string GetGnuplotTitleGpu(const SystemInfo& s_info); //#endif std::string GetGnuplotTitle(); #if defined YACCLAB_WITH_CUDA std::string GetGnuplotTitleGpu(); #endif std::string EscapeUnderscore(const std::string& s); std::string DoubleEscapeUnderscore(const std::string& s); #endif // !YACCLAB_UTILITIES_H_ ================================================ FILE: include/volume_util.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_VOLUME_UTIL_H_ #define YACCLAB_VOLUME_UTIL_H_ #include // Reads a 3d tensor (volume) from a directory containing the volume divided into slices, with their names listed in files.txt, and store the tensor into a cv::Mat. cv::Mat volread(const cv::String &filename, int flags = 1); // Writes a 3d tensor (volume) as separate slices in a directory, and lists file names in files.txt. bool volwrite(const cv::String& filename, const cv::Mat& volume); #endif /* YACCLAB_VOLUME_UTIL_H_ */ ================================================ FILE: include/yacclab_tensor.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_TENSOR_H_ #define YACCLAB_TENSOR_H_ #include #include #ifdef YACCLAB_WITH_CUDA #include #endif #include "cuda_mat3.hpp" #include "volume_util.h" class YacclabTensor { public: virtual void Release() = 0; // Possibly add some descriptive fields //virtual ~YacclabTensor() { this->Release(); }; virtual ~YacclabTensor() = default; }; class YacclabTensorInput : public YacclabTensor { public: virtual void Create() = 0; virtual bool ReadBinary(const std::string &filename) = 0; virtual unsigned int Dims() = 0; }; class YacclabTensorInput2D : public YacclabTensorInput { protected: static cv::Mat1b mat_; public: virtual void Create() override { mat_.create(1, 1); } virtual void Release() override { mat_.release(); } virtual bool ReadBinary(const std::string &filename) override; virtual cv::Mat& GetMat() { return mat_; } virtual cv::Mat1b& Raw() { return mat_; } virtual unsigned int Dims() override { return 2; }; }; class YacclabTensorInput3D : public YacclabTensorInput { protected: static cv::Mat mat_; public: virtual void Create() override { int sz[] = { 1, 1, 1 }; mat_.create(3, sz, CV_8UC1); } virtual void Release() override { mat_.release(); } virtual bool ReadBinary(const std::string &filename) override; virtual cv::Mat& GetMat() { return mat_; } virtual cv::Mat& Raw() { return mat_; } virtual unsigned int Dims() override { return 3; }; }; #if defined YACCLAB_WITH_CUDA class YacclabTensorInput2DCuda : public YacclabTensorInput2D { protected: static cv::cuda::GpuMat d_mat_; public: virtual void Create() override { YacclabTensorInput2D::Create(); d_mat_.upload(mat_); } virtual void Release() override { YacclabTensorInput2D::Release(); d_mat_.release(); } virtual bool ReadBinary(const std::string &filename) override; virtual cv::Mat& GetMat() override { return mat_; } virtual cv::cuda::GpuMat& GpuRaw() { return d_mat_; } }; class YacclabTensorInput3DCuda : public YacclabTensorInput3D { protected: static cv::cuda::GpuMat3 d_mat_; public: virtual void Create() override { YacclabTensorInput3D::Create(); d_mat_.upload(mat_); } virtual void Release() override { YacclabTensorInput3D::Release(); d_mat_.release(); } virtual bool ReadBinary(const std::string &filename) override; virtual cv::Mat& GetMat() override { return mat_; } virtual cv::cuda::GpuMat3& GpuRaw() { return d_mat_; } }; #endif class YacclabTensorOutput : public YacclabTensor { public: virtual void NormalizeLabels(bool label_background = false) = 0; virtual void WriteColored(const std::string &filename) const = 0; virtual void PrepareForCheck() = 0; virtual const cv::Mat& GetMat() = 0; virtual bool Equals(YacclabTensorOutput *other); virtual std::unique_ptr Copy() const = 0; }; class YacclabTensorOutput2D : public YacclabTensorOutput { protected: cv::Mat1i mat_; public: YacclabTensorOutput2D() {} YacclabTensorOutput2D(cv::Mat1i mat) : mat_(std::move(mat)) {} virtual void NormalizeLabels(bool label_background = false) override; virtual void WriteColored(const std::string &filename) const override; virtual void PrepareForCheck() override {} virtual void Release() override { mat_.release(); } virtual const cv::Mat& GetMat() override { return mat_; } virtual cv::Mat1i& Raw() { return mat_; } virtual std::unique_ptr Copy() const override { return std::make_unique(mat_); } }; class YacclabTensorOutput3D : public YacclabTensorOutput { protected: cv::Mat mat_; public: YacclabTensorOutput3D() {} YacclabTensorOutput3D(cv::Mat mat) : mat_(std::move(mat)) {} virtual void NormalizeLabels(bool label_background = false) override; virtual void WriteColored(const std::string &filename) const override; virtual void PrepareForCheck() override {} virtual void Release() override { mat_.release(); } virtual const cv::Mat& GetMat() override { return mat_; } virtual cv::Mat& Raw() { return mat_; } virtual std::unique_ptr Copy() const override { return std::make_unique(mat_); } }; #if defined YACCLAB_WITH_CUDA class YacclabTensorOutput2DCuda : public YacclabTensorOutput2D { protected: cv::cuda::GpuMat d_mat_; public: virtual void PrepareForCheck() override { d_mat_.download(YacclabTensorOutput2D::mat_); } virtual void Release() override { YacclabTensorOutput2D::Release(); d_mat_.release(); } virtual const cv::Mat& GetMat() override { return YacclabTensorOutput2D::mat_; } virtual cv::cuda::GpuMat& GpuRaw() { return d_mat_; } }; class YacclabTensorOutput3DCuda : public YacclabTensorOutput3D { protected: cv::cuda::GpuMat3 d_mat_; public: virtual void PrepareForCheck() override { d_mat_.download(YacclabTensorOutput3D::mat_); } virtual void Release() override { YacclabTensorOutput3D::Release(); d_mat_.release(); } virtual const cv::Mat& GetMat() override { return YacclabTensorOutput3D::mat_; } virtual cv::cuda::GpuMat3& GpuRaw() { return d_mat_; } }; #endif #endif //YACCLAB_TENSOR_H_ ================================================ FILE: include/yacclab_tests.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef YACCLAB_TESTS_PERFORMER_H_ #define YACCLAB_TESTS_PERFORMER_H_ #include #include #include #include #include "file_manager.h" #include "system_info.h" #include "utilities.h" #include "config_data.h" #include "labeling_algorithms.h" #include "progress_bar.h" using namespace filesystem; class YacclabTests { private: OutputBox ob_; std::error_code &ec_; ModeConfig &mode_cfg_; GlobalConfig &glob_cfg_; const path output_path; cv::Mat1d average_results_; cv::Mat1d density_results_; std::map granularity_results_; std::map average_ws_results_; // String for dataset_name, Mat1d for steps results std::map memory_accesses_; // String for dataset_name, Mat1d for memory accesses public: YacclabTests(ModeConfig &mode_cfg, GlobalConfig &glob_cfg, std::error_code &ec) : ec_(ec), mode_cfg_(mode_cfg), glob_cfg_(glob_cfg), output_path(glob_cfg.glob_output_path / mode_cfg.mode_output_path) {} void CheckPerformLabeling() { std::string title = "Checking Correctness of 'PerformLabeling()'"; CheckAlgorithms(title, mode_cfg_.ccl_average_algorithms, &Labeling::PerformLabeling); } void CheckPerformLabelingWithSteps() { std::string title = "Checking Correctness of 'PerformLabelingWithSteps()'"; CheckAlgorithms(title, mode_cfg_.ccl_average_ws_algorithms, &Labeling::PerformLabelingWithSteps); } void CheckPerformLabelingMem() { std::string title = "Checking Correctness of 'PerformLabelingMem()'"; std::vector unused; CheckAlgorithms(title, mode_cfg_.ccl_mem_algorithms, &Labeling::PerformLabelingMem, unused); } void CheckPerformLabelingBlocksize() { std::string title = "Checking Correctness of 'PerformLabelingBlocksize()'"; CheckAlgorithms(title, mode_cfg_.ccl_blocksize_algorithms, &Labeling::PerformLabelingBlocksize, 16, 16, 1); } void InitialOperations(); void BlockSizeTest(); void AverageTest(); void AverageTestWithSteps(); void DensityTest(); void GranularityTest(); void MemoryTest(); void LatexGenerator(); ~YacclabTests() { LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_existing_algorithms[0])->GetInput()->Release(); } private: void CheckAlgorithmsExistence(); void CheckMethodsExistence(); void CheckDatasets(); void CreateDirectories(); #if defined YACCLAB_WITH_CUDA void CheckBlocksizeParameters(); #endif bool LoadFileList(std::vector>& filenames, const path& files_path); bool CheckFileList(const path& base_path, std::vector>& filenames); bool SaveBroadOutputResults(std::map& results, const std::string& o_filename, const cv::Mat1i& labels, const std::vector>& filenames, const std::vector& ccl_algorithms); bool SaveBroadOutputResults(const cv::Mat1d& results, const std::string& o_filename, const cv::Mat1i& labels, const std::vector>& filenames, const std::vector& ccl_algorithms); void SaveAverageWithStepsResults(const std::string& os_name, const std::string& dataset_name, bool rounded); template void CheckAlgorithms(const std::string& title, const std::vector& ccl_algorithms, const FnP func, Args&&... args) { OutputBox ob(title); std::vector stats(ccl_algorithms.size(), true); // True if the i-th algorithm is correct, false otherwise std::vector first_fail(ccl_algorithms.size()); // Name of the file on which algorithm fails the first time bool stop = false; // True if all the algorithms are not correct std::string correct_algo_name; try { correct_algo_name = LabelingMapSingleton::GetLabeling(ccl_algorithms[0])->CheckAlg(); } catch (std::out_of_range) { ob.Cwarning("No correct algorithm is available, correctness test skipped."); return; } Labeling* correct_algo = LabelingMapSingleton::GetLabeling(correct_algo_name); for (unsigned i = 0; i < mode_cfg_.check_datasets.size(); ++i) { // For every dataset in the check_datasets list std::string dataset_name(mode_cfg_.check_datasets[i]); path dataset_path(glob_cfg_.input_path / path(dataset_name)); path is_path = dataset_path / path(glob_cfg_.input_txt); // files.txt path // Load list of images on which ccl_algorithms must be tested std::vector> filenames; // first: filename, second: state of filename (find or not) if (!LoadFileList(filenames, is_path)) { ob.Cwarning("Unable to open '" + is_path.string() + "'", dataset_name); continue; } // Number of files size_t filenames_size = filenames.size(); ob.StartUnitaryBox(dataset_name, filenames_size); for (unsigned file = 0; file < filenames_size && !stop; ++file) { // For each file in list ob.UpdateUnitaryBox(file); std::string filename = filenames[file].first; path filename_path = dataset_path / path(filename); // Load image if (!LabelingMapSingleton::GetLabeling(ccl_algorithms[0])->GetInput()->ReadBinary(filename_path.string())) { ob.Cmessage("Unable to open '" + filename + "'"); continue; } // These variables aren't necessary // unsigned n_labels_correct, n_labels_to_control; correct_algo->PerformLabeling(); //n_labels_correct = sauf->n_labels_; YacclabTensorOutput* correct_algo_out = correct_algo->GetOutput(); correct_algo_out->PrepareForCheck(); std::unique_ptr labels_correct = correct_algo_out->Copy(); correct_algo->FreeLabelingData(); labels_correct->NormalizeLabels(correct_algo->IsLabelBackground()); unsigned j = 0; for (const auto& algo_name : ccl_algorithms) { Labeling *algorithm = LabelingMapSingleton::GetLabeling(algo_name); // Perform labeling on current algorithm if it has no previously failed if (stats[j]) { (algorithm->*func)(std::forward(args)...); YacclabTensorOutput* labels_to_check = algorithm->GetOutput(); labels_to_check->PrepareForCheck(); labels_to_check->NormalizeLabels(algorithm->IsLabelBackground()); const bool correct = labels_correct->Equals(labels_to_check); // const bool diff = algorithm->Check(correct_algo); algorithm->FreeLabelingData(); if (!correct) { stats[j] = false; first_fail[j] = (path(dataset_name) / path(filename)).string(); // Stop check test if all the algorithms fail if (adjacent_find(stats.begin(), stats.end(), std::not_equal_to()) == stats.end()) { stop = true; break; } } } ++j; } // For all the Algorithms in the array //correct_algo->FreeLabelingData(); }// END WHILE (LIST OF IMAGES) ob.StopUnitaryBox(); }// END FOR (LIST OF DATASETS) // LabelingMapSingleton::GetLabeling(ccl_algorithms[0])->ReleaseInput(); // To display report of correctness test std::vector messages(static_cast(ccl_algorithms.size())); unsigned longest_name = static_cast(max_element(ccl_algorithms.begin(), ccl_algorithms.end(), CompareLengthCvString)->length()); unsigned j = 0; for (const auto& algo_name : ccl_algorithms) { messages[j] = "'" + algo_name + "'" + std::string(longest_name - algo_name.size(), '-'); if (stats[j]) { messages[j] += "-> correct!"; } else { messages[j] += "-> NOT correct, it first fails on '" + first_fail[j] + "'"; } ++j; } ob.DisplayReport("Report", messages); } }; //using TestsPerfPtr = std::unique_ptr; // //TestsPerfPtr YacclabTestsFactory(ModeConfig mode_cfg, GlobalConfig glob_cfg, std::error_code& ec) { // TestsPerfPtr ptr; // if (mode_cfg.mode == "2D_CPU") { // ptr = std::make_unique(mode_cfg, glob_cfg, ec); // } // else if (mode_cfg.mode == "3D_CPU") { // ptr = std::make_unique(mode_cfg, glob_cfg, ec); // } //#if defined YACCLAB_WITH_CUDA // else if (mode_cfg.mode == "2D_GPU") { // ptr = std::make_unique(mode_cfg, glob_cfg, ec); // } // else if (mode_cfg.mode == "3D_GPU") { // ptr = std::make_unique(mode_cfg, glob_cfg, ec); // } //#endif // else ptr = nullptr; // return ptr; //} #endif // !YACCLAB_TESTS_PERFORMER_H_ ================================================ FILE: old/.travis.yml ================================================ # Copyright(c) 2016 - 2017 Federico Bolelli # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met : # # *Redistributions of source code must retain the above copyright notice, this # list of conditions and the following disclaimer. # # * Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and / or other materials provided with the distribution. # # * Neither the name of YACCLAB nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. language: cpp sudo: required matrix: include: # mac (x86 build) - os: osx osx_image: xcode10.1 #addons: # brew: # packages: env: - BUILD_TARGET=mac # linux 16.04 (x64 build) - os: linux dist: xenial addons: apt: sources: # - george-edison55-precise-backports #To install cmake 3.2.3 / doxygen 1.8.3 packages: - cmake - cmake-data env: - BUILD_TARGET=linux install: # Enable execution of the scripts - chmod +x tools/travis-scripts/before-install.sh - chmod +x tools/travis-scripts/run-script.sh # Run install-environment script - tools/travis-scripts/before-install.sh script: # Run test script - travis_wait 120 tools/travis-scripts/run-script.sh cache: directories: - opencv-3.1.0 before_cache: ================================================ FILE: old/configurationReader.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #pragma once #include #include #include #include #include #include #include #include void exitWithError(const std::string &error) { std::cout << error; std::cin.ignore(); std::cin.get(); exit(EXIT_FAILURE); } class Convert { public: template static std::string T_to_string(T const &val) { std::ostringstream ostr; ostr << val; return ostr.str(); } template static T string_to_T(std::string const &val) { std::istringstream istr(val); T returnVal; if ((std::string)typeid(T).name() == "bool" || (std::string)typeid(T).name() == "b") { if (!(istr >> std::boolalpha >> returnVal)) exitWithError("CFG: Invalid " + (std::string)typeid(T).name() + " received!\n"); } else { if (!(istr >> returnVal)) exitWithError("CFG: Invalid " + (std::string)typeid(T).name() + " received!\n"); } return returnVal; } static std::string string_to_T(std::string const &val) { return val; } }; class ConfigFile { private: std::map contents; std::string fName; std::string comment = "#"; std::string delimiter = ","; void removeComment(std::string &line) const { if (line.find(comment) != line.npos) line.erase(line.find(comment)); } void removeSpace(std::string &line) const { line.erase(std::remove(line.begin(), line.end(), ' '), line.end()); } void removeTab(std::string &line) const { line.erase(std::remove(line.begin(), line.end(), '\t'), line.end()); } bool onlyWhitespace(const std::string &line) const { return (line.find_first_not_of(' ') == line.npos); } bool validLine(const std::string &line) const { std::string temp = line; temp.erase(0, temp.find_first_not_of("\t ")); if (temp[0] == '=') return false; for (size_t i = temp.find('=') + 1; i < temp.length(); i++) if (temp[i] != ' ') return true; return false; } void extractKey(std::string &key, size_t const &sepPos, const std::string &line) const { key = line.substr(0, sepPos); if (key.find('\t') != line.npos || key.find(' ') != line.npos) key.erase(key.find_first_of("\t ")); } void extractValue(std::string &value, size_t const &sepPos, const std::string &line) const { value = line.substr(sepPos + 1); value.erase(0, value.find_first_not_of("\t ")); value.erase(value.find_last_not_of("\t ") + 1); } void extractContents(const std::string &line) { std::string temp = line; temp.erase(0, temp.find_first_not_of("\t ")); //call removeTab? size_t sepPos = temp.find('='); std::string key, value; extractKey(key, sepPos, temp); extractValue(value, sepPos, temp); if (!keyExists(key)) contents.insert(std::pair(key, value)); else exitWithError("CFG: Can only have unique key names!\n"); } void parseLine(const std::string &line, size_t const lineNo) { if (line.find('=') == line.npos) exitWithError("CFG: Couldn't find separator on line: " + Convert::T_to_string(lineNo) + "\n"); if (!validLine(line)) exitWithError("CFG: Bad format for line: " + Convert::T_to_string(lineNo) + "\n"); extractContents(line); } void splitValues(const std::string &str, std::vector &values) const { size_t pos = 0; std::string token, strcpy = str; while ((pos = strcpy.find(delimiter)) != std::string::npos) { token = strcpy.substr(0, pos); values.push_back(token); strcpy.erase(0, pos + delimiter.length()); } values.push_back(strcpy); } void ExtractKeys() { std::ifstream file; file.open(fName.c_str()); if (!file) exitWithError("CFG: File " + fName + " couldn't be found!\n"); std::string line; size_t lineNo = 0; while (std::getline(file, line)) { lineNo++; std::string temp = line; if (temp.empty()) continue; removeComment(temp); removeSpace(temp); removeTab(temp); if (onlyWhitespace(temp)) continue; parseLine(temp, lineNo); } file.close(); } public: ConfigFile(const std::string &fName) { this->fName = fName; ExtractKeys(); } bool keyExists(const std::string &key) const { return contents.find(key) != contents.end(); } template ValueType getValueOfKey(const std::string &key, ValueType const &defaultValue = ValueType()) const { if (!keyExists(key)) return defaultValue; return Convert::string_to_T(contents.find(key)->second); } std::vector getStringValuesOfKey(const std::string &key, const std::vector &defaultValue) const { std::vector values; if (keyExists(key)) { std::string val = contents.find(key)->second; splitValues(val, values); } else return defaultValue; return values; } }; ================================================ FILE: old/equivalenceSolverSuzuki.h ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #pragma once #include #include "memory_tester.h" //class UnionFind { //}; // "STANDARD" VERSION //Find the root of the tree of node i template inline static LabelT findRoot(const LabelT *P, LabelT i) { LabelT root = i; while (P[root] < root) { root = P[root]; } return root; } //Make all nodes in the path of node i point to root template inline static void setRoot(LabelT *P, LabelT i, LabelT root) { while (P[i] < i) { LabelT j = P[i]; P[i] = root; i = j; } P[i] = root; } //Find the root of the tree of the node i and compress the path in the process template inline static LabelT find(LabelT *P, LabelT i) { LabelT root = findRoot(P, i); setRoot(P, i, root); return root; } //unite the two trees containing nodes i and j and return the new root template inline static LabelT set_union(LabelT *P, LabelT i, LabelT j) { LabelT root = findRoot(P, i); if (i != j) { LabelT rootj = findRoot(P, j); if (root > rootj) { root = rootj; } setRoot(P, j, root); } setRoot(P, i, root); return root; } template inline static LabelT SetUnion(LabelT *P, LabelT i, LabelT j) { LabelT root(i); while (P[rooti] < root) { root = P[root]; } if (i != j) { LabelT root_j(j); while (P[root_j] < root_j) { root_j = P[root_j]; } if (root > root_j) { root = root_j; } //setRoot(P, j, root); while (P[j] < j) { LabelT t = P[j]; P[j] = root_j; j = t; } P[j] = root_j; } //setRoot(P, i, root); while (P[i] < i) { LabelT t = P[i]; P[i] = root; i = t; } P[i] = root; return root; } template inline static LabelT MergeRemSp(LabelT *P, LabelT i, LabelT j) { LabelT rootI(i), rootJ(j); while (P[rootI] != P[rootJ]) { if (P[rootI] > P[rootJ]) { if (rootI == P[rootI]) { P[rootI] = P[rootJ]; return P[rootI]; } LabelT z = P[rootI]; P[rootI] = P[rootJ]; rootI = z; } else { if (rootJ == P[rootJ]) { P[rootJ] = P[rootI]; return P[rootI]; } LabelT z = P[rootJ]; P[rootJ] = P[rootI]; rootJ = z; } } return P[rootI]; } //Flatten the Union Find tree and relabel the components template inline static LabelT flattenL(LabelT *P, LabelT length) { LabelT k = 1; for (LabelT i = 1; i < length; ++i) { if (P[i] < i) { P[i] = P[P[i]]; } else { P[i] = k; k = k + 1; } } return k; } // "STANDARD" VERSION // // // "MEMORY TEST" VERSION //Find the root of the tree of node i template inline static LabelT findRoot(MemVector &P, LabelT i) { LabelT root = i; while (P[root] < root) { root = P[root]; } return root; } //Make all nodes in the path of node i point to root template inline static void setRoot(MemVector &P, LabelT i, LabelT root) { while (P[i] < i) { LabelT j = P[i]; P[i] = root; i = j; } P[i] = root; } //Find the root of the tree of the node i and compress the path in the process template inline static LabelT find(MemVector &P, LabelT i) { LabelT root = findRoot(P, i); setRoot(P, i, root); return root; } //unite the two trees containing nodes i and j and return the new root template inline static LabelT set_union(MemVector &P, LabelT i, LabelT j) { LabelT root = findRoot(P, i); if (i != j) { LabelT rootj = findRoot(P, j); if (root > rootj) { root = rootj; } setRoot(P, j, root); } setRoot(P, i, root); return root; } //Flatten the Union Find tree and relabel the components template inline static LabelT flattenL(MemVector &P, LabelT length) { LabelT k = 1; for (LabelT i = 1; i < length; ++i) { if (P[i] < i) { P[i] = P[P[i]]; } else { P[i] = k; k = k + 1; } } return k; } // "MEMORY TEST" VERSION ================================================ FILE: spike/performanceEvaluator.h.chrono ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #pragma once #include "opencv2/opencv.hpp" #include class PerformanceEvaluator { struct elapsed { std::chrono::system_clock::time_point _start; double _last; double _total; elapsed() : _last(0), _total(0) {} }; public: PerformanceEvaluator() { //_tickFrequency = cv::getTickFrequency(); } void start() { _counter._start = std::chrono::high_resolution_clock::now(); } double stop() { std::chrono::duration fp_ms = std::chrono::high_resolution_clock::now() - _counter._start; double t = fp_ms.count(); _counter._last = t; _counter._total += t; return _counter._last; } void reset() { _counter._total = 0; } double last() { return _counter._last; } double total() { return _counter._total; } void start (const std::string& s) { _counters[s]._start = std::chrono::high_resolution_clock::now(); } double stop (const std::string& s) { elapsed& e = _counters[s]; std::chrono::duration fp_ms = std::chrono::high_resolution_clock::now() - e._start; double t = fp_ms.count(); e._last = t; e._total += t; return e._last; } void reset (const std::string& s) { _counters[s]._total = 0; } double last (const std::string& s) { return _counters[s]._last; } double total (const std::string& s) { return _counters[s]._total; } private: double _tickFrequency; elapsed _counter; std::map _counters; }; ================================================ FILE: src/CMakeLists.txt ================================================ target_sources(YACCLAB PRIVATE check_labeling.cc config_data.cc file_manager.cc labeling_algorithms.cc labeling_bolelli_2018.cc labeling_bolelli_2019.cc labeling_distefano_1999.cc labeling_fchang_2003.cc labeling_grana_2010.cc labeling_grana_2016.cc labeling_he_2014.cc labeling_he_2008.cc labeling_lacassagne_2016.cc labeling_null.cc labeling_wu_2009.cc labeling_wychang_2015.cc labeling_zhao_2010.cc labels_solver.cc main.cc system_info.cc yacclab_tests.cc utilities.cc volume_util.cc yacclab_tensor.cc labeling_sauf_4c.cc labeling_sauf_background.cc labeling_lee_2021_brts.cc labeling_lee_2021_bmrs.cc labeling_PREDpp_2021.cc labeling_tagliatelle_2021.cc ) if(OpenMP_CXX_FOUND) target_sources(YACCLAB PRIVATE labeling_HT_CCL_Diaz2019_v1_2_0.cc ) endif() if(YACCLAB_ENABLE_3D) target_sources(YACCLAB PRIVATE labeling3D_naive.cc labeling3D_he_2011.cc labeling3D_he_2011_run.cc labeling3D_PRED_2021.cc labeling3D_PREDpp_2021.cc labeling3D_SAUF_2021.cc labeling3D_SAUFpp_2021.cc ) if(YACCLAB_ENABLE_EPDT_19C) target_sources(YACCLAB PRIVATE labeling3D_EPDT_19c.cc ) endif() if(YACCLAB_ENABLE_EPDT_22C) target_sources(YACCLAB PRIVATE labeling3D_EPDT_22c.cc ) endif() if(YACCLAB_ENABLE_EPDT_26C) target_sources(YACCLAB PRIVATE labeling3D_EPDT_26c.cc ) endif() endif() ================================================ FILE: src/check_labeling.cc ================================================ #include "check_labeling.h" using namespace std; LabelingCheckSingleton2D& LabelingCheckSingleton2D::GetInstance() { static LabelingCheckSingleton2D instance; return instance; } std::string LabelingCheckSingleton2D::GetCheckAlg(Connectivity2D conn, bool label_background) { return LabelingCheckSingleton2D::GetInstance().map_.at(make_pair(conn, label_background)); } LabelingCheckSingleton3D& LabelingCheckSingleton3D::GetInstance() { static LabelingCheckSingleton3D instance; return instance; } std::string LabelingCheckSingleton3D::GetCheckAlg(Connectivity3D conn, bool label_background) { return LabelingCheckSingleton3D::GetInstance().map_.at(make_pair(conn, label_background)); } namespace { class LabelingCheckAlgorithmsSet { public: LabelingCheckAlgorithmsSet() { // LabelingCheckSingleton2D::GetInstance().map_[make_pair(Connectivity2D::CONN_4, false)] = "SAUF4C_UF"; LabelingCheckSingleton2D::GetInstance().map_[make_pair(Connectivity2D::CONN_8, false)] = "SAUF_UF"; LabelingCheckSingleton2D::GetInstance().map_[make_pair(Connectivity2D::CONN_8, true)] = "SAUF_BG_UF"; LabelingCheckSingleton3D::GetInstance().map_[make_pair(Connectivity3D::CONN_6, false)] = "naive_3D_UF"; LabelingCheckSingleton3D::GetInstance().map_[make_pair(Connectivity3D::CONN_18, false)] = "naive_3D_UF"; LabelingCheckSingleton3D::GetInstance().map_[make_pair(Connectivity3D::CONN_26, false)] = "naive_3D_UF"; } } instance; } ================================================ FILE: src/config_data.cc ================================================ #include "config_data.h" using namespace cv; using namespace std; using namespace ::filesystem; bool ReadBool(const FileNode& node_list) { bool b = false; if (!node_list.empty()) { //The entry is found string s((string)node_list); transform(s.begin(), s.end(), s.begin(), ::tolower); istringstream(s) >> boolalpha >> b; } return b; } ModeConfig::ModeConfig(string _mode, const FileNode& fn) : mode(_mode) { perform_blocksize = ReadBool(fn["perform"]["blocksize"]); perform_correctness = ReadBool(fn["perform"]["correctness"]); perform_average = ReadBool(fn["perform"]["average"]); perform_average_ws = ReadBool(fn["perform"]["average_with_steps"]); perform_density = ReadBool(fn["perform"]["density"]); perform_granularity = ReadBool(fn["perform"]["granularity"]); perform_memory = ReadBool(fn["perform"]["memory"]); perform_check_8connectivity_std = ReadBool(fn["correctness_tests"]["eight_connectivity_standard"]); perform_check_8connectivity_ws = ReadBool(fn["correctness_tests"]["eight_connectivity_steps"]); perform_check_8connectivity_mem = ReadBool(fn["correctness_tests"]["eight_connectivity_memory"]); perform_check_8connectivity_bs = ReadBool(fn["correctness_tests"]["eight_connectivity_blocksize"]); average_save_middle_tests = ReadBool(fn["save_middle_tests"]["average"]); average_ws_save_middle_tests = ReadBool(fn["save_middle_tests"]["average_with_steps"]); density_save_middle_tests = ReadBool(fn["save_middle_tests"]["density"]); granularity_save_middle_tests = ReadBool(fn["save_middle_tests"]["granularity"]); average_tests_number = static_cast(fn["tests_number"]["average"]); average_ws_tests_number = static_cast(fn["tests_number"]["average_with_steps"]); density_tests_number = static_cast(fn["tests_number"]["density"]); granularity_tests_number = static_cast(fn["tests_number"]["granularity"]); blocksize_tests_number = static_cast(fn["tests_number"]["blocksize"]); density_datasets = { "classical" }; granularity_datasets = { "granularity" }; read(fn["check_datasets"], check_datasets); read(fn["average_datasets"], average_datasets); read(fn["average_datasets_with_steps"], average_ws_datasets); read(fn["memory_datasets"], memory_datasets); read(fn["blocksize_datasets"], blocksize_datasets); read(fn["algorithms"], ccl_algorithms); read(fn["blocksize"]["x"], user_blocksize_x); read(fn["blocksize"]["y"], user_blocksize_y); read(fn["blocksize"]["z"], user_blocksize_z); mode_output_path = path(mode); } GlobalConfig::GlobalConfig(const FileStorage& fs) { average_color_labels = ReadBool(fs["color_labels"]["average"]); density_color_labels = ReadBool(fs["color_labels"]["density"]); write_n_labels = ReadBool(fs["write_n_labels"]); input_txt = "files.txt"; gnuplot_script_extension = ".gnuplot"; system_script_extension = #ifdef YACCLAB_WINDOWS ".bat"; #elif defined(YACCLAB_LINUX) || defined(YACCLAB_UNIX) || defined(YACCLAB_APPLE) ".sh"; #endif colors_folder = "colors"; middle_folder = "middle_results"; latex_file = "yacclab_results.tex"; latex_charts = "averageCharts.tex"; latex_memory_file = "memoryAccesses.tex"; memory_file = "memory_accesses.txt"; average_folder = "average_tests"; average_ws_folder = "average_tests_with_steps"; density_folder = "density_tests"; granularity_folder = "granularity"; memory_folder = "memory_tests"; glob_output_path = path(fs["paths"]["output"]) / path(GetDatetimeWithoutSpecialChars()); input_path = path(fs["paths"]["input"]); latex_path = path("latex"); #ifdef YACCLAB_OS yacclab_os = std::string(YACCLAB_OS); #else yacclab_os = ""; #endif SystemInfo::set_os(yacclab_os); } ConfigData::ConfigData(const FileStorage& fs) : global_config(fs) { vector modes; modes.push_back("CPU 2D 8-way connectivity"); modes.push_back("CPU 3D 26-way connectivity"); modes.push_back("CPU 2D 4-way connectivity"); modes.push_back("CPU 3D 6-way connectivity"); #if defined YACCLAB_WITH_CUDA modes.push_back("GPU 2D 8-way connectivity"); modes.push_back("GPU 3D 26-way connectivity"); modes.push_back("GPU 2D 4-way connectivity"); modes.push_back("GPU 3D 6-way connectivity"); #endif for (const string& mode : modes) { // If "execute" is false, LocalConfig struct for current mode isn't added to local_config_map if (ReadBool(fs[mode.c_str()]["execute"])) { mode_config_vector.emplace_back(mode, fs[mode]); } } } ================================================ FILE: src/file_manager.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "file_manager.h" #include #include #include #include #include #include "system_info.h" using namespace std; const char ::filesystem::path::separator_ = #ifdef YACCLAB_WINDOWS '\\'; #else '/'; #endif bool ::filesystem::exists(const path& p) { struct stat info; string s = p.string(); const char* path_to_check = s.c_str(); if (stat(path_to_check, &info) != 0) { //printf("cannot access %s\n", pathname); return false; } else if (info.st_mode & S_IFDIR) { //printf("%s is a directory\n", pathname); return true; // is directory } //printf("%s is no directory\n", pathname); return true; // is file } bool ::filesystem::exists(const path& p, bool &is_dir) { struct stat info; string s = p.string(); const char* path_to_check = s.c_str(); if (stat(path_to_check, &info) != 0) { //printf("cannot access %s\n", pathname); return false; } else if (info.st_mode & S_IFDIR) { //printf("%s is a directory\n", pathname); is_dir = true; return true; // is directory } //printf("%s is no directory\n", pathname); is_dir = false; return true; // is file } bool ::filesystem::exists(const path& p, error_code& ec) { return ::filesystem::exists(p); } bool ::filesystem::exists(const path& p, error_code& ec, bool& is_dir) { return ::filesystem::exists(p, is_dir); } bool ::filesystem::create_directories(const path& p) { string s(p.string()); string parameters = ""; #if defined(YACCLAB_UNIX) || defined(YACCLAB_LINUX) || defined(YACCLAB_APPLE) // make it recursive by adding "-p" suffix parameters = "-p"; #endif if (!exists(s)) { if (system(("mkdir " + parameters + " \"" + s + "\"").c_str()) != 0) { //cerr << "Unable to find/create the output path " + s; return false; } } return true; } bool ::filesystem::create_directories(const path& p, error_code& ec) { return ::filesystem::create_directories(p); } void ::filesystem::path::NormalizePath() { #if defined(YACCLAB_UNIX) || defined(YACCLAB_LINUX) || defined(YACCLAB_APPLE) std::replace(path_.begin(), path_.end(), '\\', '/'); #elif defined(YACCLAB_WINDOWS) std::replace(path_.begin(), path_.end(), '/', '\\'); #endif return; } void ::filesystem::copy(const path& from, const path& to) { if (!::filesystem::exists(from)) { return; } if (!::filesystem::exists(to)) { if (::filesystem::create_directories(to.parent_path())) { ifstream src(from.string()); ofstream dst(to.string()); dst << src.rdbuf(); } } } void ::filesystem::copy(const path& from, const path& to, error_code& ec) { ::filesystem::copy(from, to); } ================================================ FILE: src/labeling3D_EPDT_19c.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling3D_EPDT_19c.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(EPDT_3D_19c); ================================================ FILE: src/labeling3D_EPDT_22c.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling3D_EPDT_22c.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(EPDT_3D_22c); ================================================ FILE: src/labeling3D_EPDT_26c.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling3D_EPDT_26c.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(EPDT_3D_26c); ================================================ FILE: src/labeling3D_PRED_2021.cc ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling3D_PRED_2021.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(PRED_3D); ================================================ FILE: src/labeling3D_PREDpp_2021.cc ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling3D_PREDpp_2021.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(PREDpp_3D); ================================================ FILE: src/labeling3D_SAUF_2021.cc ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling3D_SAUF_2021.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(SAUF_3D); ================================================ FILE: src/labeling3D_SAUFpp_2021.cc ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling3D_SAUFpp_2021.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(SAUFpp_3D); ================================================ FILE: src/labeling3D_he_2011.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling3D_he_2011.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(LEB_3D); ================================================ FILE: src/labeling3D_he_2011_run.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling3D_he_2011_run.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(RBTS_3D); ================================================ FILE: src/labeling3D_naive.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling3D_naive.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(naive_3D) ================================================ FILE: src/labeling_HT_CCL_Diaz2019_v1_2_0.cc ================================================ // Copyright(c) 2018 Fernando Diaz del Rio and Pedro Real Jurado // Dpto ATC: www.atc.us.es and Dpto MA1 www.ma1.us.es // University of Seville. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met : // // *Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. // // * Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and / or other materials provided with the distribution. // // * Neither the name of YACCLAB nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL // DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, // OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "labeling_HT_CCL_Diaz2019_v1_2_0.h" //#include "labels_solver.h" REGISTER_LABELING(labeling_CCLHSF); ================================================ FILE: src/labeling_PREDpp_2021.cc ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_PREDpp_2021.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(PREDpp); ================================================ FILE: src/labeling_algorithms.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_algorithms.h" #include "opencv2/imgcodecs.hpp" #include "volume_util.h" //#if defined YACCLAB_WITH_CUDA //#include "cuda_runtime.h" //#endif //template //cv::Mat1b Labeling2D::img_; //template //cv::Mat Labeling3D::img_; // //#if defined YACCLAB_WITH_CUDA //template //cv::cuda::GpuMat GpuLabeling2D::d_img_; //template //cv::cuda::GpuMat3 GpuLabeling3D::d_img_; //#endif //template //std::string Labeling2D::GetTitle(const SystemInfo& s_info) { // std::string s = "\"{/:Bold CPU}: " + s_info.cpu() + " {/:Bold BUILD}: " + s_info.build() + " {/:Bold OS}: " + s_info.os() + // " {/:Bold COMPILER}: " + s_info.compiler_name() + " " + s_info.compiler_version() + "\" font ', 9'"; // return s; //} //template //std::string Labeling3D::GetTitle(const SystemInfo& s_info) { // std::string s = "\"{/:Bold CPU}: " + s_info.cpu() + " {/:Bold BUILD}: " + s_info.build() + " {/:Bold OS}: " + s_info.os() + // " {/:Bold COMPILER}: " + s_info.compiler_name() + " " + s_info.compiler_version() + "\" font ', 9'"; // return s; //} //#if defined YACCLAB_WITH_CUDA //template //std::string GpuLabeling2D::GetTitle(const SystemInfo& s_info) { // CudaInfo cuda_info; // std::string s = "\"{/:Bold GPU}: " + cuda_info.device_name_ + " {/:Bold CUDA Capability}: " + cuda_info.cuda_capability_ + // " {/:Bold Runtime}: " + cuda_info.runtime_version_ + " {/:Bold Driver}: " + cuda_info.driver_version_; // return s; //} //template //std::string GpuLabeling3D::GetTitle(const SystemInfo& s_info) { // CudaInfo cuda_info; // std::string s = "\"{/:Bold GPU}: " + cuda_info.device_name_ + " {/:Bold CUDA Capability}: " + cuda_info.cuda_capability_ + // " {/:Bold Runtime}: " + cuda_info.runtime_version_ + " {/:Bold Driver}: " + cuda_info.driver_version_; // return s; //} //#endif //template //bool Labeling2D::Check(const Labeling *correct_alg) { // // correct_alg already ran // const Labeling2D *correct_alg_2 = dynamic_cast*>(correct_alg); // if (correct_alg_2 == nullptr) // return false; // return CompareMat(img_labels_, correct_alg_2->img_labels_); //} //template //bool Labeling3D::Check(const Labeling *correct_alg) { // // correct_alg already ran // const Labeling3D *correct_alg_3 = dynamic_cast*>(correct_alg); // if (correct_alg_3 == nullptr) // return false; // return CompareMat(img_labels_, correct_alg_3->img_labels_); //} //template //void Labeling2D::WriteColoredOutput(std::string filename) { // cv::Mat3b img_out;; // ColorLabels(img_labels_, img_out); // imwrite(filename, img_out); //} //template //void Labeling3D::WriteColoredOutput(std::string filename) { // cv::Mat img_out; // ColorLabels(img_labels_, img_out); // volwrite(filename, img_out); //} LabelingMapSingleton& LabelingMapSingleton::GetInstance() { static LabelingMapSingleton instance; // Guaranteed to be destroyed. // Instantiated on first use. return instance; } Labeling* LabelingMapSingleton::GetLabeling(const std::string& s) { return LabelingMapSingleton::GetInstance().data_.at(s); } bool LabelingMapSingleton::Exists(const std::string& s) { return LabelingMapSingleton::GetInstance().data_.end() != LabelingMapSingleton::GetInstance().data_.find(s); } KernelMapSingleton& KernelMapSingleton::GetInstance() { static KernelMapSingleton instance; // Guaranteed to be destroyed. // Instantiated on first use. return instance; } const std::vector& KernelMapSingleton::GetKernels(const std::string& s) { return KernelMapSingleton::GetInstance().data_.at(s); } bool KernelMapSingleton::Exists(const std::string& s) { return KernelMapSingleton::GetInstance().data_.end() != KernelMapSingleton::GetInstance().data_.find(s); } void KernelMapSingleton::InitializeAlgorithm(const std::string& algorithm, const std::string& kernels) { std::vector v; std::istringstream iss(kernels); std::string s; while (std::getline(iss, s, ',')) { s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](unsigned char ch) { return !std::isspace(ch); })); v.push_back(s); } KernelMapSingleton::GetInstance().data_[algorithm] = move(v); } std::string Step(StepType n_step) { switch (n_step) { case ALLOC_DEALLOC: return "Alloc Dealloc"; break; case FIRST_SCAN: return "First Scan"; break; case SECOND_SCAN: return "Second Scan"; break; case ALL_SCANS: return "All Scans"; break; case ST_SIZE: // To avoid warning on AppleClang break; } return ""; } ================================================ FILE: src/labeling_bolelli_2018.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_bolelli_2018.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(DRAG); ================================================ FILE: src/labeling_bolelli_2019.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifdef __GNUC__ #pragma GCC optimize("O1") #endif #include "labeling_bolelli_2019.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(Spaghetti); ================================================ FILE: src/labeling_distefano_1999.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_distefano_1999.h" REGISTER_LABELING(DiStefano); ================================================ FILE: src/labeling_fchang_2003.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_fchang_2003.h" REGISTER_LABELING(CT); ================================================ FILE: src/labeling_grana_2010.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_grana_2010.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(BBDT); ================================================ FILE: src/labeling_grana_2016.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_grana_2016.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(PRED); ================================================ FILE: src/labeling_he_2008.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_he_2008.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(RBTS); ================================================ FILE: src/labeling_he_2014.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_he_2014.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(CTB); ================================================ FILE: src/labeling_lacassagne_2016.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_lacassagne_2016.h" #include "register.h" // Light-Speed Labeling is an algorithm that can only use some types of equivalences solver, so they must be "manually" specified REGISTER_SOLVER(LSL_STD, UF) REGISTER_SOLVER(LSL_STD, TTA) REGISTER_SOLVER(LSL_STDZ, UF) REGISTER_SOLVER(LSL_STDZ, TTA) REGISTER_SOLVER(LSL_RLE, UF) REGISTER_SOLVER(LSL_RLE, TTA) REGISTER_SOLVER(LSL_RLEZ, UF) REGISTER_SOLVER(LSL_RLEZ, TTA) ================================================ FILE: src/labeling_lee_2021_bmrs.cc ================================================ // Copyright (c) 2021, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Wonsang Lee // Department of Physics // Konkuk University, Korea #include "labeling_lee_2021_bmrs.h" #include "labeling_lee_2021_bmrs_no_zeroinit.h" #include "labels_solver.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(BMRS); REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(BMRS_XZ); ================================================ FILE: src/labeling_lee_2021_brts.cc ================================================ // Copyright (c) 2021, the YACCLAB contributors, as // shown by the AUTHORS file, plus additional authors // listed below. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // // Additional Authors: // Wonsang Lee // Department of Physics // Konkuk University, Korea #include "labeling_lee_2021_brts.h" #include "labeling_lee_2021_brts_no_zeroinit.h" #include "labels_solver.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(BRTS); REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(BRTS_XZ); ================================================ FILE: src/labeling_null.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_null.h" #include "labels_solver.h" REGISTER_LABELING(labeling_NULL); ================================================ FILE: src/labeling_sauf_4c.cc ================================================ // Copyright(c) 2020 Federico Bolelli // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met : // // *Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. // // * Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and / or other materials provided with the distribution. // // * Neither the name of YACCLAB nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL // DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, // OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "labeling_sauf_4c.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(SAUF4C) ================================================ FILE: src/labeling_sauf_background.cc ================================================ // Copyright(c) 2020 Federico Bolelli // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met : // // *Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. // // * Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and / or other materials provided with the distribution. // // * Neither the name of YACCLAB nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL // DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, // OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "labeling_sauf_background.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(SAUF_BG) ================================================ FILE: src/labeling_tagliatelle_2021.cc ================================================ // Copyright (c) 2022, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_tagliatelle_2021.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(Tagliatelle); ================================================ FILE: src/labeling_wu_2009.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_wu_2009.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(SAUF) ================================================ FILE: src/labeling_wychang_2015.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_wychang_2015.h" REGISTER_LABELING_WITH_EQUIVALENCES_SOLVERS(CCIT); ================================================ FILE: src/labeling_zhao_2010.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labeling_zhao_2010.h" REGISTER_LABELING(SBLA); ================================================ FILE: src/labels_solver.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "labels_solver.h" // Union-Find (UF): unsigned *UF::P_; unsigned UF::length_; MemVector UF::mem_P_; // Union-Find (UF) with path compression (PC): unsigned *UFPC::P_; unsigned UFPC::length_; MemVector UFPC::mem_P_; // Interleaved Rem algorithm with SPlicing (SP): unsigned *RemSP::P_; unsigned RemSP::length_; MemVector RemSP::mem_P_; // Three Table Array (TTA): unsigned *TTA::rtable_; unsigned *TTA::next_; unsigned *TTA::tail_; unsigned TTA::length_; MemVector TTA::mem_rtable_; MemVector TTA::mem_next_; MemVector TTA::mem_tail_; ================================================ FILE: src/main.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include #include #include #include #include #include #include #include #include #include "config_data.h" #include "file_manager.h" #include "labeling_algorithms.h" #include "memory_tester.h" #include "performance_evaluator.h" #include "progress_bar.h" #include "stream_demultiplexer.h" #include "system_info.h" #include "utilities.h" #include "yacclab_tests.h" using namespace std; using namespace cv; using namespace ::filesystem; int main() { // Redirect cv exceptions #if OPENCV_VERSION_MAJOR >= 4 redirectError(RedirectCvError); #else cvRedirectError(RedirectCvError); #endif // Hide cursor from console HideConsoleCursor(); // To handle filesystem errors error_code ec; // Create StreamDemultiplexer object in order // to print output on both stdout and log file string logfile = "log.txt"; ofstream os(logfile); if (os.is_open()) { dmux::cout.AddStream(os); } OutputBox ob_setconf("Reading Configuration Parameters"); // Read yaml configuration file const string config_file = "config.yaml"; FileStorage fs; try { fs.open(config_file, FileStorage::READ); } catch (const cv::Exception&) { exit(EXIT_FAILURE); // Error redirected, // OpenCV redirected function will // print the error on stdout } if (!fs.isOpened()) { ob_setconf.Cerror("Failed to open '" + config_file + "'"); // EXIT_FAILURE } ob_setconf.Cmessage("Setting Configuration Parameters DONE"); ob_setconf.CloseBox(); // Load configuration data from yaml ConfigData cfg(fs); // Release FileStorage fs.release(); /*************************************************************************/ /* Configuration parameters check */ /*************************************************************************/ for (auto &mode_cfg : cfg.mode_config_vector) { YacclabTests test_perf = YacclabTests(mode_cfg, cfg.global_config, ec); test_perf.InitialOperations(); // Correctness test if (mode_cfg.perform_correctness) { if (mode_cfg.perform_check_8connectivity_std) { test_perf.CheckPerformLabeling(); } if (mode_cfg.perform_check_8connectivity_ws) { test_perf.CheckPerformLabelingWithSteps(); } if (mode_cfg.perform_check_8connectivity_mem) { test_perf.CheckPerformLabelingMem(); } if (mode_cfg.perform_check_8connectivity_bs) { test_perf.CheckPerformLabelingBlocksize(); } } // Average test if (mode_cfg.perform_average) { test_perf.AverageTest(); } // Average with steps test if (mode_cfg.perform_average_ws) { test_perf.AverageTestWithSteps(); } // Density test if (mode_cfg.perform_density) { test_perf.DensityTest(); } // Granularity test if (mode_cfg.perform_granularity) { test_perf.GranularityTest(); } // Memory test if (mode_cfg.perform_memory) { test_perf.MemoryTest(); } // Block size grid search if (mode_cfg.perform_blocksize) { test_perf.BlockSizeTest(); } // There should be better places for this //LabelingMapSingleton::GetLabeling(mode_cfg.ccl_existing_algorithms[0])->GetInput()->Release(); // Latex Generator if (mode_cfg.perform_average || mode_cfg.perform_average_ws || mode_cfg.perform_density || mode_cfg.perform_memory || mode_cfg.perform_granularity) { test_perf.LatexGenerator(); } // Copy log file into output folder dmux::cout.flush(); copy(path(logfile), cfg.global_config.glob_output_path / mode_cfg.mode_output_path / path(logfile), ec); } return EXIT_SUCCESS; } ================================================ FILE: src/system_info.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "config_data.h" #include "system_info.h" #include #include #include #include #include using namespace std; SystemInfo& SystemInfo::GetInstance() { static SystemInfo instance; return instance; } void SystemInfo::SetCpuBrand() { cpu_ = "cpu_unknown"; #if defined(_MSC_VER) && defined(YACCLAB_WINDOWS) // Compiler dependent, works on Windows and Visual Studio int cpu_info[4] = { -1 }; unsigned nExIds, i = 0; char cpu_name[0x40]; // Get the information associated with each extended ID. __cpuid(cpu_info, 0x80000000); nExIds = cpu_info[0]; for (i = 0x80000000; i <= nExIds; ++i) { __cpuid(cpu_info, i); // Interpret CPU brand string if (i == 0x80000002) memcpy(cpu_name, cpu_info, sizeof(cpu_info)); else if (i == 0x80000003) memcpy(cpu_name + 16, cpu_info, sizeof(cpu_info)); else if (i == 0x80000004) memcpy(cpu_name + 32, cpu_info, sizeof(cpu_info)); } cpu_ = cpu_name; #elif defined(YACCLAB_WINDOWS) // Compiler independent, works on Windows std::system("wmic CPU get Name > cpu_name.txt"); ifstream is("cpu_name.txt"); if (!is.is_open()) { return; } string line; std::getline(is, line); std::getline(is, line); is.close(); cpu_ = line; #elif defined(YACCLAB_LINUX) || defined(YACCLAB_UNIX) ifstream cpuinfo("/proc/cpuinfo"); if (!cpuinfo.is_open()) { return; } string cpu_name; while (getline(cpuinfo, cpu_name)) { if (cpu_name.substr(0, cpu_name.find(":") - 1) == "model name") { cpu_name = cpu_name.substr(cpu_name.find(":") + 2); break; } } cpuinfo.close(); cpu_ = cpu_name; #elif defined(YACCLAB_APPLE) #define BUFFERLEN 100 char buffer[BUFFERLEN]; size_t bufferlen = BUFFERLEN; sysctlbyname("machdep.cpu.brand_string", &buffer, &bufferlen, NULL, 0); cpu_ = string(buffer); // AppleClang doesn't like braces initializer list of c++11 #endif const char* t = " \t\n\r\f\v"; // Remove heading and trailing special characters in cpu string cpu_.erase(0, cpu_.find_first_not_of(t)); cpu_.erase(cpu_.find_last_not_of(t) + 1); // Delete "CPU" characters, if present, from cpu name const string pattern = " CPU"; string::size_type n = pattern.length(); for (string::size_type i = cpu_.find(pattern); i != string::npos; i = cpu_.find(pattern)) { cpu_.erase(i, n); } } void SystemInfo::SetBuild() { if (sizeof(void*) == 4) build_ = "x86"; else if (sizeof(void*) == 8) build_ = "x64"; else build_ = "build_unknown"; } void SystemInfo::SetOsBit() { os_bit_ = ""; #if defined(YACCLAB_WINDOWS) // Compiler independent, works on Windows typedef BOOL(WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); LPFN_ISWOW64PROCESS fnIsWow64Process; BOOL bIsWow64 = FALSE; //IsWow64Process is not available on all supported versions of Windows. //Use GetModuleHandle to get a handle to the DLL that contains the function //and GetProcAddress to get a pointer to the function if available. fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress( GetModuleHandle(TEXT("kernel32")), "IsWow64Process"); if (NULL != fnIsWow64Process) { if (!fnIsWow64Process(GetCurrentProcess(), &bIsWow64)) { //handle error return; } } if (bIsWow64) os_bit_ = "64 bit"; else os_bit_ = "32 bit"; #elif defined(YACCLAB_LINUX) || defined(YACCLAB_UNIX) struct utsname unameData; uname(&unameData); string bit = unameData.machine; if (bit == "x86_64") os_bit_ = "64 bit"; else if (bit == "i686") os_bit_ = "32 bit"; #elif defined(YACCLAB_APPLE) // TODO #endif } void SystemInfo::SetOs(std::string os) { os_ = os; } void SystemInfo::SetCompiler() { compiler_name_ = "compiler_unknown"; compiler_version_ = ""; #if defined(__clang__) /* Clang/LLVM. ---------------------------------------------- */ compiler_name_ = "Clang"; compiler_version_ = to_string(__clang_major__) + " " + to_string(__clang_minor__); #elif defined(__ICC) || defined(__INTEL_COMPILER) /* Intel ICC/ICPC. ------------------------------------------ */ compiler_name_ = "IntelC++"; compiler_version_ = to_string(__INTEL_COMPILER); #elif defined(__GNUC__) || defined(__GNUG__) /* GNU GCC/G++. --------------------------------------------- */ compiler_name_ = "GCC"; #ifdef __VERSION__ compiler_version_ = string(__VERSION__); #endif // __VERSION__ #elif defined(__HP_cc) || defined(__HP_aCC) /* Hewlett-Packard C/C++. ---------------------------------- */ compiler_name_ = "HP_C++"; #elif defined(__IBMC__) || defined(__IBMCPP__) /* IBM XL C/C++. -------------------------------------------- */ compiler_name_ = "IBM_XL_C-C++"; #elif defined(_MSC_VER) /* Microsoft Visual Studio. --------------------------------- */ compiler_name_ = "VS"; if (_MSC_VER >= 1920) // Visual Studio 2019, MSVC++ 14.2 compiler_version_ = "16.0"; else if (_MSC_VER == 1916) compiler_version_ = "15.9"; else if (_MSC_VER == 1915) compiler_version_ = "15.8"; else if (_MSC_VER == 1914) compiler_version_ = "15.7"; else if (_MSC_VER == 1913) compiler_version_ = "15.6"; else if (_MSC_VER == 1912) compiler_version_ = "15.5"; else if (_MSC_VER == 1911) compiler_version_ = "15.3"; else if (_MSC_VER == 1910) // Visual Studio 2017, MSVC++ 14.1 compiler_version_ = "15.0"; else if (_MSC_VER == 1900) compiler_version_ = "14.0"; else if (_MSC_VER == 1800) compiler_version_ = "12.0"; else if (_MSC_VER == 1700) compiler_version_ = "11.0"; else if (_MSC_VER == 1600) compiler_version_ = "10.0"; else if (_MSC_VER == 1500) compiler_version_ = "9.0"; else if (_MSC_VER == 1400) compiler_version_ = "8.0"; else if (_MSC_VER == 1310) compiler_version_ = "7.1"; else if (_MSC_VER == 1300) compiler_version_ = "7.0"; else if (_MSC_VER == 1200) compiler_version_ = "6.0"; #elif defined(__PGI) /* Portland Group PGCC/PGCPP. ------------------------------- */ compiler_name_ = "PGCC-PGCPP"; #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) /* Oracle Solaris Studio. ----------------------------------- */ compiler_name_ = "SUNPRO"; #endif } #if defined YACCLAB_WITH_CUDA CudaInfo& CudaInfo::GetInstance() { static CudaInfo instance; return instance; } std::string CudaInfo::CudaBeautifyVersionNumber(int v) { int minor = (v / 10) % 10; int major = v / 1000; return std::to_string(major) + '.' + std::to_string(minor); } CudaInfo::CudaInfo() { cudaDeviceProp prop; cudaGetDeviceProperties(&prop, 0); int runtimeVersion, driverVersion; cudaRuntimeGetVersion(&runtimeVersion); cudaDriverGetVersion(&driverVersion); device_name_ = std::string(prop.name); cuda_capability_ = std::to_string(prop.major) + '.' + std::to_string(prop.minor); runtime_version_ = CudaBeautifyVersionNumber(runtimeVersion); driver_version_ = CudaBeautifyVersionNumber(driverVersion); } #endif ================================================ FILE: src/utilities.cc ================================================ // Copyright (c) 2020, the YACCLAB contributors, as // shown by the AUTHORS file. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "utilities.h" #include #include #include #include #include #include #include "config_data.h" #include "file_manager.h" #include "progress_bar.h" #include "system_info.h" #include "volume_util.h" #if defined YACCLAB_WITH_CUDA #include "device_launch_parameters.h" #include "cuda_runtime.h" #endif using namespace std; using namespace cv; #ifdef YACCLAB_APPLE const string kTerminal = "postscript"; const string kTerminalExtension = ".ps"; #else const string kTerminal = "pdf"; const string kTerminalExtension = ".pdf"; #endif StreamDemultiplexer dmux::cout(std::cout); bool CompareLengthCvString(String const& lhs, String const& rhs) { return lhs.size() < rhs.size(); } void RemoveCharacter(string& s, const char c) { s.erase(std::remove(s.begin(), s.end(), c), s.end()); } unsigned ctoi(const char& c) { return ((int)c - 48); } string GetDatetime() { time_t rawtime; char buffer[80]; time(&rawtime); //Initialize buffer to empty string for (auto& c : buffer) c = '\0'; #if defined(YACCLAB_WINDOWS) && defined(_MSC_VER) struct tm timeinfo; localtime_s(&timeinfo, &rawtime); strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", &timeinfo); #elif defined(YACCLAB_WINDOWS) || defined(YACCLAB_LINUX) || defined(YACCLAB_UNIX) || defined(YACCLAB_APPLE) struct tm* timeinfo; timeinfo = localtime(&rawtime); strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", timeinfo); #endif string datetime(buffer); return datetime; } string GetDatetimeWithoutSpecialChars() { string datetime(GetDatetime()); std::replace(datetime.begin(), datetime.end(), ' ', '_'); std::replace(datetime.begin(), datetime.end(), ':', '.'); return datetime; } //void ColorLabels(const Mat1i& img_labels, Mat3b& img_out) { // img_out = Mat3b(img_labels.size()); // for (int r = 0; r < img_labels.rows; ++r) { // unsigned const * const img_labels_row = img_labels.ptr(r); // Vec3b * const img_out_row = img_out.ptr(r); // for (int c = 0; c < img_labels.cols; ++c) { // img_out_row[c] = Vec3b(img_labels_row[c] * 131 % 255, img_labels_row[c] * 241 % 255, img_labels_row[c] * 251 % 255); // } // } //} // //void ColorLabels(const Mat& img_labels, Mat& img_out) { // if (img_labels.dims == 3) { // img_out.create(3, img_labels.size.p, CV_8UC3); // for (int z = 0; z < img_labels.size[0]; z++) { // for (int y = 0; y < img_labels.size[1]; y++) { // unsigned int * img_labels_row = reinterpret_cast(img_labels.data + z * img_labels.step[0] + y * img_labels.step[1]); // Vec3b * img_out_row = reinterpret_cast(img_out.data + z * img_out.step[0] + y * img_out.step[1]); // for (int x = 0; x < img_labels.size[2]; x++) { // img_out_row[x] = Vec3b(img_labels_row[x] * 131 % 255, img_labels_row[x] * 241 % 255, img_labels_row[x] * 251 % 255); // } // } // } // } // else if (img_labels.dims == 2) { // img_out.create(img_labels.rows, img_labels.cols, CV_8UC3); // for (int y = 0; y < img_labels.size[0]; y++) { // unsigned int * img_labels_row = reinterpret_cast(img_labels.data + y * img_labels.step[0]); // Vec3b * img_out_row = reinterpret_cast(img_out.data + y * img_out.step[0]); // for (int x = 0; x < img_labels.size[1]; x++) { // img_out_row[x] = Vec3b(img_labels_row[x] * 131 % 255, img_labels_row[x] * 241 % 255, img_labels_row[x] * 251 % 255); // } // } // } //} // //void NormalizeLabels(Mat1i& img_labels) { // map map_new_labels; // int i_max_new_label = 0; // // for (int r = 0; r < img_labels.rows; ++r) { // unsigned * const img_labels_row = img_labels.ptr(r); // for (int c = 0; c < img_labels.cols; ++c) { // int iCurLabel = img_labels_row[c]; // if (iCurLabel > 0) { // if (map_new_labels.find(iCurLabel) == map_new_labels.end()) { // map_new_labels[iCurLabel] = ++i_max_new_label; // } // img_labels_row[c] = map_new_labels.at(iCurLabel); // } // } // } //} // //void NormalizeLabels(Mat& img_labels) { // map map_new_labels; // int i_max_new_label = 0; // // if (img_labels.dims == 3) { // for (int z = 0; z < img_labels.size[0]; z++) { // for (int y = 0; y < img_labels.size[1]; y++) { // unsigned int * img_labels_row = reinterpret_cast(img_labels.data + z * img_labels.step[0] + y * img_labels.step[1]); // for (int x = 0; x < img_labels.size[2]; x++) { // int iCurLabel = img_labels_row[x]; // if (iCurLabel > 0) { // if (map_new_labels.find(iCurLabel) == map_new_labels.end()) { // map_new_labels[iCurLabel] = ++i_max_new_label; // } // img_labels_row[x] = map_new_labels.at(iCurLabel); // } // } // } // } // } else if (img_labels.dims == 2) { // for (int r = 0; r < img_labels.rows; ++r) { // unsigned * const img_labels_row = img_labels.ptr(r); // for (int c = 0; c < img_labels.cols; ++c) { // int iCurLabel = img_labels_row[c]; // if (iCurLabel > 0) { // if (map_new_labels.find(iCurLabel) == map_new_labels.end()) { // map_new_labels[iCurLabel] = ++i_max_new_label; // } // img_labels_row[c] = map_new_labels.at(iCurLabel); // } // } // } // } //} // //bool GetBinaryImage(const std::string& filename, cv::Mat& binary_mat) { // // Image load // cv::Mat image; // bool is_dir; // if (!filesystem::exists(path(filename), is_dir)) // return false; // if (!is_dir) { // image = imread(filename, IMREAD_GRAYSCALE); // Read the file // } // else { // image = volread(filename, IMREAD_GRAYSCALE); // } // // Check if image exist // if (image.empty()) { // return false; // } // // Adjust the threshold to make it binary // // threshold(image, binary_mat, 100, 1, THRESH_BINARY); // da verificare che funzioni con i volumi // binary_mat = image; // return true; //} // //bool GetBinaryImage(const path& p, Mat& binary_mat) { // return GetBinaryImage(p.string(), binary_mat); //} // //bool GetBinaryImage(const std::string& filename, cv::Mat1b& binary_mat) { // // Image load // cv::Mat1b image; // image = imread(filename, IMREAD_GRAYSCALE); // Read the file // // Check if image exist // if (image.empty()) { // return false; // } // // Adjust the threshold to make it binary // threshold(image, binary_mat, 100, 1, THRESH_BINARY); // return true; //} // //bool GetBinaryImage(const path& p, Mat1b& binary_mat) { // return GetBinaryImage(p.string(), binary_mat); //} // //bool CompareMat(const Mat& mat_a, const Mat& mat_b) //{ // // Get a matrix with non-zero values at points where the // // two matrices have different values // cv::Mat diff = mat_a != mat_b; // // Equal if no elements disagree // if (cv::countNonZero(diff) != 0) { // volwrite("C:\\Users\\Stefano\\Desktop\\debug\\mistakes", diff); //////////////////////////////////////////////////// // } // return cv::countNonZero(diff) == 0; //} // //bool CompareMat(const Mat1i& mat_a, const Mat1i& mat_b) //{ // // Get a matrix with non-zero values at points where the // // two matrices have different values // cv::Mat1i diff = mat_a != mat_b; // // Equal if no elements disagree // return cv::countNonZero(diff) == 0; //} // //void Divide(Mat& mat){ // if (mat.dims == 3) { // unsigned x = mat.size[2] / 2; // for (unsigned y = 0; y < mat.size[1]; y++) { // for (unsigned z = 0; z < mat.size[0]; z++) { // mat.at(z, y, x) = 0; // } // } // unsigned y = mat.size[1] / 2; // for (unsigned x = 0; x < mat.size[2]; x++) { // for (unsigned z = 0; z < mat.size[0]; z++) { // mat.at(z, y, x) = 0; // } // } // unsigned z = mat.size[0] / 2; // for (unsigned y = 0; y < mat.size[1]; y++) { // // for (unsigned x = 0; x < mat.size[2]; x++) { // mat.at(z, y, x) = 0; // } // } // } //} bool CheckLabeledImage(const Mat1b& img, const Mat1i& labels, Mat1i& errors) { errors = Mat1i(img.size(), 0); bool correct = true; for (int y = 0; y < img.rows; y++) { for (int x = 0; x < img.cols; x++) { unsigned char val = img.at(y, x); int label = labels.at(y, x); if (val) { for (char ny = ((y > 0) ? -1 : 0); ny <= ((y + 1 < img.rows) ? 1 : 0); ny++) { for (char nx = ((x > 0) ? -1 : 0); nx <= ((x + 1 < img.cols) ? 1 : 0); nx++) { if (img.at(y + ny, x + nx) && labels.at(y + ny, x + nx) != label) { errors.at(y, x) = 1; correct = false; } } } } else { if ((x > 0 && !img.at(y, x - 1) && labels.at(y, x - 1) != label) || (x + 1 < img.cols && !img.at(y, x + 1) && labels.at(y, x + 1) != label) || (y > 0 && !img.at(y - 1, x) && labels.at(y - 1, x) != label) || (y + 1 < img.rows && !img.at(y + 1, x) && labels.at(y + 1, x) != label)) { errors.at(y, x) = 1; correct = false; } } } } return correct; } bool CheckLabeledVolume(const Mat& img, const Mat& labels, Mat& errors) { if (labels.dims != 3) throw std::runtime_error("Volume doesn't have 3 dims"); if (labels.type() != CV_32SC1) throw std::runtime_error("Volume type isn't CV_32SC1"); errors.create(3, labels.size.p, CV_32SC1); bool correct = true; for (int z = 0; z < labels.size[0]; z++) { for (int y = 0; y < labels.size[1]; y++) { for (int x = 0; x < labels.size[2]; x++) { unsigned char val = img.at(z, y, x); int label = labels.at(z, y, x); errors.at(z, y, x) = 0; if (val) { for (char nz = ((z > 0) ? -1 : 0); nz <= ((z + 1 < labels.size[0]) ? 1 : 0); nz++) { for (char ny = ((y > 0) ? -1 : 0); ny <= ((y + 1 < labels.size[1]) ? 1 : 0); ny++) { for (char nx = ((x > 0) ? -1 : 0); nx <= ((x + 1 < labels.size[2]) ? 1 : 0); nx++) { if (img.at(z + nz, y + ny, x + nx) && labels.at(z + nz, y + ny, x + nx) != label) { errors.at(z, y, x) = 1; correct = false; } } } } } else { if ((x > 0 && !img.at(z, y, x - 1) && labels.at(z, y, x - 1) != label) || (x + 1 < labels.size[2] && !img.at(z, y, x + 1) && labels.at(z, y, x + 1) != label) || (y > 0 && !img.at(z, y - 1, x) && labels.at(z, y - 1, x) != label) || (y + 1 < labels.size[1] && !img.at(z, y + 1, x) && labels.at(z, y + 1, x) != label) || (z > 0 && !img.at(z - 1, y, x) && labels.at(z - 1, y, x) != label) || (z + 1 < labels.size[0] && !img.at(z + 1, y, x) && labels.at(z + 1, y, x) != label)) { errors.at(z, y, x) = 1; correct = false; } } } } } return correct; } void HideConsoleCursor() { #ifdef YACCLAB_WINDOWS HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO cursor_info; GetConsoleCursorInfo(out, &cursor_info); cursor_info.bVisible = false; // set the cursor visibility SetConsoleCursorInfo(out, &cursor_info); #elif defined(YACCLAB_LINUX) || defined(YACCLAB_UNIX) || defined(YACCLAB_APPLE) int unused; // To avoid "return unused" and "variable unused" warnings unused = system("setterm -cursor off"); #endif return; } int RedirectCvError(int status, const char* func_name, const char* err_msg, const char* file_name, int line, void*) { OutputBox ob; ob.Cerror(err_msg); return 0; } //std::string GetGnuplotTitle(const SystemInfo& s_info) //{ // string s = "\"{/:Bold CPU}: " + s_info.cpu() + " {/:Bold BUILD}: " + s_info.build() + " {/:Bold OS}: " + s_info.os() + // " {/:Bold COMPILER}: " + s_info.compiler_name() + " " + s_info.compiler_version() + "\" font ', 9'"; // return s; //} // //#if defined YACCLAB_WITH_CUDA //string cudaBeautifyVersionNumber(int v) { // int minor = (v / 10) % 10; // int major = v / 1000; // return to_string(major) + '.' + to_string(minor); //} // //std::string GetGnuplotTitleGpu(const SystemInfo& s_info) //{ // cudaDeviceProp prop; // cudaGetDeviceProperties(&prop, 0); // int runtimeVersion, driverVersion; // cudaRuntimeGetVersion(&runtimeVersion); // cudaDriverGetVersion(&driverVersion); // // string s = "\"{/:Bold GPU}: " + string(prop.name) + " {/:Bold CUDA Capability}: " + to_string(prop.major) + '.' + to_string(prop.minor) + // " {/:Bold Runtime}: " + cudaBeautifyVersionNumber(runtimeVersion) + " {/:Bold Driver}: " + cudaBeautifyVersionNumber(driverVersion); // return s; //} //#endif std::string GetGnuplotTitle() { std::string s = "\"{/:Bold CPU}: " + SystemInfo::cpu() + " {/:Bold BUILD}: " + SystemInfo::build() + " {/:Bold OS}: " + SystemInfo::os() + " {/:Bold COMPILER}: " + SystemInfo::compiler_name() + " " + SystemInfo::compiler_version() + "\" font ', 9'"; return s; } #if defined YACCLAB_WITH_CUDA std::string GetGnuplotTitleGpu() { std::string s = "\"{/:Bold GPU}: " + CudaInfo::device_name() + " {/:Bold CUDA Capability}: " + CudaInfo::cuda_capability() + " {/:Bold Runtime}: " + CudaInfo::runtime_version() + " {/:Bold Driver}: " + CudaInfo::driver_version(); return s; } #endif string EscapeUnderscore(const string& s) { string s_escaped; unsigned i = 0; for (const char& c : s) { if (c == '_' && i > 0 && s[i - 1] != '\\') { s_escaped += '\\'; } s_escaped += c; ++i; } return s_escaped; } // Gnuplot requires double-escaped name when underscores are encountered string DoubleEscapeUnderscore(const string& s) { string s_escaped{ s }; size_t found = s_escaped.find_first_of("_"); while (found != std::string::npos) { s_escaped.insert(found, "\\\\"); found = s_escaped.find_first_of("_", found + 3); } return s_escaped; } ================================================ FILE: src/volume_util.cc ================================================ #include "volume_util.h" #include #include #include #include "file_manager.h" using namespace cv; using namespace filesystem; cv::Mat volread(const cv::String &filename, int flags) { std::vector planes; path vol_path(filename); path files_path = vol_path / path("files.txt"); std::vector planenames; { std::ifstream is(files_path.string()); // text mode shoud translate \r\n into \n only if (!is) { return Mat(); } std::string cur_filename; while (std::getline(is, cur_filename)) { planenames.push_back(cur_filename); } } int sz[3]; int type; for (unsigned int plane = 0; plane < planenames.size(); plane++) { Mat tmp = imread((vol_path / path(planenames[plane])).string(), flags); if (tmp.empty()) { return Mat(); } if (plane == 0) { // We can set volume sizes and type when we see the first plane sz[0] = static_cast(planenames.size()); sz[1] = tmp.rows; sz[2] = tmp.cols; type = tmp.type(); } else { if (tmp.rows != sz[1] || tmp.cols != sz[2]) { return Mat(); } } planes.push_back(std::move(tmp)); } Mat volume(3, sz, type); uchar *plane_data = volume.data; // Every matrix in the array is guaranteed to be continuous because it was created with Mat::create() for (Mat& plane : planes) { if (!plane.isContinuous()) return Mat(); size_t plane_size = plane.size[0] * plane.step[0]; memcpy(plane_data, plane.data, plane_size); plane_data += plane_size; } return volume; } bool volwrite(const cv::String& filename, const cv::Mat& volume) { if (volume.empty() || volume.dims != 3) return false; int rows = volume.size[1]; int cols = volume.size[2]; std::vector planes; size_t step = volume.step[1]; for (int plane = 0; plane < volume.size[0]; plane++) { planes.emplace_back(rows, cols, volume.type(), volume.data + volume.step[0] * plane, step); } path vol_path(filename); if (!create_directories(vol_path)) return false; path files_path = vol_path / path("files.txt"); std::ofstream os(files_path.string(), std::ios::binary); if (!os) return false; for (unsigned i = 0; i < planes.size(); i++) { std::ostringstream plane_name; plane_name << std::setw(4) << std::setfill('0') << (i + 1) << ".png"; // this should be made general if (!imwrite((vol_path / path(plane_name.str())).string(), planes[i])) return false; os << plane_name.str() << '\n'; } return true; } ================================================ FILE: src/yacclab_tensor.cc ================================================ #include "yacclab_tensor.h" #include #include #include #include #include #include "file_manager.h" using namespace cv; Mat1b YacclabTensorInput2D::mat_; Mat YacclabTensorInput3D::mat_; bool YacclabTensorInput2D::ReadBinary(const std::string &filename) { if (!filesystem::exists(filesystem::path(filename))) { return false; } Mat1b original_mat = imread(filename, IMREAD_GRAYSCALE); // Read the file // Check if image exist if (original_mat.empty()) { return false; } // Adjust the threshold to make it binary threshold(original_mat, mat_, 100, 1, THRESH_BINARY); return true; } bool YacclabTensorInput3D::ReadBinary(const std::string &filename) { // Image load cv::Mat original_mat; bool is_dir; if (!filesystem::exists(filesystem::path(filename), is_dir)) return false; if (!is_dir) { return false; } original_mat = volread(filename, IMREAD_GRAYSCALE); // Check if image exist if (original_mat.empty()) { return false; } // Adjust the threshold to make it binary // threshold(image, binary_mat, 100, 1, THRESH_BINARY); mat_ = original_mat; return true; } bool YacclabTensorOutput::Equals(YacclabTensorOutput *other) { cv::Mat diff = GetMat() != other->GetMat(); // Equal if no elements disagree return cv::countNonZero(diff) == 0; } void YacclabTensorOutput2D::NormalizeLabels(bool label_background) { std::map map_new_labels; int i_max_new_label = 0; for (int r = 0; r < mat_.rows; ++r) { unsigned * const mat_row = mat_.ptr(r); for (int c = 0; c < mat_.cols; ++c) { int iCurLabel = mat_row[c]; if (label_background || iCurLabel > 0) { if (map_new_labels.find(iCurLabel) == map_new_labels.end()) { map_new_labels[iCurLabel] = ++i_max_new_label; } mat_row[c] = map_new_labels.at(iCurLabel); } } } } void YacclabTensorOutput2D::WriteColored(const std::string &filename) const { cv::Mat3b mat_colored(mat_.size()); for (int r = 0; r < mat_.rows; ++r) { unsigned const * const mat_row = mat_.ptr(r); Vec3b * const mat_colored_row = mat_colored.ptr(r); for (int c = 0; c < mat_.cols; ++c) { mat_colored_row[c] = Vec3b(mat_row[c] * 131 % 255, mat_row[c] * 241 % 255, mat_row[c] * 251 % 255); } } imwrite(filename, mat_colored); } void YacclabTensorOutput3D::NormalizeLabels(bool label_background) { std::map map_new_labels; int i_max_new_label = 0; if (mat_.dims == 3) { for (int z = 0; z < mat_.size[0]; z++) { for (int y = 0; y < mat_.size[1]; y++) { unsigned int * img_labels_row = reinterpret_cast(mat_.data + z * mat_.step[0] + y * mat_.step[1]); for (int x = 0; x < mat_.size[2]; x++) { int iCurLabel = img_labels_row[x]; if (label_background || iCurLabel > 0) { if (map_new_labels.find(iCurLabel) == map_new_labels.end()) { map_new_labels[iCurLabel] = ++i_max_new_label; } img_labels_row[x] = map_new_labels.at(iCurLabel); } } } } } } void YacclabTensorOutput3D::WriteColored(const std::string &filename) const { cv::Mat img_out(3, mat_.size.p, CV_8UC3); for (int z = 0; z < mat_.size[0]; z++) { for (int y = 0; y < mat_.size[1]; y++) { unsigned int const * const img_labels_row = mat_.ptr(z, y); Vec3b * const img_out_row = img_out.ptr(z, y); for (int x = 0; x < mat_.size[2]; x++) { img_out_row[x] = Vec3b(img_labels_row[x] * 131 % 255, img_labels_row[x] * 241 % 255, img_labels_row[x] * 251 % 255); } } } volwrite(filename, img_out); } #if defined YACCLAB_WITH_CUDA cuda::GpuMat YacclabTensorInput2DCuda::d_mat_; cuda::GpuMat3 YacclabTensorInput3DCuda::d_mat_; bool YacclabTensorInput2DCuda::ReadBinary(const std::string &filename) { if (!YacclabTensorInput2D::ReadBinary(filename)) return false; d_mat_.upload(YacclabTensorInput2D::mat_); return true; } bool YacclabTensorInput3DCuda::ReadBinary(const std::string &filename) { if (!YacclabTensorInput3D::ReadBinary(filename)) return false; d_mat_.upload(YacclabTensorInput3D::mat_); return true; } #endif ================================================ FILE: src/yacclab_tests.cc ================================================ #include "yacclab_tests.h" #include #include #include #include #include #include "memory_tester.h" void YacclabTests::InitialOperations() { ob_ = OutputBox(mode_cfg_.mode + " - Performing initial operations"); // Check if all the specified algorithms exist CheckAlgorithmsExistence(); ob_.Cmessage("Checked algorithm existence"); // Check if labeling methods of the specified algorithms exist Labeling* first_algo = LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_existing_algorithms[0]); ob_.Cmessage("Got first labeling algorithm"); first_algo->GetInput()->Create(); ob_.Cmessage("Created input"); CheckMethodsExistence(); ob_.Cmessage("Checked methods existence"); // Check datasets existence CheckDatasets(); #if defined YACCLAB_WITH_CUDA CheckBlocksizeParameters(); #endif CreateDirectories(); ob_.CloseBox(); } void YacclabTests::CheckAlgorithmsExistence() { for (auto& algo_name : mode_cfg_.ccl_algorithms) { if (!LabelingMapSingleton::Exists(algo_name)) { ob_.Cwarning("Unable to find the algorithm '" + algo_name + "'"); } else { mode_cfg_.ccl_existing_algorithms.push_back(algo_name); } } } void YacclabTests::CheckMethodsExistence() { for (const auto& algo_name : mode_cfg_.ccl_existing_algorithms) { const auto& algorithm = LabelingMapSingleton::GetLabeling(algo_name); if (mode_cfg_.perform_average || mode_cfg_.perform_density || mode_cfg_.perform_granularity || (mode_cfg_.perform_correctness && mode_cfg_.perform_check_8connectivity_std)) { try { algorithm->PerformLabeling(); mode_cfg_.ccl_average_algorithms.push_back(algo_name); } catch (const std::runtime_error& e) { ob_.Cwarning(algo_name + ": " + e.what()); } } if (mode_cfg_.perform_average_ws || (mode_cfg_.perform_correctness && mode_cfg_.perform_check_8connectivity_ws)) { try { algorithm->PerformLabelingWithSteps(); mode_cfg_.ccl_average_ws_algorithms.push_back(algo_name); } catch (const std::runtime_error& e) { ob_.Cwarning(algo_name + ": " + e.what()); } } if (mode_cfg_.perform_memory || (mode_cfg_.perform_correctness && mode_cfg_.perform_check_8connectivity_mem)) { try { std::vector temp; algorithm->PerformLabelingMem(temp); mode_cfg_.ccl_mem_algorithms.push_back(algo_name); } catch (const std::runtime_error& e) { ob_.Cwarning(algo_name + ": " + e.what()); } } if (mode_cfg_.perform_blocksize || (mode_cfg_.perform_correctness && mode_cfg_.perform_check_8connectivity_bs)) { try { algorithm->PerformLabelingBlocksize(16, 16, 1); if (KernelMapSingleton::Exists(algo_name)) { mode_cfg_.ccl_blocksize_algorithms.push_back(algo_name); } else { ob_.Cwarning("Kernels of " + algo_name + " were not registered for Blocksize test, skipped"); } } catch (const std::runtime_error& e) { ob_.Cwarning(algo_name + ": " + e.what()); } } algorithm->FreeLabelingData(); } if ((mode_cfg_.perform_average || (mode_cfg_.perform_correctness && mode_cfg_.perform_check_8connectivity_std)) && mode_cfg_.ccl_average_algorithms.size() == 0) { ob_.Cwarning("There are no 'algorithms' with valid 'PerformLabeling()' method, related tests will be skipped"); mode_cfg_.perform_average = false; mode_cfg_.perform_check_8connectivity_std = false; } if ((mode_cfg_.perform_average_ws || (mode_cfg_.perform_correctness && mode_cfg_.perform_check_8connectivity_ws)) && mode_cfg_.ccl_average_ws_algorithms.size() == 0) { ob_.Cwarning("There are no 'algorithms' with valid 'PerformLabelingWithSteps()' method, related tests will be skipped"); mode_cfg_.perform_average_ws = false; mode_cfg_.perform_check_8connectivity_ws = false; } if ((mode_cfg_.perform_memory || (mode_cfg_.perform_correctness && mode_cfg_.perform_check_8connectivity_mem)) && mode_cfg_.ccl_mem_algorithms.size() == 0) { ob_.Cwarning("There are no 'algorithms' with valid 'PerformLabelingMem()' method, related tests will be skipped"); mode_cfg_.perform_memory = false; mode_cfg_.perform_check_8connectivity_mem = false; } if ((mode_cfg_.perform_blocksize|| (mode_cfg_.perform_correctness && mode_cfg_.perform_check_8connectivity_bs)) && mode_cfg_.ccl_blocksize_algorithms.size() == 0) { ob_.Cwarning("There are no 'algorithms' with valid 'PerformLabelingBlocksize()' method, related tests will be skipped"); mode_cfg_.perform_blocksize = false; mode_cfg_.perform_check_8connectivity_bs = false; } if (mode_cfg_.perform_average && (mode_cfg_.average_tests_number < 1 || mode_cfg_.average_tests_number > 999)) { ob_.Cwarning("'average test' repetitions cannot be less than 1 or more than 999, skipped"); mode_cfg_.perform_average = false; } if (mode_cfg_.perform_density && (mode_cfg_.density_tests_number < 1 || mode_cfg_.density_tests_number > 999)) { ob_.Cwarning("'density test' repetitions cannot be less than 1 or more than 999, skipped"); mode_cfg_.perform_density = false; } if (mode_cfg_.perform_average_ws && (mode_cfg_.average_ws_tests_number < 1 || mode_cfg_.average_ws_tests_number > 999)) { ob_.Cwarning("'average with steps test' repetitions cannot be less than 1 or more than 999, skipped"); mode_cfg_.perform_average_ws = false; } if ((mode_cfg_.perform_correctness) && mode_cfg_.check_datasets.size() == 0) { ob_.Cwarning("There are no datasets specified for 'correctness test', skipped"); mode_cfg_.perform_correctness = false; } if ((mode_cfg_.perform_average) && mode_cfg_.average_datasets.size() == 0) { ob_.Cwarning("There are no datasets specified for 'average test', skipped"); mode_cfg_.perform_average = false; } if ((mode_cfg_.perform_average_ws) && mode_cfg_.average_ws_datasets.size() == 0) { ob_.Cwarning("There are no datasets specified for 'average with steps test', skipped"); mode_cfg_.perform_average_ws = false; } if ((mode_cfg_.perform_memory) && mode_cfg_.memory_datasets.size() == 0) { ob_.Cwarning("There are no datasets specified for 'memory test', skipped"); mode_cfg_.perform_memory = false; } if ((mode_cfg_.perform_blocksize) && mode_cfg_.blocksize_datasets.size() == 0) { ob_.Cwarning("There are no datasets specified for 'blocksize test', skipped"); mode_cfg_.perform_blocksize = false; } if (!mode_cfg_.perform_average && !mode_cfg_.perform_correctness && !mode_cfg_.perform_density && !mode_cfg_.perform_memory && !mode_cfg_.perform_average_ws && !mode_cfg_.perform_granularity && !mode_cfg_.perform_blocksize) { ob_.Cwarning("There are no tests to perform"); } } class CheckDatasetsExistence { private: const path& input_path_; const std::string& input_txt_; OutputBox& ob_; std::error_code& ec_; public: CheckDatasetsExistence(const path& input_path, const std::string& input_txt, OutputBox& ob, std::error_code& ec) : input_path_(input_path), input_txt_(input_txt), ob_(ob), ec_(ec) {} bool operator()(const std::vector& dataset, bool print_message) { // Check if all the datasets' files.txt exist bool exists_one_dataset = false; for (auto& x : dataset) { path p = input_path_ / path(x) / path(input_txt_); if (!exists(p, ec_)) { if (print_message) { ob_.Cwarning("There is no dataset '" + x + "' (no files.txt available), skipped"); } } else { exists_one_dataset = true; } } return exists_one_dataset; } }; void YacclabTests::CheckDatasets() { std::vector ds; if (mode_cfg_.perform_correctness) { ds.insert(ds.end(), mode_cfg_.check_datasets.begin(), mode_cfg_.check_datasets.end()); } if (mode_cfg_.perform_memory) { ds.insert(ds.end(), mode_cfg_.memory_datasets.begin(), mode_cfg_.memory_datasets.end()); } if (mode_cfg_.perform_average) { ds.insert(ds.end(), mode_cfg_.average_datasets.begin(), mode_cfg_.average_datasets.end()); } if (mode_cfg_.perform_average) { ds.insert(ds.end(), mode_cfg_.average_ws_datasets.begin(), mode_cfg_.average_ws_datasets.end()); } if (mode_cfg_.perform_blocksize) { ds.insert(ds.end(), mode_cfg_.blocksize_datasets.begin(), mode_cfg_.blocksize_datasets.end()); } std::sort(ds.begin(), ds.end()); ds.erase(unique(ds.begin(), ds.end()), ds.end()); CheckDatasetsExistence check_datasets_existence = CheckDatasetsExistence(glob_cfg_.input_path, glob_cfg_.input_txt, ob_, ec_); // To check single dataset if (mode_cfg_.perform_correctness) { if (!check_datasets_existence(mode_cfg_.check_datasets, false)) { ob_.Cwarning("There are no valid datasets for 'correctness test', skipped"); mode_cfg_.perform_correctness = false; } } if (mode_cfg_.perform_average) { if (!check_datasets_existence(mode_cfg_.average_datasets, false)) { ob_.Cwarning("There are no valid datasets for 'average test', skipped"); mode_cfg_.perform_average = false; } } if (mode_cfg_.perform_average_ws) { if (!check_datasets_existence(mode_cfg_.average_ws_datasets, false)) { ob_.Cwarning("There are no valid datasets for 'average with steps test', skipped"); mode_cfg_.perform_average_ws = false; } } if (mode_cfg_.perform_memory) { if (!check_datasets_existence(mode_cfg_.memory_datasets, false)) { ob_.Cwarning("There are no valid datasets for 'memory test', skipped"); mode_cfg_.perform_memory = false; } } if (mode_cfg_.perform_blocksize) { if (!check_datasets_existence(mode_cfg_.blocksize_datasets, false)) { ob_.Cwarning("There are no valid datasets for 'blocksize test', skipped"); mode_cfg_.perform_blocksize = false; } } } #if defined YACCLAB_WITH_CUDA void YacclabTests::CheckBlocksizeParameters() { if (mode_cfg_.perform_blocksize) { if (mode_cfg_.user_blocksize_x.size() != 3) { mode_cfg_.perform_blocksize = false; ob_.Cwarning("Parameter 'blocksize.x' is not in the form [first, last, step], blocksize test skipped."); return; } if (mode_cfg_.user_blocksize_y.size() != 3) { mode_cfg_.perform_blocksize = false; ob_.Cwarning("Parameter 'blocksize.y' is not in the form [first, last, step], blocksize test skipped."); return; } if (mode_cfg_.user_blocksize_z.size() != 3) { mode_cfg_.perform_blocksize = false; ob_.Cwarning("Parameter 'blocksize.z' is not in the form [first, last, step], blocksize test skipped."); return; } std::copy(begin(mode_cfg_.user_blocksize_x), end(mode_cfg_.user_blocksize_x), begin(mode_cfg_.blocksize_x)); std::copy(begin(mode_cfg_.user_blocksize_y), end(mode_cfg_.user_blocksize_y), begin(mode_cfg_.blocksize_y)); std::copy(begin(mode_cfg_.user_blocksize_z), end(mode_cfg_.user_blocksize_z), begin(mode_cfg_.blocksize_z)); mode_cfg_.user_blocksize_x.clear(); mode_cfg_.user_blocksize_y.clear(); mode_cfg_.user_blocksize_z.clear(); for (int i = 0; i < 3; ++i) { if (mode_cfg_.blocksize_x[i] <= 0 || mode_cfg_.blocksize_y[i] <= 0 || mode_cfg_.blocksize_z[i] <= 0) { mode_cfg_.perform_blocksize = false; ob_.Cwarning("Blocksize parameters must be positive, blocksize test skipped."); return; } } // TODO: what if there are multiple devices? cudaDeviceProp prop; cudaGetDeviceProperties(&prop, 0); int max_x = prop.maxThreadsDim[0]; int max_y = prop.maxThreadsDim[1]; int max_z = prop.maxThreadsDim[2]; for (int i = 0; i < 2; ++i) { if (mode_cfg_.blocksize_x[i] > max_x) mode_cfg_.blocksize_x[i] = max_x; if (mode_cfg_.blocksize_y[i] > max_y) mode_cfg_.blocksize_y[i] = max_y; if (mode_cfg_.blocksize_z[i] > max_z) mode_cfg_.blocksize_z[i] = max_z; } } } #endif void YacclabTests::CreateDirectories() { if (mode_cfg_.perform_average || mode_cfg_.perform_average_ws || mode_cfg_.perform_density || mode_cfg_.perform_memory || mode_cfg_.perform_granularity) { // Set and create current output directory if (!create_directories(output_path, ec_)) { ob_.Cerror("Unable to create output directory '" + output_path.string() + "' - " + ec_.message()); } // Create the directory for latex reports if (!create_directories(output_path / glob_cfg_.latex_path, ec_)) { ob_.Cerror("Unable to create output directory '" + (output_path / glob_cfg_.latex_path).string() + "' - " + ec_.message()); } } } // Load a list of image names from a specified file (files_path) and store them into a vector of // pairs (filenames). Each pairs contains the name of the file (first) and a bool (second) // representing file state. bool YacclabTests::LoadFileList(std::vector>& filenames, const path& files_path) { // Open files_path (files.txt) std::ifstream is(files_path.string()); if (!is.is_open()) { return false; } std::string cur_filename; while (getline(is, cur_filename)) { // To delete possible carriage return in the file name // (especially designed for windows file newline format) RemoveCharacter(cur_filename, '\r'); filenames.push_back(make_pair(cur_filename, true)); } is.close(); return true; } // Check if all the files in a list of pair (filename, state) exists and set the state of every file // opportunely. The function returns true if all the files exist, false otherwise. bool YacclabTests::CheckFileList(const path& base_path, std::vector>& filenames) { bool ret = true; for (size_t i = 0; i < filenames.size(); ++i) { std::error_code ec; filenames[i].second = filesystem::exists(base_path / path(filenames[i].first), ec); if (!filenames[i].second) { ret = false; } } return ret; } // This function take a Mat1d of results and save it in the specified output-stream bool YacclabTests::SaveBroadOutputResults(std::map& results, const std::string& o_filename, const cv::Mat1i& labels, const std::vector>& filenames, const std::vector& ccl_algorithms) { std::ofstream os(o_filename); if (!os.is_open()) { return false; } // To set heading file format os << "#" << '\t'; for (const auto& algo_name : ccl_algorithms) { // Calculate the max of the columns to find unused steps cv::Mat1d results_reduced(1, results.at(algo_name).cols); #if OPENCV_VERSION_MAJOR >= 4 cv::reduce(results.at(algo_name), results_reduced, 0, cv::REDUCE_MAX); #else cv::reduce(results.at(algo_name), results_reduced, 0, CV_REDUCE_MAX); cv::reduce(results.at(algo_name), results_reduced, 0, CV_REDUCE_MAX); #endif for (int step_number = 0; step_number != StepType::ST_SIZE; ++step_number) { StepType step = static_cast(step_number); double column_value(results_reduced(0, step_number)); if (column_value != std::numeric_limits::max()) { os << algo_name + "_" << Step(step) << '\t'; } } } os << '\n'; for (unsigned files = 0; files < filenames.size(); ++files) { if (filenames[files].second) { os << filenames[files].first << '\t'; unsigned i = 0; for (const auto& algo_name : ccl_algorithms) { for (int step_number = 0; step_number != StepType::ST_SIZE; ++step_number) { if (results.at(algo_name)(files, step_number) != std::numeric_limits::max()) { os << results.at(algo_name)(files, step_number) << '\t'; } else { // Step not held, skipped //os << 0 << '\t'; } } ++i; } os << '\n'; } } return true; } bool YacclabTests::SaveBroadOutputResults(const cv::Mat1d& results, const std::string& o_filename, const cv::Mat1i& labels, const std::vector>& filenames, const std::vector& ccl_algorithms) { std::ofstream os(o_filename); if (!os.is_open()) { return false; } // To set heading file format os << "#"; for (const auto& algo_name : ccl_algorithms) { os << '\t' << algo_name; } os << '\n'; // To set heading file format for (unsigned files = 0; files < filenames.size(); ++files) { if (filenames[files].second) { os << filenames[files].first << '\t'; for (unsigned i = 0; i < ccl_algorithms.size(); ++i) { os << results(files, i) << '\t'; } os << '\n'; } } return true; } // To calculate average times and write it on the specified file void YacclabTests::SaveAverageWithStepsResults(const std::string& os_name, const std::string& dataset_name, bool rounded) { std::ofstream os(os_name); if (!os.is_open()) { dmux::cout << "Unable to save average results" << '\n'; return; } // Write heading string in output stream os << "#Algorithm" << '\t'; for (int step_number = 0; step_number != StepType::ST_SIZE; ++step_number) { StepType step = static_cast(step_number); os << Step(step) << '\t'; } os << "Total" << '\n'; const auto& results = average_ws_results_.at(dataset_name); for (int r = 0; r < results.rows; ++r) { const auto& algo_name = mode_cfg_.ccl_average_ws_algorithms[r]; double cumulative_sum{ 0.0 }; // Gnuplot requires double-escaped name when underscores are encountered //{ // string algo_name_double_escaped{ algo_name }; // std::size_t found = algo_name_double_escaped.find_first_of("_"); // while (found != std::string::npos) { // algo_name_double_escaped.insert(found, "\\\\"); // found = algo_name_double_escaped.find_first_of("_", found + 3); // } // os << algo_name_double_escaped << '\t'; //} os << DoubleEscapeUnderscore(std::string(algo_name)) << '\t'; for (int c = 0; c < results.cols; ++c) { if (rounded) { cumulative_sum += floor(results(r, c) * 100.00 + 0.5) / 100.00; os << std::fixed << std::setprecision(2) << results(r, c) << '\t'; } else { cumulative_sum += results(r, c); os << std::fixed << std::setprecision(8) << results(r, c) << '\t'; } } // Write cumulative_sum as total if (rounded) { os << std::fixed << std::setprecision(2) << cumulative_sum; } else { os << std::fixed << std::setprecision(8) << cumulative_sum; } os << '\n'; } os.close(); } void YacclabTests::AverageTest() { OutputBox ob(mode_cfg_.mode + " Average Test"); std::string complete_results_suffix = "_results.txt", middle_results_suffix = "_run", average_results_suffix = "_average.txt"; // Initialize results container average_results_ = cv::Mat1d(static_cast(mode_cfg_.average_datasets.size()), static_cast(mode_cfg_.ccl_average_algorithms.size()), std::numeric_limits::max()); std::random_device rd; std::mt19937 g(rd()); for (unsigned d = 0; d < mode_cfg_.average_datasets.size(); ++d) { // For every dataset in the average list std::string dataset_name(mode_cfg_.average_datasets[d]), output_average_results = dataset_name + average_results_suffix, output_graph = dataset_name + kTerminalExtension, output_graph_bw = dataset_name + "_bw" + kTerminalExtension; path dataset_path(glob_cfg_.input_path / path(dataset_name)), is_path = dataset_path / path(glob_cfg_.input_txt), // files.txt path current_output_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / path(glob_cfg_.average_folder) / path(dataset_name)), current_latex_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / glob_cfg_.latex_path), output_broad_path = current_output_path / path(dataset_name + complete_results_suffix), output_colored_images_path = current_output_path / path(glob_cfg_.colors_folder), output_middle_results_path = current_output_path / path(glob_cfg_.middle_folder), average_os_path = current_output_path / path(output_average_results); if (!create_directories(current_output_path)) { ob.Cwarning("Unable to find/create the output path '" + current_output_path.string() + "', skipped", dataset_name); continue; } // TODO: remove color labels from this test if (glob_cfg_.average_color_labels) { if (!create_directories(output_colored_images_path)) { ob.Cwarning("Unable to find/create the output path '" + output_colored_images_path.string() + "', colored images won't be saved"); } } // For AVERAGE std::ofstream average_os(average_os_path.string()); if (!average_os.is_open()) { ob.Cwarning("Unable to open '" + average_os_path.string() + "', skipped", dataset_name); continue; } // To save list of filename on which CLLAlgorithms must be tested std::vector> filenames; // first: filename, second: state of filename (find or not) if (!LoadFileList(filenames, is_path)) { ob.Cwarning("Unable to open '" + is_path.string() + "', skipped", dataset_name); continue; } // Number of files unsigned filenames_size = static_cast(filenames.size()); // To save middle/min and average results; cv::Mat1d min_res(filenames_size, static_cast(mode_cfg_.ccl_average_algorithms.size()), std::numeric_limits::max()); cv::Mat1d current_res(filenames_size, static_cast(mode_cfg_.ccl_average_algorithms.size()), std::numeric_limits::max()); cv::Mat1i labels(filenames_size, static_cast(mode_cfg_.ccl_average_algorithms.size()), 0); std::vector> supp_average(mode_cfg_.ccl_average_algorithms.size(), std::make_pair(0.0, 0)); // Start output message box ob.StartRepeatedBox(dataset_name, filenames_size, mode_cfg_.average_tests_number); if (mode_cfg_.average_ws_save_middle_tests) { if (!create_directories(output_middle_results_path)) { ob.Cwarning("Unable to find/create the output path '" + output_middle_results_path.string() + "', middle results won't be saved"); } } std::map algo_pos; for (size_t i = 0; i < mode_cfg_.ccl_average_algorithms.size(); ++i) algo_pos[mode_cfg_.ccl_average_algorithms[i]] = i; auto shuffled_ccl_average_algorithms = mode_cfg_.ccl_average_algorithms; // Test is executed n_test times for (unsigned test = 0; test < mode_cfg_.average_tests_number; ++test) { // For every file in list for (unsigned file = 0; file < filenames.size(); ++file) { // Display output message box ob.UpdateRepeatedBox(file); std::string filename = filenames[file].first; path filename_path = dataset_path / path(filename); // Read and load image if (!LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetInput()->ReadBinary(filename_path.string())) { ob.Cmessage("Unable to open '" + filename + "', skipped"); continue; } shuffle(begin(shuffled_ccl_average_algorithms), end(shuffled_ccl_average_algorithms), g); // For all the Algorithms in the array for (const auto& algo_name : shuffled_ccl_average_algorithms) { Labeling* algorithm = LabelingMapSingleton::GetLabeling(algo_name); unsigned i = static_cast(algo_pos[algo_name]); try { // Perform current algorithm on current image and save result. algorithm->perf_.start(); algorithm->PerformLabeling(); algorithm->perf_.stop(); } catch (const std::exception& e) { algorithm->FreeLabelingData(); ob.Cerror("Something wrong with " + algo_name + ": " + e.what()); // You should check your algorithms' implementation before performing YACCLAB tests } // Save time results current_res(file, i) = algorithm->perf_.last(); if (algorithm->perf_.last() < min_res(file, i)) { min_res(file, i) = algorithm->perf_.last(); } YacclabTensorOutput* img_out = algorithm->GetOutput(); // If 'at_colorLabels' is enabled only the first time (test == 0) the output is saved if (glob_cfg_.average_color_labels && test == 0) { // Remove gnuplot escape character from output filename img_out->PrepareForCheck(); img_out->NormalizeLabels(); std::string colored_image = (output_colored_images_path / path(filename + "_" + algo_name + ".png")).string(); img_out->WriteColored(colored_image); } algorithm->FreeLabelingData(); } // END ALGORITHMS FOR } // END FILES FOR. ob.StopRepeatedBox(false); // Save middle results if necessary (flag 'average_save_middle_tests' enabled) if (mode_cfg_.average_save_middle_tests) { std::string output_middle_results_file = (output_middle_results_path / path(dataset_name + middle_results_suffix + "_" + std::to_string(test) + ".txt")).string(); if (!SaveBroadOutputResults(current_res, output_middle_results_file, labels, filenames, mode_cfg_.ccl_average_algorithms)) { ob.Cwarning("Unable to save middle results for 'average test'"); } } } // END TEST FOR // To write in a file min results if (!SaveBroadOutputResults(min_res, output_broad_path.string(), labels, filenames, mode_cfg_.ccl_average_algorithms)) { ob.Cwarning("Unable to save min results for 'average test'"); } // To calculate average times and write it on the specified file for (int r = 0; r < min_res.rows; ++r) { for (int c = 0; c < min_res.cols; ++c) { if (min_res(r, c) != std::numeric_limits::max()) { supp_average[c].first += min_res(r, c); supp_average[c].second++; } } } average_os << "#Algorithm" << '\t' << "Average" << '\t' << "Round Average for Graphs" << '\n'; for (unsigned i = 0; i < mode_cfg_.ccl_average_algorithms.size(); ++i) { // For all the Algorithms in the array const auto& algo_name = mode_cfg_.ccl_average_algorithms[i]; // Gnuplot requires double-escaped name in presence of underscores { std::string algo_name_double_escaped = algo_name; std::size_t found = algo_name_double_escaped.find_first_of("_"); while (found != std::string::npos) { algo_name_double_escaped.insert(found, "\\\\"); found = algo_name_double_escaped.find_first_of("_", found + 3); } average_os << algo_name_double_escaped << '\t'; } // Save all the results average_results_(d, i) = supp_average[i].first / supp_average[i].second; average_os << std::fixed << std::setprecision(8) << supp_average[i].first / supp_average[i].second << '\t'; // TODO numberOfDecimalDigitToDisplayInGraph in configuration file ? average_os << std::fixed << std::setprecision(2) << supp_average[i].first / supp_average[i].second << '\n'; } { // GNUPLOT SCRIPT std::string compiler_name(SystemInfo::compiler_name()); std::string compiler_version(SystemInfo::compiler_version()); //replace the . with _ for compiler strings std::replace(compiler_version.begin(), compiler_version.end(), '.', '_'); path script_os_path = current_output_path / path(dataset_name + glob_cfg_.gnuplot_script_extension); std::ofstream script_os(script_os_path.string()); if (!script_os.is_open()) { ob.Cwarning("Unable to create " + script_os_path.string()); } script_os << "# This is a gnuplot (http://www.gnuplot.info/) script!" << '\n'; script_os << "# comment fifth line, open gnuplot's teminal, move to script's path and launch 'load " << dataset_name + glob_cfg_.gnuplot_script_extension << "' if you want to run it" << '\n' << '\n'; script_os << "reset" << '\n'; script_os << "# cd '" << current_output_path.string() << "\'" << '\n'; script_os << "set grid ytic" << '\n'; script_os << "set grid" << '\n' << '\n'; script_os << "# " << dataset_name << "(COLORS)" << '\n'; script_os << "set output '" + (current_output_path / path(output_graph)).string() + "'" << '\n'; script_os << "set title " << LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetTitle() << '\n' << '\n'; script_os << "# " << kTerminal << " colors" << '\n'; script_os << "set terminal " << kTerminal << " enhanced color font ',15'" << '\n' << '\n'; script_os << "# Graph style" << '\n'; script_os << "set style data histogram" << '\n'; script_os << "set style histogram cluster gap 1" << '\n'; script_os << "set style fill solid 0.25 border -1" << '\n'; script_os << "set boxwidth 0.9" << '\n' << '\n'; script_os << "# Get stats to set labels" << '\n'; script_os << "stats '" << (current_output_path / path(output_average_results)).string() << "' using 3 nooutput" << '\n'; script_os << "ymax = STATS_max + (STATS_max/100)*10" << '\n'; script_os << "xw = 0" << '\n'; script_os << "yw = (ymax)/22.0" << '\n' << '\n'; script_os << "# Axes labels" << '\n'; script_os << "set xtic rotate by -45 scale 0" << '\n'; script_os << "set ylabel \"Execution Time [ms]\"" << '\n' << '\n'; script_os << "# Axes range" << '\n'; script_os << "set yrange[0:ymax]" << '\n'; script_os << "set xrange[*:*]" << '\n' << '\n'; script_os << "# Legend" << '\n'; script_os << "set key off" << '\n' << '\n'; script_os << "# Plot" << '\n'; script_os << "plot \\" << '\n'; script_os << "'" + (current_output_path / path(output_average_results)).string() + "' using 3:xtic(1), '" << (current_output_path / path(output_average_results)).string() << "' using ($0 - xw) : ($3 + yw) : (stringcolumn(3)) with labels" << '\n' << '\n'; script_os << "# Replot in latex folder" << '\n'; script_os << "set title \"\"" << '\n' << '\n'; script_os << "set output \'" << (current_latex_path / path(compiler_name + compiler_version + "_" + output_graph)).string() << "\'" << '\n'; script_os << "replot" << '\n' << '\n'; script_os << "# " << dataset_name << "(BLACK AND WHITE)" << '\n'; script_os << "set output '" + (current_output_path / path(output_graph_bw)).string() + "'" << '\n'; script_os << "set title " << LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetTitle() << '\n' << '\n'; script_os << "# " << kTerminal << " black and white" << '\n'; script_os << "set terminal " << kTerminal << " enhanced monochrome dashed font ',15'" << '\n' << '\n'; script_os << "replot" << '\n' << '\n'; script_os << "exit gnuplot" << '\n'; average_os.close(); script_os.close(); } // GNUPLOT SCRIPT if (0 != std::system(("gnuplot \"" + (current_output_path / path(dataset_name + glob_cfg_.gnuplot_script_extension)).string() + "\" 2> gnuplot_errors.txt").c_str())) { ob.Cwarning("Unable to run gnuplot script"); } ob.CloseBox(); } // END DATASET FOR // LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->ReleaseInput(); } void YacclabTests::BlockSizeTest() { OutputBox ob(mode_cfg_.mode + " Block Size Test"); path current_output_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / path("Blocksize")); // Create vector of dims (arrays of three int) int maxsize = 0; #if defined YACCLAB_WITH_CUDA cudaDeviceProp prop; cudaGetDeviceProperties(&prop, 0); maxsize = prop.maxThreadsPerBlock; #endif std::vector> dims; for (int x = mode_cfg_.blocksize_x[0]; x <= mode_cfg_.blocksize_x[1]; x += mode_cfg_.blocksize_x[2]) { for (int y = mode_cfg_.blocksize_y[0]; y <= mode_cfg_.blocksize_y[1]; y += mode_cfg_.blocksize_y[2]) { for (int z = mode_cfg_.blocksize_z[0]; z <= mode_cfg_.blocksize_z[1]; z += mode_cfg_.blocksize_z[2]) { if (x * y * z <= maxsize) { dims.push_back({ x, y, z }); } } } } std::vector> results; // One dims x datasets matrix for each kernel for each algorithm std::vector> header; // Kernel names for each algorithm for (const auto& algo_name : mode_cfg_.ccl_blocksize_algorithms) { const auto& kernels = KernelMapSingleton::GetKernels(algo_name); header.push_back(kernels); } for (int alg = 0; alg < mode_cfg_.ccl_blocksize_algorithms.size(); ++alg) { std::vector tmp; for (int k = 0; k < header[alg].size(); ++k) { tmp.emplace_back(static_cast(dims.size()), static_cast(mode_cfg_.average_datasets.size()), (double)0); } results.push_back(std::move(tmp)); } for (unsigned d = 0; d < mode_cfg_.blocksize_datasets.size(); ++d) { // For every dataset in the average list std::string dataset_name(mode_cfg_.blocksize_datasets[d]); path dataset_path(glob_cfg_.input_path / path(dataset_name)), is_path = dataset_path / path(glob_cfg_.input_txt), // files.txt path current_latex_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / glob_cfg_.latex_path); if (!create_directories(current_output_path)) { ob.Cwarning("Unable to find/create the output path '" + current_output_path.string() + "', skipped", dataset_name); continue; } // To save list of filename on which CLLAlgorithms must be tested std::vector> filenames; // first: filename, second: state of filename (find or not) if (!LoadFileList(filenames, is_path)) { ob.Cwarning("Unable to open '" + is_path.string() + "', skipped", dataset_name); continue; } // Number of files unsigned filenames_size = static_cast(filenames.size()); // Start output message box ob.StartUnitaryBox(dataset_name, filenames_size); for (unsigned file = 0; file < filenames.size(); ++file) { ob.UpdateUnitaryBox(file); std::string filename = filenames[file].first; path filename_path = dataset_path / path(filename); // Read and load image if (!LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_blocksize_algorithms[0])->GetInput()->ReadBinary(filename_path.string())) { ob.Cmessage("Unable to open '" + filename + "', skipped"); continue; } for (unsigned alg = 0; alg < mode_cfg_.ccl_blocksize_algorithms.size(); ++alg) { std::string algo_name = mode_cfg_.ccl_blocksize_algorithms[alg]; Labeling* algorithm = LabelingMapSingleton::GetLabeling(algo_name); for (unsigned dim = 0; dim < dims.size(); ++dim) { std::vector min_times(header[alg].size(), std::numeric_limits::max()); for (unsigned it = 0; it < mode_cfg_.blocksize_tests_number; ++it) { try { // Perform current algorithm on current image and save result. algorithm->perf_.reset_counters(); algorithm->PerformLabelingBlocksize(dims[dim][0], dims[dim][1], dims[dim][2]); } catch (const std::exception& e) { algorithm->FreeLabelingData(); ob.Cerror("Something wrong with " + algo_name + ": " + e.what()); // You should check your algorithms' implementation before performing YACCLAB tests } for (int k = 0; k < header[alg].size(); ++k) { const auto& kernel = header[alg][k]; if (algorithm->perf_.find(kernel)) { min_times[k] = std::min(min_times[k], algorithm->perf_.get_total(kernel)); } } algorithm->FreeLabelingData(); } // For each image, execution times are summed, in order to find average for (int k = 0; k < header[alg].size(); ++k) { // If min time is DBL_MAX, the kernel was never run results[alg][k](dim, d) += (min_times[k] == std::numeric_limits::max() ? 0 : min_times[k]); } } } } // END IMAGE FOR ob.StopUnitaryBox(); // TODO: decide if values should be averaged (they are just summed for now) //for (auto& result_mat : results) { // result_mat /= static_cast(filenames.size()); //} } // END DATASET FOR // Print results for (int alg = 0; alg < mode_cfg_.ccl_blocksize_algorithms.size(); ++alg) { { // To automatically destroy ofstream os std::ofstream os((current_output_path / path(mode_cfg_.ccl_blocksize_algorithms[alg] + ".csv")).string()); os << ",,Kernel"; for (const auto& kernel : header[alg]) { for (int d = 0; d < mode_cfg_.blocksize_datasets.size(); ++d) { os << ',' << kernel; } } os << "\nX,Y,Z"; for (int k = 0; k < header[alg].size(); ++k) { for (const auto& dataset : mode_cfg_.blocksize_datasets) { os << ',' << dataset; } } os << "\n"; for (int dim = 0; dim < dims.size(); ++dim) { os << dims[dim][0] << ',' << dims[dim][1] << ',' << dims[dim][2]; for (int k = 0; k < header[alg].size(); ++k) { for (int d = 0; d < mode_cfg_.blocksize_datasets.size(); ++d) { os << ',' << results[alg][k](dim, d); } } os << '\n'; } } } } void YacclabTests::AverageTestWithSteps() { // Initialize output message box OutputBox ob(mode_cfg_.mode + " Average Test With Steps"); std::string complete_results_suffix = "_results.txt", middle_results_suffix = "_run", average_results_suffix = "_average.txt", average_results_rounded_suffix = "_average_rounded.txt"; std::random_device rd; std::mt19937 g(rd()); for (unsigned d = 0; d < mode_cfg_.average_ws_datasets.size(); ++d) { // For every dataset in the average list std::string dataset_name(mode_cfg_.average_ws_datasets[d]), output_average_results = dataset_name + average_results_suffix, output_average_results_rounded = dataset_name + average_results_rounded_suffix, output_graph = dataset_name + kTerminalExtension, output_graph_bw = dataset_name + "_bw" + kTerminalExtension; path dataset_path(glob_cfg_.input_path / path(dataset_name)), is_path = dataset_path / path(glob_cfg_.input_txt), // files.txt path current_output_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / path(glob_cfg_.average_ws_folder) / path(dataset_name)), current_latex_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / glob_cfg_.latex_path), output_broad_path = current_output_path / path(dataset_name + complete_results_suffix), output_middle_results_path = current_output_path / path(glob_cfg_.middle_folder), average_os_path = current_output_path / path(output_average_results), average_rounded_os_path = current_output_path / path(output_average_results_rounded); if (!create_directories(current_output_path)) { ob.Cwarning("Unable to find/create the output path '" + current_output_path.string() + "', skipped", dataset_name); continue; } // Initialize results container average_ws_results_[dataset_name] = cv::Mat1d(static_cast(mode_cfg_.ccl_average_ws_algorithms.size()), StepType::ST_SIZE, std::numeric_limits::max()); // To save list of filename on which CLLAlgorithms must be tested std::vector> filenames; // first: filename, second: state of filename (find or not) if (!LoadFileList(filenames, is_path)) { ob.Cwarning("Unable to open '" + is_path.string() + "'", dataset_name); continue; } // Number of files unsigned int filenames_size = static_cast(filenames.size()); // To save middle/min and average results; std::map current_res; std::map min_res; cv::Mat1i labels(filenames_size, static_cast(mode_cfg_.ccl_average_ws_algorithms.size()), 0); for (const auto& algo_name : mode_cfg_.ccl_average_ws_algorithms) { current_res[algo_name] = cv::Mat1d(filenames_size, StepType::ST_SIZE, std::numeric_limits::max()); min_res[algo_name] = cv::Mat1d(filenames_size, StepType::ST_SIZE, std::numeric_limits::max()); } // Start output message box ob.StartRepeatedBox(dataset_name, filenames_size, mode_cfg_.average_ws_tests_number); if (mode_cfg_.average_ws_save_middle_tests) { if (!create_directories(output_middle_results_path)) { ob.Cwarning("Unable to find/create the output path '" + output_middle_results_path.string() + "', middle results won't be saved"); } } std::map algo_pos; for (size_t i = 0; i < mode_cfg_.ccl_average_ws_algorithms.size(); ++i) algo_pos[mode_cfg_.ccl_average_ws_algorithms[i]] = i; auto shuffled_ccl_average_ws_algorithms = mode_cfg_.ccl_average_ws_algorithms; // Test is executed n_test times for (unsigned test = 0; test < mode_cfg_.average_ws_tests_number; ++test) { // For every file in list for (unsigned file = 0; file < filenames.size(); ++file) { // Display output message box ob.UpdateRepeatedBox(file); std::string filename = filenames[file].first; path filename_path = dataset_path / path(filename); // Read and load image //if (!GetBinaryImage(filename_path, Labeling::img_)) { // ob.Cwarning("Unable to open '" + filename + "'"); // continue; //} if (!LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_ws_algorithms[0])->GetInput()->ReadBinary(filename_path.string())) { ob.Cwarning("Unable to open '" + filename + "'"); continue; } shuffle(begin(shuffled_ccl_average_ws_algorithms), end(shuffled_ccl_average_ws_algorithms), g); // For all the Algorithms in the array for (const auto& algo_name : shuffled_ccl_average_ws_algorithms) { Labeling* algorithm = LabelingMapSingleton::GetLabeling(algo_name); // unsigned i = static_cast(algo_pos[algo_name]); try { // Perform current algorithm on current image and save result. algorithm->PerformLabelingWithSteps(); } catch (const std::exception& e) { algorithm->FreeLabelingData(); ob.Cerror("Something wrong with " + algo_name + ": " + e.what()); // You should check your algorithms' implementation before performing YACCLAB tests } // Save time results of all the steps for (int step_number = 0; step_number != StepType::ST_SIZE; ++step_number) { std::string step = Step(static_cast(step_number)); // Find if the current algorithm has the current step if (algorithm->perf_.find(step)) { current_res[algo_name](file, step_number) = algorithm->perf_.get(step); if (algorithm->perf_.get(step) < min_res[algo_name](file, step_number)) { min_res[algo_name](file, step_number) = algorithm->perf_.get(step); } } } algorithm->FreeLabelingData(); } // END ALGORITHMS FOR } // END FILES FOR. ob.StopRepeatedBox(false); // Save middle results if necessary (flag 'average_save_middle_tests' enabled) if (mode_cfg_.average_ws_save_middle_tests) { std::string output_middle_results_file = (output_middle_results_path / path(dataset_name + middle_results_suffix + "_" + std::to_string(test) + ".txt")).string(); SaveBroadOutputResults(current_res, output_middle_results_file, labels, filenames, mode_cfg_.ccl_average_ws_algorithms); } }// END TESTS FOR // To write in a file min results SaveBroadOutputResults(min_res, output_broad_path.string(), labels, filenames, mode_cfg_.ccl_average_ws_algorithms); // If true the i-th step is used by all the algorithms std::vector steps_presence(StepType::ST_SIZE, false); // To calculate average times and write it on the specified file for (unsigned a = 0; a < mode_cfg_.ccl_average_ws_algorithms.size(); ++a) { const auto& algo_name(mode_cfg_.ccl_average_ws_algorithms[a]); std::vector> supp_average(StepType::ST_SIZE, std::make_pair(0.0, 0)); for (int r = 0; r < min_res.at(algo_name).rows; ++r) { for (int c = 0; c < min_res.at(algo_name).cols; ++c) { if (min_res.at(algo_name)(r, c) != std::numeric_limits::max()) { supp_average[c].first += min_res.at(algo_name)(r, c); supp_average[c].second++; } } } // Matrix reduce done, save the results into the average file for (int step_number = 0; step_number != StepType::ST_SIZE; ++step_number) { double avg{ 0.0 }; if (supp_average[step_number].first > 0.0 && supp_average[step_number].second > 0) { steps_presence[step_number] = true; avg = supp_average[step_number].first / supp_average[step_number].second; } else { // The current step is not threated by the current algorithm, write 0 } average_ws_results_[dataset_name](a, step_number) = avg; } } // Write the results stored in average_ws_results_ in file SaveAverageWithStepsResults(average_os_path.string(), dataset_name, false); SaveAverageWithStepsResults(average_rounded_os_path.string(), dataset_name, true); // GNUPLOT SCRIPT { std::string compiler_name(SystemInfo::compiler_name()); std::string compiler_version(SystemInfo::compiler_version()); //replace the . with _ for compiler strings std::replace(compiler_version.begin(), compiler_version.end(), '.', '_'); path script_os_path = current_output_path / path(dataset_name + glob_cfg_.gnuplot_script_extension); std::ofstream script_os(script_os_path.string()); if (!script_os.is_open()) { ob.Cwarning("Unable to create " + script_os_path.string()); } script_os << "# This is a gnuplot (http://www.gnuplot.info/) script!" << '\n'; script_os << "# comment fifth line, open gnuplot's teminal, move to script's path and launch 'load " << dataset_name + glob_cfg_.gnuplot_script_extension << "' if you want to run it" << '\n' << '\n'; script_os << "reset" << '\n'; script_os << "# cd '" << current_output_path.string() << "\'" << '\n'; script_os << "set grid ytic" << '\n'; script_os << "set grid" << '\n' << '\n'; script_os << "# " << dataset_name << "(COLORS)" << '\n'; script_os << "set output '" + (current_output_path / path(output_graph)).string() + "'" << '\n'; script_os << "set title " << LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_ws_algorithms[0])->GetTitle() << '\n' << '\n'; script_os << "# " << kTerminal << " colors" << '\n'; script_os << "set terminal " << kTerminal << " enhanced color font ',15'" << '\n' << '\n'; script_os << "# Graph style" << '\n'; script_os << "set style data histogram" << '\n'; script_os << "set style histogram cluster gap 1" << '\n'; script_os << "set style histogram rowstacked" << '\n'; script_os << "set style fill solid 0.25 border -1" << '\n'; script_os << "set boxwidth 0.6" << '\n' << '\n'; script_os << "# Get stats to set labels" << '\n'; script_os << "stats '" << (current_output_path / path(output_average_results_rounded)).string() << "' using 6 nooutput" << '\n'; script_os << "ymax = STATS_max + (STATS_max/100)*10" << '\n'; script_os << "xw = 0" << '\n'; script_os << "yw = (ymax)/22.0" << '\n' << '\n'; script_os << "# Axes labels" << '\n'; script_os << "set xtic rotate by -45 scale 0" << '\n'; script_os << "set ylabel \"Execution Time [ms]\"" << '\n' << '\n'; script_os << "# Axes range" << '\n'; script_os << "set yrange[0:ymax]" << '\n'; script_os << "set xrange[*:*]" << '\n' << '\n'; script_os << "# Legend" << '\n'; script_os << "set key inside right font ', 8'" << '\n' << '\n'; script_os << "# Plot" << '\n'; script_os << "plot \\" << '\n'; script_os << "'" + (current_output_path / path(output_average_results_rounded)).string() + "' using 2:xtic(1) title '" << Step(static_cast(0)) << "', \\" << '\n'; unsigned i = 3; // Start from the second step for (int step_number = 1; step_number != StepType::ST_SIZE; ++step_number, ++i) { StepType step = static_cast(step_number); // Add the step only if it used by almost an algorithm if (steps_presence[step_number]) { script_os << "'' u " << i << " title '" << Step(step) << "', \\" << '\n'; } } const unsigned start_n = 2; i = 2; for (; i <= StepType::ST_SIZE + 1; ++i) { script_os << "'' u ($0) : (("; for (unsigned j = i; j >= start_n; --j) { script_os << "$" << j; if (j > start_n) { script_os << "+"; } } script_os << ") - ($" << i << "/2)) : ($" << i << "!=0.0 ? sprintf(\"%4.2f\",$" << i << "):'') w labels font 'Tahoma, 8' title '', \\" << '\n'; } script_os << "'' u ($0) : ($" << i << " + yw) : ($" << i << "!=0.0 ? sprintf(\"%4.2f\",$" << i << "):'') w labels font 'Tahoma' title '', \\" << '\n'; script_os << "# Replot in latex folder" << '\n'; script_os << "set title \"\"" << '\n' << '\n'; script_os << "set output \'" << (current_latex_path / path(compiler_name + compiler_version + "_with_steps_" + output_graph)).string() << "\'" << '\n'; script_os << "replot" << '\n' << '\n'; script_os << "# " << dataset_name << "(BLACK AND WHITE)" << '\n'; script_os << "set output '" + (current_output_path / path(output_graph_bw)).string() + "'" << '\n'; script_os << "set title " << LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_ws_algorithms[0])->GetTitle() << '\n' << '\n'; script_os << "# " << kTerminal << " black and white" << '\n'; script_os << "set terminal " << kTerminal << " enhanced monochrome dashed font ',15'" << '\n' << '\n'; script_os << "replot" << '\n' << '\n'; script_os << "exit gnuplot" << '\n'; script_os.close(); } // End GNUPLOT SCRIPT if (0 != std::system(("gnuplot \"" + (current_output_path / path(dataset_name + glob_cfg_.gnuplot_script_extension)).string() + "\" 2> gnuplot_errors.txt").c_str())) { ob.Cwarning("Unable to run gnuplot script"); } ob.CloseBox(); } // END DATASET FOR // LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_ws_algorithms[0])->ReleaseInput(); } void YacclabTests::DensityTest() { OutputBox ob(mode_cfg_.mode + " Density Test"); std::string complete_results_suffix = "_results.txt", middle_results_suffix = "_run", density_results_suffix = "_density.txt", normalized_density_results_suffix = "_normalized_density.txt", size_results_suffix = "_size.txt", null_results_suffix = "_null_results.txt"; // Initialize results container density_results_ = cv::Mat1d(static_cast(mode_cfg_.density_datasets.size()), static_cast(mode_cfg_.ccl_average_algorithms.size()), std::numeric_limits::max()); std::random_device rd; std::mt19937 g(rd()); for (unsigned d = 0; d < mode_cfg_.density_datasets.size(); ++d) { // For every dataset in the density list std::string dataset_name(mode_cfg_.density_datasets[d]), output_density_results = dataset_name + density_results_suffix, output_size_results = dataset_name + size_results_suffix, output_density_graph = dataset_name + "_density" + kTerminalExtension, output_density_bw_graph = dataset_name + "_density_bw" + kTerminalExtension, output_size_graph = dataset_name + "_size" + kTerminalExtension, output_size_bw_graph = dataset_name + "_size_bw" + kTerminalExtension, output_null = dataset_name + null_results_suffix; path father_dir_path; unsigned int dims = LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetInput()->Dims(); if (dims == 2) { father_dir_path = "random"; } else if (dims == 3) { father_dir_path = "random3D"; } path dataset_path(glob_cfg_.input_path / father_dir_path / path(dataset_name)), is_path = dataset_path / path(glob_cfg_.input_txt), // files.txt path current_output_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / path(glob_cfg_.density_folder) / path(dataset_name)), current_latex_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / glob_cfg_.latex_path), output_broad_path = current_output_path / path(dataset_name + complete_results_suffix), output_colored_images_path = current_output_path / path(glob_cfg_.colors_folder), output_middle_results_path = current_output_path / path(glob_cfg_.middle_folder), density_os_path = current_output_path / path(output_density_results), size_os_path = current_output_path / path(output_size_results), null_os_path = current_output_path / path(output_null); if (!create_directories(current_output_path)) { ob.Cwarning("Unable to find/create the output path '" + current_output_path.string() + ", skipped", dataset_name); continue; } // TODO: remove color labels from this test if (glob_cfg_.density_color_labels) { if (!create_directories(output_colored_images_path)) { ob.Cwarning("Unable to find/create the output path '" + output_colored_images_path.string() + "', colored images won't be saved"); } } // To save list of filename on which CLLAlgorithms must be tested std::vector> filenames; // first: filename, second: state of filename (find or not) if (!LoadFileList(filenames, is_path)) { ob.Cwarning("Unable to open '" + is_path.string() + "'", dataset_name); continue; } if (!CheckFileList(dataset_path, filenames)) { ob.Cwarning("Missing some files in dataset folder, skipped", dataset_name); continue; } // Number of files unsigned int filenames_size = static_cast(filenames.size()); // To save middle/min and average results; cv::Mat1d min_res(filenames_size, static_cast(mode_cfg_.ccl_average_algorithms.size()), std::numeric_limits::max()); cv::Mat1d current_res(filenames_size, static_cast(mode_cfg_.ccl_average_algorithms.size()), std::numeric_limits::max()); cv::Mat1i labels(filenames_size, static_cast(mode_cfg_.ccl_average_algorithms.size()), 0); /* Note that number of random_images is less than 800, this is why the second element of the pair has uint16_t data type. Extern std::vector represent the algorithms, inner std::vector represent density for "supp_density" variable and dimension for "supp_dimension" one. In particular: FOR "supp_density" VARIABLE: INNER_std::vector[0] = { SUM_OF_TIME_FOR_CCL_OF_IMAGES_WITH_0.1_DENSITY, COUNT_OF_THAT_IMAGES } INNER_VECTPR[1] = { SUM_OF_TIME_FOR_CCL_OF_IMAGES_WITH_0.2_DENSITY, COUNT_OF_THAT_IMAGES } .. and so on; SO: supp_density[0][0] represent the pair { SUM_OF_TIME_FOR_CCL_OF_IMAGES_WITH_0.1_DENSITY, COUNT_OF_THAT_IMAGES } for algorithm in position 0; supp_density[0][1] represent the pair { SUM_OF_TIME_FOR_CCL_OF_IMAGES_WITH_0.2_DENSITY, COUNT_OF_THAT_IMAGES } for algorithm in position 0; supp_density[1][0] represent the pair { SUM_OF_TIME_FOR_CCL_OF_IMAGES_WITH_0.1_DENSITY, COUNT_OF_THAT_IMAGES } for algorithm in position 1; .. and so on FOR "SUP_DIMENSION VARIABLE": INNER_std::vector[0] = { SUM_OF_TIME_FOR_CCL_OF_IMAGES_WITH_32*32_DIMENSION, COUNT_OF_THAT_IMAGES } INNER_std::vector[1] = { SUM_OF_TIME_FOR_CCL_OF_IMAGES_WITH_64*64_DIMENSION, COUNT_OF_THAT_IMAGES } view "supp_density" explanation for more details; */ uint8_t density = 9 /*[0.1,0.9]*/, size = 8 /*[32,64,128,256,512,1024,2048,4096]*/; ////////////////////////////////////////////////// if (dims == 3) { size = 6; } using vvp = std::vector>>; vvp supp_density(mode_cfg_.ccl_average_algorithms.size(), std::vector>(density, std::make_pair(0, 0))); vvp supp_size(mode_cfg_.ccl_average_algorithms.size(), std::vector>(size, std::make_pair(0, 0))); // Start output message box ob.StartRepeatedBox(dataset_name, filenames_size, mode_cfg_.density_tests_number); if (mode_cfg_.density_save_middle_tests) { if (!create_directories(output_middle_results_path)) { ob.Cwarning("Unable to find/create the output path '" + output_middle_results_path.string() + "', middle results won't be saved"); } } std::map algo_pos; for (size_t i = 0; i < mode_cfg_.ccl_average_algorithms.size(); ++i) algo_pos[mode_cfg_.ccl_average_algorithms[i]] = i; auto shuffled_ccl_average_algorithms = mode_cfg_.ccl_average_algorithms; // Test is executed n_test times for (unsigned test = 0; test < mode_cfg_.density_tests_number; ++test) { // For every file in list for (unsigned file = 0; file < filenames.size(); ++file) { // Display output message box ob.UpdateRepeatedBox(file); std::string filename = filenames[file].first; path filename_path = dataset_path / path(filename); // Read and load image //if (!GetBinaryImage(filename_path, Labeling::img_)) { // ob.Cwarning("Unable to open '" + filename + "'"); // continue; //} if (!LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetInput()->ReadBinary(filename_path.string())) { ob.Cwarning("Unable to open '" + filename + "'"); continue; } shuffle(begin(shuffled_ccl_average_algorithms), end(shuffled_ccl_average_algorithms), g); for (const auto& algo_name : shuffled_ccl_average_algorithms) { Labeling* algorithm = LabelingMapSingleton::GetLabeling(algo_name); unsigned i = static_cast(algo_pos[algo_name]); try { // Perform current algorithm on current image and save result. algorithm->perf_.start(); algorithm->PerformLabeling(); algorithm->perf_.stop(); } catch (const std::exception& e) { algorithm->FreeLabelingData(); ob.Cerror("Something wrong with " + algo_name + ": " + e.what()); // You should check your algorithms' implementation before performing YACCLAB tests } // Save time results current_res(file, i) = algorithm->perf_.last(); if (algorithm->perf_.last() < min_res(file, i)) { min_res(file, i) = algorithm->perf_.last(); } // If 'at_colorLabels' is enabled only the first time (test == 0) the output is saved if (glob_cfg_.density_color_labels && test == 0) { // Remove gnuplot escape character from output filename YacclabTensorOutput* img_out = algorithm->GetOutput(); img_out->PrepareForCheck(); img_out->NormalizeLabels(); std::string colored_image = (output_colored_images_path / path(filename + "_" + algo_name + ".png")).string(); img_out->WriteColored(colored_image); } algorithm->FreeLabelingData(); } // END ALGORITHMS FOR } // END FILES FOR. ob.StopRepeatedBox(false); // Save middle results if necessary (flag 'density_save_middle_tests' enabled) if (mode_cfg_.density_save_middle_tests) { std::string output_middle_results_file = (output_middle_results_path / path(dataset_name + middle_results_suffix + "_" + std::to_string(test) + ".txt")).string(); SaveBroadOutputResults(current_res, output_middle_results_file, labels, filenames, mode_cfg_.ccl_average_algorithms); } } // END TEST FOR // To write in a file min results SaveBroadOutputResults(min_res, output_broad_path.string(), labels, filenames, mode_cfg_.ccl_average_algorithms); // To sum min results, in the correct manner, before make average for (unsigned files = 0; files < filenames.size(); ++files) { // Note that files correspond to min_res rows for (int c = 0; c < min_res.cols; ++c) { // Add current time to "supp_density" and "supp_size" in the correct position if (isdigit(filenames[files].first[0]) && isdigit(filenames[files].first[1]) && isdigit(filenames[files].first[2]) && filenames[files].second) { // superfluous test? if (min_res(files, c) != std::numeric_limits::max()) { // For density graph supp_density[c][ctoi(filenames[files].first[1])].first += min_res(files, c); supp_density[c][ctoi(filenames[files].first[1])].second++; // For dimension graph supp_size[c][ctoi(filenames[files].first[0])].first += min_res(files, c); supp_size[c][ctoi(filenames[files].first[0])].second++; } } // Add current time to "supp_density" and "supp_size" in the correct position } } // To calculate average times std::vector> density_average(mode_cfg_.ccl_average_algorithms.size(), std::vector(density)); std::vector> size_average(mode_cfg_.ccl_average_algorithms.size(), std::vector(size)); for (unsigned i = 0; i < mode_cfg_.ccl_average_algorithms.size(); ++i) { // For all algorithms for (unsigned j = 0; j < density_average[i].size(); ++j) { // For all density and normalized density if (supp_density[i][j].second != 0) { density_average[i][j] = supp_density[i][j].first / supp_density[i][j].second; } else { // If there is no element with this density characteristic the average value is set to zero density_average[i][j] = 0.0; } } for (unsigned j = 0; j < size_average[i].size(); ++j) { // For all size if (supp_size[i][j].second != 0) size_average[i][j] = supp_size[i][j].first / supp_size[i][j].second; else size_average[i][j] = 0.0; // If there is no element with this size characteristic the average value is set to zero } } // For DENSITY RESULT std::ofstream density_os(density_os_path.string()); if (!density_os.is_open()) { ob.Cwarning("Unable to open '" + density_os_path.string() + "'"); } // For SIZE RESULT std::ofstream size_os(size_os_path.string()); if (!size_os.is_open()) { ob.Cwarning("Unable to open '" + size_os_path.string() + "'"); } density_os << "# density"; size_os << "# size"; for (const auto& algo_name : mode_cfg_.ccl_average_algorithms) { density_os << '\t' << algo_name; size_os << '\t' << algo_name; } density_os << '\n'; size_os << '\n'; // To write density result on specified file for (unsigned i = 0; i < density; ++i) { // For every density if (density_average[0][i] == 0.0) { // Check it only for the first algorithm (it is the same for the others) density_os << "#"; // It means that there is no element with this density characteristic } density_os << ((float)(i + 1) / 10) << '\t'; //Density value for (unsigned j = 0; j < density_average.size(); ++j) { // For every algorithm density_os << density_average[j][i] << '\t'; } density_os << '\n'; // End of current line (current density) } // To set sizes's label std::vector> supp_size_labels(size, std::make_pair(0, 0)); // To write size result on specified file for (unsigned i = 0; i < size; ++i) { // For every size if (size_average[0][i] == 0.0) // Check it only for the first algorithm (it is the same for the others) size_os << "#"; // It means that there is no element with this size characteristic supp_size_labels[i].first = (int)(pow(2, i + (9 - 2 * dims))); // dim = 2 -> 5 --- dim = 3 -> 3 supp_size_labels[i].second = size_average[0][i]; size_os << (int)pow(supp_size_labels[i].first, dims) << '\t'; //Size value for (unsigned j = 0; j < size_average.size(); ++j) { // For every algorithms size_os << size_average[j][i] << '\t'; } size_os << '\n'; // End of current line (current size) } // GNUPLOT SCRIPT { std::string compiler_name(SystemInfo::compiler_name()); std::string compiler_version(SystemInfo::compiler_version()); //replace the . with _ for compiler std::strings std::replace(compiler_version.begin(), compiler_version.end(), '.', '_'); path script_os_path = current_output_path / path(dataset_name + glob_cfg_.gnuplot_script_extension); std::ofstream script_os(script_os_path.string()); if (!script_os.is_open()) { ob.Cwarning("Unable to create '" + script_os_path.string() + "'"); } script_os << "# This is a gnuplot (http://www.gnuplot.info/) script!" << '\n'; script_os << "# comment fifth line, open gnuplot's terminal, move to script's path and launch 'load "; script_os << dataset_name + glob_cfg_.gnuplot_script_extension << "' if you want to run it" << '\n' << '\n'; script_os << "reset" << '\n'; script_os << "# cd '" << current_output_path.string() << "\'" << '\n'; script_os << "set grid" << '\n' << '\n'; // DENSITY script_os << "# DENSITY GRAPH (COLORS)" << '\n' << '\n'; script_os << "set output '" + (current_output_path / path(output_density_graph)).string() + "'" << '\n'; script_os << "set title " << LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetTitle() << '\n' << '\n'; script_os << "# " << kTerminal << " colors" << '\n'; script_os << "set terminal " << kTerminal << " enhanced color font ',15'" << '\n' << '\n'; script_os << "# Axes labels" << '\n'; script_os << "set xlabel \"Density\"" << '\n'; script_os << "set ylabel \"Execution Time [ms]\"" << '\n' << '\n'; script_os << "# Get stats to set labels" << '\n'; script_os << "stats[1:" << mode_cfg_.ccl_average_algorithms.size() << "] '" + (current_output_path / path(output_density_results)).string() + "' matrix name 'density' noout" << '\n'; script_os << "stats[1:" << mode_cfg_.ccl_average_algorithms.size() << "] '" + (current_output_path / path(output_size_results)).string() + "' matrix name 'size' noout" << '\n'; script_os << "ymax = density_max + (density_max / 100) * 10" << '\n'; script_os << "ymin = density_min - (density_min / 100) * 10" << '\n'; script_os << "# Axes range" << '\n'; script_os << "set xrange [0:1]" << '\n'; script_os << "set yrange [ymin:ymax]" << '\n'; script_os << "set logscale y" << '\n' << '\n'; script_os << "# Legend" << '\n'; script_os << "set key inside left nobox spacing 2 font ', 8'" << '\n' << '\n'; script_os << "# Plot" << '\n'; script_os << "plot \\" << '\n'; std::vector::iterator it; // I need it after the cycle unsigned i = 2; for (it = mode_cfg_.ccl_average_algorithms.begin(); it != (mode_cfg_.ccl_average_algorithms.end() - 1); ++it, ++i) { script_os << "'" + (current_output_path / path(output_density_results)).string() + "' using 1:" << i << " with linespoints title \"" + DoubleEscapeUnderscore(std::string(*it)) + "\" , \\" << '\n'; } script_os << "'" + (current_output_path / path(output_density_results)).string() + "' using 1:" << i << " with linespoints title \"" + DoubleEscapeUnderscore(std::string(*it)) + "\"" << '\n' << '\n'; script_os << "# Replot in latex folder" << '\n'; script_os << "set title \"\"" << '\n' << '\n'; script_os << "set output \'" << (current_latex_path / path(compiler_name + compiler_version + output_density_graph)).string() << "\'" << '\n'; script_os << "replot" << '\n' << '\n'; script_os << "# DENSITY GRAPH (BLACK AND WHITE)" << '\n' << '\n'; script_os << "set output '" + (current_output_path / path(output_density_bw_graph)).string() + "'" << '\n'; script_os << "set title " << LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetTitle() << '\n' << '\n'; script_os << "# " << kTerminal << " black and white" << '\n'; script_os << "set terminal " << kTerminal << " enhanced monochrome dashed font ',15'" << '\n' << '\n'; script_os << "replot" << '\n' << '\n'; // SIZE script_os << "# SIZE GRAPH (COLORS)" << '\n' << '\n'; script_os << "set output '" + (current_output_path / path(output_size_graph)).string() + "'" << '\n'; script_os << "set title " << LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetTitle() << '\n' << '\n'; script_os << "# " << kTerminal << " colors" << '\n'; script_os << "set terminal " << kTerminal << " enhanced color font ',15'" << '\n' << '\n'; script_os << "# Axes labels" << '\n'; script_os << "set xlabel \"Pixels\"" << '\n'; script_os << "set ylabel \"Execution Time [ms]\"" << '\n' << '\n'; script_os << "# Get stats to set labels" << '\n'; script_os << "ymax = size_max + (size_max/100)*30" << '\n'; script_os << "ymin = size_min - (size_min/100)*30" << '\n'; script_os << "# Axes range" << '\n'; script_os << "set format x \"10^{%L}\"" << '\n'; script_os << "set xrange [100:100000000]" << '\n'; script_os << "set yrange [*:*]" << '\n'; script_os << "set logscale xy 10" << '\n' << '\n'; script_os << "# Legend" << '\n'; script_os << "set key inside left top nobox spacing 2 font ', 8'" << '\n'; script_os << "# Plot" << '\n'; script_os << "plot \\" << '\n'; i = 2; for (it = mode_cfg_.ccl_average_algorithms.begin(); it != (mode_cfg_.ccl_average_algorithms.end() - 1); ++it, ++i) { script_os << "'" + (current_output_path / path(output_size_results)).string() + "' using 1:" << i << " with linespoints title \"" + DoubleEscapeUnderscore(std::string(*it)) + "\" , \\" << '\n'; } script_os << "'" + (current_output_path / path(output_size_results)).string() + "' using 1:" << i << " with linespoints title \"" + DoubleEscapeUnderscore(std::string(*it)) + "\"" << '\n' << '\n'; script_os << "# Replot in latex folder" << '\n'; script_os << "set title \"\"" << '\n'; script_os << "set output \'" << (current_latex_path / path(compiler_name + compiler_version + output_size_graph)).string() << "\'" << '\n'; script_os << "replot" << '\n' << '\n'; script_os << "# SIZE (BLACK AND WHITE)" << '\n' << '\n'; script_os << "set output '" + (current_output_path / path(output_size_bw_graph)).string() + "'" << '\n'; script_os << "set title " << LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetTitle() << '\n' << '\n'; script_os << "# " << kTerminal << " black and white" << '\n'; script_os << "set terminal " << kTerminal << " enhanced monochrome dashed font ',15'" << '\n' << '\n'; script_os << "replot" << '\n' << '\n'; script_os << "exit gnuplot" << '\n'; density_os.close(); size_os.close(); script_os.close(); // GNUPLOT SCRIPT } if (0 != std::system(("gnuplot \"" + (current_output_path / path(dataset_name + glob_cfg_.gnuplot_script_extension)).string() + "\" 2> gnuplot_errors.txt").c_str())) { ob.Cwarning("Unable to run gnuplot script"); } ob.CloseBox(); } // END DATASET FOR // LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->ReleaseInput(); } void YacclabTests::GranularityTest() { constexpr uint8_t kGranularities2D = 16; constexpr uint8_t kSamples2D = 10; constexpr uint8_t kGranularities3D = 16; constexpr uint8_t kSamples3D = 3; OutputBox ob(mode_cfg_.mode + " Granularity Test"); std::string complete_results_suffix = "_results.txt", middle_results_suffix = "_run", granularity_results_suffix = "_granularity"; std::random_device rd; std::mt19937 g(rd()); for (unsigned d = 0; d < mode_cfg_.granularity_datasets.size(); ++d) { // For every dataset in the granularity list std::string dataset_name(mode_cfg_.granularity_datasets[d]), output_granularity_results = dataset_name + granularity_results_suffix, output_granularity_graph = dataset_name + "_granularity" + kTerminalExtension, output_granularity_bw_graph = dataset_name + "_granularity_bw" + kTerminalExtension; path father_dir_path; unsigned int dims = (LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0]))->GetInput()->Dims(); if (dims == 2) { father_dir_path = "random"; } else if (dims == 3) { father_dir_path = "random3D"; } path dataset_path(glob_cfg_.input_path / father_dir_path / path(dataset_name)), is_path = dataset_path / path(glob_cfg_.input_txt), // files.txt path current_output_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / path(glob_cfg_.granularity_folder) / path(dataset_name)), current_latex_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / glob_cfg_.latex_path), output_broad_path = current_output_path / path(dataset_name + complete_results_suffix), output_middle_results_path = current_output_path / path(glob_cfg_.middle_folder), granularity_os_path = current_output_path / path(output_granularity_results); if (!create_directories(current_output_path)) { ob.Cwarning("Unable to find/create the output path '" + current_output_path.string() + ", skipped", dataset_name); continue; } // To save list of filename on which CLLAlgorithms must be tested std::vector> filenames; // first: filename, second: state of filename (find or not) if (!LoadFileList(filenames, is_path)) { ob.Cwarning("Unable to open '" + is_path.string() + "', skipped", dataset_name); continue; } if (!CheckFileList(dataset_path, filenames)) { ob.Cwarning("Missing some files in dataset folder", dataset_name); } // Number of files unsigned int filenames_size = static_cast(filenames.size()); uint8_t density = 101; // For granularity tests density ranges from 0 to 100 with step 1 uint8_t granularity; if (dims == 2) { granularity = kGranularities2D; // For granularity tests granularity ranges from 1 to 16 with step 1 } if (dims == 3) { granularity = kGranularities3D; } // Initialize results container granularity_results_[dataset_name] = cv::Mat(cv::Size(static_cast(mode_cfg_.ccl_average_algorithms.size()), density), CV_64FC(granularity), cv::Scalar(0)); // To store minimum values // std::vector> real_densities(granularity, std::vector(density)); cv::Mat1d min_res(filenames_size, static_cast(mode_cfg_.ccl_average_algorithms.size()), std::numeric_limits::max()); cv::Mat1d current_res(filenames_size, static_cast(mode_cfg_.ccl_average_algorithms.size()), std::numeric_limits::max()); // To store current result cv::Mat1i labels(filenames_size, static_cast(mode_cfg_.ccl_average_algorithms.size()), 0); // To count number of labels for every image and algorithm // Start output message box ob.StartRepeatedBox(dataset_name, filenames_size, mode_cfg_.granularity_tests_number); if (mode_cfg_.granularity_save_middle_tests) { if (!create_directories(output_middle_results_path)) { ob.Cwarning("Unable to find/create the output path '" + output_middle_results_path.string() + "', middle results won't be saved", dataset_name); } } std::map algo_pos; for (size_t i = 0; i < mode_cfg_.ccl_average_algorithms.size(); ++i) algo_pos[mode_cfg_.ccl_average_algorithms[i]] = i; auto shuffled_ccl_average_algorithms = mode_cfg_.ccl_average_algorithms; shuffle(begin(filenames), end(filenames), g); // Test is executed n_test times for (unsigned test = 0; test < mode_cfg_.granularity_tests_number; ++test) { // For every file in list for (unsigned file = 0; file < filenames.size(); ++file) { // Display output message box ob.UpdateRepeatedBox(file); std::string filename = filenames[file].first; path filename_path = dataset_path / path(filename); //int cur_granularity = stoi(filename.substr(0, 2)); //if (cur_granularity < 15) continue; //int cur_density = stoi(filename.substr(2, 3)); // Read and load image //if (!GetBinaryImage(filename_path, Labeling::img_)) { // ob.Cwarning("Unable to open '" + filename + "', granularity results/charts will miss some data"); // continue; //} if (!LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetInput()->ReadBinary(filename_path.string())) { ob.Cwarning("Unable to open '" + filename + "'"); continue; } // int nonzero = countNonZero(Labeling::img_); // real_densities[cur_granularity - 1][cur_density] = 100.0 * nonzero / (Labeling::img_.rows*Labeling::img_.cols); shuffle(begin(shuffled_ccl_average_algorithms), end(shuffled_ccl_average_algorithms), g); for (const auto& algo_name : shuffled_ccl_average_algorithms) { Labeling* algorithm = LabelingMapSingleton::GetLabeling(algo_name); unsigned i = static_cast(algo_pos[algo_name]); try { // Perform current algorithm on current image and save result. algorithm->perf_.start(); algorithm->PerformLabeling(); algorithm->perf_.stop(); } catch (const std::exception& e) { algorithm->FreeLabelingData(); ob.Cerror("Something wrong with " + algo_name + ": " + e.what()); // You should check your algorithms' implementation before performing YACCLAB tests } // Save time results current_res(file, i) = algorithm->perf_.last(); if (algorithm->perf_.last() < min_res(file, i)) { min_res(file, i) = algorithm->perf_.last(); } algorithm->FreeLabelingData(); } // END ALGORITHMS FOR } // END FILES FOR. ob.StopRepeatedBox(false); // Save middle results if necessary if (mode_cfg_.granularity_save_middle_tests) { std::string output_middle_results_file = (output_middle_results_path / path(dataset_name + middle_results_suffix + "_" + std::to_string(test) + ".txt")).string(); SaveBroadOutputResults(current_res, output_middle_results_file, labels, filenames, mode_cfg_.ccl_average_algorithms); } } // END TEST FOR // To write the min results into a file SaveBroadOutputResults(min_res, output_broad_path.string(), labels, filenames, mode_cfg_.ccl_average_algorithms); for (int r = 0; r < min_res.rows; ++r) { if (filenames[r].second) { std::string cur_filename = filenames[r].first; int cur_granularity = stoi(cur_filename.substr(0, 2)); int cur_density = stoi(cur_filename.substr(2, 3)); for (int c = 0; c < min_res.cols; ++c) { if (dims == 2) { granularity_results_[dataset_name].at>(cur_density, c)[cur_granularity - 1] += min_res(r, c); } else if (dims == 3) { granularity_results_[dataset_name].at>(cur_density, c)[cur_granularity - 1] += min_res(r, c); } } } else { throw; } } // For SCRIPT which runs multiple times the gnuplot script std::string main_script = (current_output_path / path("main_script" + glob_cfg_.system_script_extension)).string(); std::ofstream main_script_os(main_script); if (!main_script_os.is_open()) { ob.Cwarning("Unable to open '" + main_script + "'"); return; } // Write into the main script main_script_os << #ifdef YACCLAB_WINDOWS "@echo off"; #elif defined(YACCLAB_LINUX) || defined(YACCLAB_UNIX) || defined(YACCLAB_APPLE) "#!/bin/sh"; #endif main_script_os << '\n'; // main_script_os << "cd \"" << current_output_path.string() << "\"" << '\n'; // To write granularity results on specified file for (unsigned g = 1; g <= granularity; ++g) { // For GRANULARITY RESULT std::string cur_granularity_os = granularity_os_path.string() + "_" + std::to_string(g) + ".txt"; std::ofstream granularity_os(cur_granularity_os); if (!granularity_os.is_open()) { ob.Cwarning("Unable to open '" + cur_granularity_os + "'"); continue; } granularity_os << "# density" << '\t'; for (const auto& algo : mode_cfg_.ccl_average_algorithms) { granularity_os << algo << '\t'; } granularity_os << '\n'; for (unsigned d = 0; d < density; ++d) { granularity_os << std::fixed << std::setprecision(5) << /*real_densities[g - 1][d]*/ d << '\t'; for (unsigned a = 0; a < mode_cfg_.ccl_average_algorithms.size(); ++a) { if (dims == 2) { granularity_os << std::fixed << std::setprecision(8) << (granularity_results_[dataset_name].at>(d, a)[g - 1] / (float)kSamples2D) << '\t'; } else if (dims == 3) { granularity_os << std::fixed << std::setprecision(8) << (granularity_results_[dataset_name].at>(d, a)[g - 1] / (float)kSamples3D) << '\t'; } } granularity_os << '\n'; } granularity_os.close(); std::string output_file = output_granularity_results + "_" + std::to_string(g) + kTerminalExtension; std::string main_script_error_path = (current_output_path / path("main_script_errors.txt")).string(); std::string gnuplot_script_path = (current_output_path / path(dataset_name + glob_cfg_.gnuplot_script_extension)).string(); main_script_os << "gnuplot -e \"input_file='" + cur_granularity_os + "'\" -e \"output_file='" + output_file + "'\" \"" + gnuplot_script_path + "\" 2>>\"" + main_script_error_path + "\"\n"; } main_script_os.close(); // GNUPLOT SCRIPT { std::string compiler_name(SystemInfo::compiler_name()); std::string compiler_version(SystemInfo::compiler_version()); //replace the . with _ for compiler strings std::replace(compiler_version.begin(), compiler_version.end(), '.', '_'); path script_os_path = current_output_path / path(dataset_name + glob_cfg_.gnuplot_script_extension); std::ofstream script_os(script_os_path.string()); if (!script_os.is_open()) { ob.Cwarning("Unable to create '" + script_os_path.string() + "', skipped", dataset_name); } script_os << "# This is a gnuplot (http://www.gnuplot.info/) script!" << '\n' << '\n'; script_os << "reset" << '\n'; script_os << "# cd '" << current_output_path.string() << "\'" << '\n'; script_os << "set grid" << '\n' << '\n'; // GRANULARITY script_os << "# GRANULARITY GRAPH (COLORS)" << '\n' << '\n'; script_os << "set output '" << current_output_path.string() << #ifdef YACCLAB_WINDOWS '\\' #else '/' #endif << "'.output_file" << '\n'; script_os << "set title " << LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetTitle() << '\n' << '\n'; script_os << "# " << kTerminal << " colors" << '\n'; script_os << "set terminal " << kTerminal << " enhanced color font ',15'" << '\n' << '\n'; script_os << "# Axes labels" << '\n'; script_os << "set xlabel \"Density [%]\"" << '\n'; script_os << "set ylabel \"Execution Time [ms]\"" << '\n' << '\n'; script_os << "# Get stats to set labels" << '\n'; script_os << "stats[1:" << mode_cfg_.ccl_average_algorithms.size() << "] input_file matrix name 'granularity' noout" << '\n'; script_os << " ymax = granularity_max + (granularity_max / 100) * 10" << '\n'; script_os << " ymin = granularity_min - (granularity_min / 100) * 10" << '\n'; script_os << "# Axes range" << '\n'; script_os << "set xrange [0:100]" << '\n'; script_os << "set yrange [0:ymax]" << '\n'; //script_os << "set logscale y" << '\n' << '\n'; script_os << "# Legend" << '\n'; script_os << "set key inside left nobox spacing 2 font ', 8'" << '\n' << '\n'; script_os << "# Plot" << '\n'; script_os << "plot \\" << '\n'; std::vector::iterator it; // I need it after the cycle unsigned i = 2; for (it = mode_cfg_.ccl_average_algorithms.begin(); it != (mode_cfg_.ccl_average_algorithms.end() - 1); ++it, ++i) { script_os << "input_file" << " using 1:" << i << " with lines title \"" + DoubleEscapeUnderscore(std::string(*it)) + "\" , \\" << '\n'; } script_os << "input_file" << " using 1:" << i << " with lines title \"" + DoubleEscapeUnderscore(std::string(*it)) + "\"" << '\n' << '\n'; script_os << "# Replot in latex folder" << '\n'; script_os << "set title \"\"" << '\n' << '\n'; script_os << "set output \'" << (current_latex_path / path(compiler_name + compiler_version)).string() << "'.output_file" << '\n'; script_os << "replot" << '\n' << '\n'; script_os << "# GRANULARITY GRAPH (BLACK AND WHITE)" << '\n' << '\n'; script_os << "set output '" << (current_output_path / path("bw")).string() << "'.output_file" << '\n'; script_os << "set title " << LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->GetTitle() << '\n' << '\n'; script_os << "# " << kTerminal << " black and white" << '\n'; script_os << "set terminal " << kTerminal << " enhanced monochrome dashed font ',15'" << '\n' << '\n'; script_os << "replot" << '\n' << '\n'; script_os << "exit gnuplot" << '\n'; script_os.close(); // GNUPLOT SCRIPT } std::string command = ""; #if defined(YACCLAB_LINUX) || defined(YACCLAB_UNIX) || defined(YACCLAB_APPLE) command += "sh "; #endif if (0 != system((command + "\"" + main_script + "\"").c_str())) { ob.Cwarning("Unable to run '" + main_script + "' script"); } ob.CloseBox(); } // END DATASET FOR // LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_average_algorithms[0])->ReleaseInput(); } void YacclabTests::MemoryTest() { // Initialize output message box OutputBox ob(mode_cfg_.mode + " Memory Test"); path current_output_path(glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / path(glob_cfg_.memory_folder)); std::string output_file((current_output_path.string() / path(glob_cfg_.memory_file)).string()); if (!create_directories(current_output_path)) { ob.Cwarning("Unable to find/create the output path '" + current_output_path.string() + "', 'memory test' skipped"); ob.CloseBox(); return; } // To write MEMORY results std::ofstream os(output_file); if (!os.is_open()) { ob.Cwarning("Unable to open '" + output_file + "', 'memory test' skipped"); ob.CloseBox(); return; } os << "#Average number of accesses" << '\n'; std::random_device rd; std::mt19937 g(rd()); for (unsigned d = 0; d < mode_cfg_.memory_datasets.size(); ++d) { // For every dataset in the average list std::string dataset_name(mode_cfg_.memory_datasets[d]); path dataset_path(glob_cfg_.input_path / path(dataset_name)), is_path = dataset_path / path(glob_cfg_.input_txt); // files.txt path // To save list of filename on which CLLAlgorithms must be tested std::vector> filenames; // first: filename, second: state of filename (find or not) if (!LoadFileList(filenames, is_path)) { ob.Cwarning("Unable to open '" + is_path.string() + "', skipped", dataset_name); continue; } // Number of files unsigned int filenames_size = static_cast(filenames.size()); unsigned tot_test = 0; // To count the real number of image on which labeling will be applied for every file in list // Initialize results container // To store average memory accesses (one column for every data_ structure type: col 1 -> BINARY_MAT, col 2 -> LABELED_MAT, col 3 -> EQUIVALENCE_VET, col 0 -> OTHER) memory_accesses_[dataset_name] = cv::Mat1d(cv::Size(MD_SIZE, static_cast(mode_cfg_.ccl_mem_algorithms.size())), 0.0); // Start output message box ob.StartUnitaryBox(dataset_name, filenames_size); // For every file in list for (unsigned file = 0; file < filenames.size(); ++file) { // Display output message box ob.UpdateUnitaryBox(file); std::string filename = filenames[file].first; path filename_path = dataset_path / path(filename); // Read and load image //if (!GetBinaryImage(filename_path, Labeling::img_)) { // ob.Cwarning("Unable to open '" + filename + "'"); // continue; //} if (!LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_mem_algorithms[0])->GetInput()->ReadBinary(filename_path.string())) { ob.Cwarning("Unable to open '" + filename + "'"); continue; } ++tot_test; // For all the Algorithms in the array for (unsigned i = 0; i < static_cast(mode_cfg_.ccl_mem_algorithms.size()); ++i) { Labeling* algorithm = LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_mem_algorithms[i]); // The following data_ structure is used to get the memory access matrices std::vector accesses; // Rows represents algorithms and columns represent data_ structures try { algorithm->PerformLabelingMem(accesses); } catch (const std::exception& e) { algorithm->FreeLabelingData(); ob.Cerror("Something wrong with " + mode_cfg_.ccl_mem_algorithms[i] + ": " + e.what()); // You should check your algorithms' implementation before performing YACCLAB tests } // For every data_ structure "returned" by the algorithm for (unsigned a = 0; a < static_cast(accesses.size()); ++a) { memory_accesses_[dataset_name](i, a) += accesses[a]; } algorithm->FreeLabelingData(); } } ob.StopUnitaryBox(); // To calculate average memory accesses for (int r = 0; r < memory_accesses_[dataset_name].rows; ++r) { for (int c = 0; c < memory_accesses_[dataset_name].cols; ++c) { memory_accesses_[dataset_name](r, c) /= tot_test; } } os << "#" << dataset_name << '\n'; os << "Algorithm\tBinary Image\tLabel Image\tEquivalence Vector/s\tOther\tTotal Accesses" << '\n'; for (unsigned a = 0; a < static_cast(mode_cfg_.ccl_mem_algorithms.size()); ++a) { double total_accesses{ 0.0 }; os << mode_cfg_.ccl_mem_algorithms[a] << '\t'; for (int col = 0; col < memory_accesses_[dataset_name].cols; ++col) { os << std::fixed << std::setprecision(0) << memory_accesses_[dataset_name](a, col); os << '\t'; total_accesses += memory_accesses_[dataset_name](a, col); } os << total_accesses; os << '\n'; } os << '\n' << '\n';; } // END DATASET FOR // LabelingMapSingleton::GetLabeling(mode_cfg_.ccl_mem_algorithms[0])->ReleaseInput(); os.close(); } void YacclabTests::LatexGenerator() { OutputBox ob("Generation of Latex file/s for mode " + mode_cfg_.mode); path latex = glob_cfg_.glob_output_path / mode_cfg_.mode_output_path / glob_cfg_.latex_path / path(glob_cfg_.latex_file); std::ofstream os(latex.string()); if (!os.is_open()) { ob.Cwarning("Unable to open/create '" + latex.string() + "', generation skipped"); return; } // fixed number of decimal values os << std::fixed; os << std::setprecision(3); // Document begin os << "%These file is generated by YACCLAB. Follow our project on GitHub: https://github.com/prittt/YACCLAB" << '\n' << '\n'; os << "\\documentclass{article}" << '\n' << '\n'; os << "\\usepackage{siunitx}" << '\n'; os << "\\usepackage{graphicx}" << '\n'; os << "\\usepackage{subcaption}" << '\n'; os << "\\usepackage[top = 1in, bottom = 1in, left = 1in, right = 1in]{geometry}" << '\n' << '\n'; os << "\\title{{ \\huge\\bfseries YACCLAB TESTS}}" << '\n'; os << "\\date{" + GetDatetime() + "}" << '\n'; os << "\\author{}" << '\n' << '\n'; os << "\\begin{document}" << '\n' << '\n'; os << "\\maketitle" << '\n' << '\n'; // Section average results table ------------------------------------------------------------------------------------------ if (mode_cfg_.perform_average) { os << "\\section{Average Table Results}" << '\n' << '\n'; os << "\\begin{table}[tbh]" << '\n' << '\n'; os << "\t\\centering" << '\n'; os << "\t\\caption{Average Results in ms (Lower is better)}" << '\n'; os << "\t\\label{tab:table1}" << '\n'; os << "\t\\begin{tabular}{|l|"; for (unsigned i = 0; i < mode_cfg_.ccl_average_algorithms.size(); ++i) os << "S[table-format=2.3]|"; os << "}" << '\n'; os << "\t\\hline" << '\n'; os << '\t'; for (unsigned i = 0; i < mode_cfg_.ccl_average_algorithms.size(); ++i) { //RemoveCharacter(datasets_name, '\\'); //datasets_name.erase(std::remove(datasets_name.begin(), datasets_name.end(), '\\'), datasets_name.end()); os << " & {" << EscapeUnderscore(mode_cfg_.ccl_average_algorithms[i]) << "}"; //Header } os << "\\\\" << '\n'; os << "\t\\hline" << '\n'; for (unsigned i = 0; i < mode_cfg_.average_datasets.size(); ++i) { os << '\t' << mode_cfg_.average_datasets[i]; for (int j = 0; j < average_results_.cols; ++j) { os << " & "; if (average_results_(i, j) != std::numeric_limits::max()) os << average_results_(i, j); //Data } os << "\\\\" << '\n'; } os << "\t\\hline" << '\n'; os << "\t\\end{tabular}" << '\n' << '\n'; os << "\\end{table}" << '\n'; } { // CHARTS SECTION ------------------------------------------------------------------------------------------ std::string info_to_latex = SystemInfo::build() + "_" + SystemInfo::compiler_name() + SystemInfo::compiler_version() + "_" + SystemInfo::os(); std::replace(info_to_latex.begin(), info_to_latex.end(), ' ', '_'); info_to_latex = EscapeUnderscore(info_to_latex); std::string chart_size{ "0.45" }, chart_width{ "1" }; // Get information about date and time std::string datetime = GetDatetime(); std::string compiler_name(SystemInfo::compiler_name()); std::string compiler_version(SystemInfo::compiler_version()); //replace the . with _ for compiler strings std::replace(compiler_version.begin(), compiler_version.end(), '.', '_'); // SECTION AVERAGE CHARTS --------------------------------------------------------------------------- if (mode_cfg_.perform_average) { os << "\\section{Average Charts}" << '\n' << '\n'; os << "\\begin{figure}[tbh]" << '\n' << '\n'; // \newcommand{ \machineName }{x86\_MSVC15.0\_Windows\_10\_64\_bit} os << "\t\\newcommand{\\machineName}{"; os << info_to_latex << "}" << '\n'; // \newcommand{\compilerName}{MSVC15_0} os << "\t\\newcommand{\\compilerName}{" + compiler_name + compiler_version + "}" << '\n'; os << "\t\\centering" << '\n'; for (unsigned i = 0; i < mode_cfg_.average_datasets.size(); ++i) { os << "\t\\begin{subfigure}[tbh]{" + chart_size + "\\textwidth}" << '\n'; os << "\t\t\\caption{" << mode_cfg_.average_datasets[i] + "}" << '\n'; os << "\t\t\\centering" << '\n'; os << "\t\t\\includegraphics[width=" + chart_width + "\\textwidth]{\\compilerName_" + mode_cfg_.average_datasets[i] + ".pdf}" << '\n'; os << "\t\\end{subfigure}" << '\n' << '\n'; } os << "\t\\caption{\\machineName \\enspace " + datetime + "}" << '\n' << '\n'; os << "\\end{figure}" << '\n' << '\n'; } // SECTION AVERAGE WITH STEPS CHARTS --------------------------------------------------------------------------- if (mode_cfg_.perform_average_ws) { std::string average_ws_suffix{ "_with_steps_" }; os << "\\section{Average With Steps Charts}" << '\n' << '\n'; os << "\\begin{figure}[tbh]" << '\n' << '\n'; // \newcommand{ \machineName }{x86\_MSVC15.0\_Windows\_10\_64\_bit} os << "\t\\newcommand{\\machineName}{"; os << info_to_latex << "}" << '\n'; // \newcommand{\compilerName}{MSVC15_0} os << "\t\\newcommand{\\compilerName}{" + compiler_name + compiler_version + "}" << '\n'; os << "\t\\centering" << '\n'; for (unsigned i = 0; i < mode_cfg_.average_ws_datasets.size(); ++i) { os << "\t\\begin{subfigure}[tbh]{" + chart_size + "\\textwidth}" << '\n'; os << "\t\t\\caption{" << mode_cfg_.average_ws_datasets[i] + "}" << '\n'; os << "\t\t\\centering" << '\n'; os << "\t\t\\includegraphics[width=" + chart_width + "\\textwidth]{\\compilerName_" + average_ws_suffix + mode_cfg_.average_ws_datasets[i] + ".pdf}" << '\n'; os << "\t\\end{subfigure}" << '\n' << '\n'; } os << "\t\\caption{\\machineName \\enspace " + datetime + "}" << '\n' << '\n'; os << "\\end{figure}" << '\n' << '\n'; } // SECTION DENSITY CHARTS --------------------------------------------------------------------------- if (mode_cfg_.perform_density) { std::vector density_datasets{ "density", "size" }; os << "\\section{Density Charts}" << '\n' << '\n'; os << "\\begin{figure}[tbh]" << '\n' << '\n'; // \newcommand{ \machineName }{x86\_MSVC15.0\_Windows\_10\_64\_bit} os << "\t\\newcommand{\\machineName}{"; os << info_to_latex << "}" << '\n'; // \newcommand{\compilerName}{MSVC15_0} os << "\t\\newcommand{\\compilerName}{" + compiler_name + compiler_version + "}" << '\n'; os << "\t\\centering" << '\n'; for (unsigned i = 0; i < density_datasets.size(); ++i) { os << "\t\\begin{subfigure}[tbh]{" + chart_size + "\\textwidth}" << '\n'; os << "\t\t\\caption{" << density_datasets[i] + "}" << '\n'; os << "\t\t\\centering" << '\n'; os << "\t\t\\includegraphics[width=" + chart_width + "\\textwidth]{\\compilerName_" + density_datasets[i] + ".pdf}" << '\n'; os << "\t\\end{subfigure}" << '\n' << '\n'; } os << "\t\\caption{\\machineName \\enspace " + datetime + "}" << '\n' << '\n'; os << "\\end{figure}" << '\n' << '\n'; } // SECTION GRANULARITY CHARTS --------------------------------------------------------------------------- if (mode_cfg_.perform_granularity) { //vector density_datasets{ "density", "size" }; os << "\\section{Granularity Charts}" << '\n' << '\n'; os << "\\begin{figure}[tbh]" << '\n' << '\n'; // \newcommand{ \machineName }{x86\_MSVC15.0\_Windows\_10\_64\_bit} os << "\t\\newcommand{\\machineName}{"; os << info_to_latex << "}" << '\n'; // \newcommand{\compilerName}{MSVC15_0} os << "\t\\newcommand{\\compilerName}{" + compiler_name + compiler_version + "}" << '\n'; os << "\t\\centering" << '\n'; for (unsigned i = 0; i < mode_cfg_.granularity_datasets.size(); ++i) { os << "\t\\begin{subfigure}[tbh]{" + chart_size + "\\textwidth}" << '\n'; os << "\t\t\\caption{" << mode_cfg_.granularity_datasets[i] + "}" << '\n'; os << "\t\t\\centering" << '\n'; os << "\t\t\\includegraphics[width=" + chart_width + "\\textwidth]{\\compilerName_" + mode_cfg_.granularity_datasets[i] + ".pdf}" << '\n'; os << "\t\\end{subfigure}" << '\n' << '\n'; } os << "\t\\caption{\\machineName \\enspace " + datetime + "}" << '\n' << '\n'; os << "\\end{figure}" << '\n' << '\n'; } } // END CHARTS SECTION // SECTION MEMORY RESULT TABLE --------------------------------------------------------------------------- if (mode_cfg_.perform_memory) { os << "\\section{Memory Accesses tests}" << '\n' << '\n'; os << "Analysis of memory accesses required by connected components computation. The numbers are given in millions of accesses." << '\n'; for (const auto& dataset : memory_accesses_) { const auto& dataset_name = dataset.first; const auto& accesses = dataset.second; os << "\\begin{table}[tbh]" << '\n' << '\n'; os << "\t\\centering" << '\n'; os << "\t\\caption{Memory accesses on ``" << dataset_name << "'' dataset " << '\n'; os << "\t\\label{tab:table_" << dataset_name << "}" << '\n'; os << "\t\\begin{tabular}{|l|"; for (int i = 0; i < accesses.cols + 1; ++i) os << "S[table-format=2.3]|"; os << "}" << '\n'; os << "\t\\hline" << '\n'; os << '\t'; // Header os << "{Algorithm} & {Binary Image} & {Label Image} & {Equivalence Vector/s} & {Other} & {Total Accesses}"; os << "\\\\" << '\n'; os << "\t\\hline" << '\n'; for (unsigned i = 0; i < mode_cfg_.ccl_mem_algorithms.size(); ++i) { // For every algorithm escape the underscore const std::string& alg_name = EscapeUnderscore(mode_cfg_.ccl_mem_algorithms[i]); //RemoveCharacter(alg_name, '\\'); os << "\t{" << alg_name << "}"; double tot = 0; for (int s = 0; s < accesses.cols; ++s) { // For every data_ structure os << "\t& " << (accesses(i, s) / 1000000); tot += (accesses(i, s) / 1000000); } // Total Accesses os << "\t& " << tot; // EndLine os << "\t\\\\" << '\n'; } // EndTable os << "\t\\hline" << '\n'; os << "\t\\end{tabular}" << '\n' << '\n'; os << "\\end{table}" << '\n'; } } os << "\\end{document}"; os.close(); } ================================================ FILE: tools/actions-scripts/macos-before-install.sh ================================================ echo "############################################### Install OSX Environment ###############################################" echo -e "\n\n------------------------------------------> Clean and Update brew" #Clean brew cache to avoid memory waste brew cleanup > /dev/null #brew cleanup > brew_cleanup.log rm -rf "'brew cache'" ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null #Update brew and packages #brew update -y > /dev/null #brew upgrade -y > /dev/null #brew update -y > brew_update.log #brew upgrade -y > brew_upgrade.log echo -e "------------------------------------------> DONE!" #echo -e "\n\n------------------------------------------> Install cmake-3.13 (only if it wasn't cached):" ##export DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" ##mkdir ${DEPS_DIR} && cd ${DEPS_DIR} #echo -e "(CMake cache test):" #if [ -d cmake-install -a "$(ls -A cmake-install/)" ]; then # echo -e " CMake already installed" #else # echo -e " CMake not installed yet, downloading it ... " # curl -L https://github.com/Kitware/CMake/releases/download/v3.25.1/cmake-3.25.1.tar.gz > cmake-3.25.1.tar.gz # echo -e " DONE" # tar -xzf cmake-3.25.1.tar.gz # mv cmake-3.25.1 cmake-install # #export PATH=${DEPS_DIR}/cmake-install/CMake.app/Contents/bin:$PATH # #cd ${TRAVIS_BUILD_DIR} # echo -e "------------------------------------------> DONE!" # # echo -e "\n\n------------------------------------------> Check CMake version" # cmake-install/CMake.app/Contents/bin/cmake --version #fi #echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Install OpenCV-3.1.0 (only if they weren't cached) and dependent packages:" echo -e "(OpenCV cache test):" if [ -d opencv-3.1.0 -a "$(ls -A opencv-3.1.0/)" ]; then echo -e " OpenCV already installed" else echo -e " OpenCV not installed yet, downloading it ... " # Download v3.1.0 .zip file and extract. #curl -L --progress-bar https://github.com/Itseez/opencv/archive/3.1.0.zip > opencv.zip curl -L https://github.com/Itseez/opencv/archive/3.1.0.zip > opencv.zip echo -e " DONE" unzip -qq opencv.zip rm opencv.zip cd opencv-3.1.0 # Create a new 'build' folder. mkdir build cd build # Create 'install_dir' folder mkdir install_dir # Set build instructions for OSX (x64 build). cmake -D CMAKE_C_FLAGS=-m64 -D CMAKE_CXX_FLAGS=-m64 -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=./install_dir -D WITH_FFMPEG=OFF -D WITH_OPENCL=OFF -D WITH_QT=OFF -D WITH_IPP=OFF -D WITH_MATLAB=OFF -D WITH_OPENGL=OFF -D WITH_TIFF=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=OFF -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=OFF -D WITH_TBB=OFF -D WITH_CUDA=OFF -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF -D BUILD_SHARED_LIBS=OFF -D BUILD_ZLIB=OFF -D BUILD_opencv_core=ON -D BUILD_opencv_imgproc=ON -D BUILD_opencv_imgcodecs=ON -D BUILD_opencv_videoio=OFF -D BUILD_opencv_highgui=OFF -D BUILD_opencv_video=OFF -D BUILD_opencv_calib3d=OFF -D BUILD_opencv_features2d=OFF -D BUILD_opencv_objdetect=OFF -D BUILD_opencv_ml=OFF -D BUILD_opencv_flann=OFF -D BUILD_opencv_photo=ON -D BUILD_opencv_stitching=OFF -D BUILD_opencv_cudaarithm=OFF -D BUILD_opencv_cudabgsegm=OFF -D BUILD_opencv_cudacodec=OFF -D BUILD_opencv_cudafeatures2d=OFF -D BUILD_opencv_cudafilters=OFF -D BUILD_opencv_cudaimgproc=OFF -D BUILD_opencv_cudalegacy=OFF -D BUILD_opencv_cudaobjdetect=OFF -D BUILD_opencv_cudaoptflow=OFF -D BUILD_opencv_cudastereo=OFF -D BUILD_opencv_cudawarping=OFF -D BUILD_opencv_cudev=OFF -D BUILD_opencv_shape=OFF -D BUILD_opencv_superres=OFF -D BUILD_opencv_videostab=OFF -D BUILD_opencv_viz=OFF -D WITH_OPENEXR=OFF .. # Run 'make' with four threads. make -j # Install to OS. sudo make install echo "OpenCV installed." # Return to the repo "root" folder cd ../../ fi # Add configuration to OpenCV to tell it where the library files are located on the file system (/usr/local/lib). Is this reallyu necessary on OSX? export LD_LIBRARY_PATH=./opencv-3.1.0/build/install_dir echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Install Gnuplot" brew install gnuplot > gnuplot_install.log gnuplot --version echo -e "------------------------------------------> DONE!" # Download dataset echo - e "\n\n------------------------------------------> Download of YACCLAB reduced dataset (only if it wasn't cached):" if [ -d input -a "$(ls -A input/)" ]; then echo -e " Yacclab dataset already downloaded" else echo -e " Yacclab dataset not cached, downloading it..." wget https://imagelab.ing.unimore.it/files/YACCLAB_dataset3D_reduced.zip -O dataset.zip unzip -o -qq dataset.zip -d input rm dataset.zip wget imagelab.ing.unimore.it/files/YACCLAB_dataset_reduced.zip -O dataset.zip unzip -o -qq dataset.zip -d input rm dataset.zip echo -e "------------------------------------------> DONE!" fi ================================================ FILE: tools/embed_pdf/embed.php ================================================ get_option('embed_size_h'), 'width' => get_option('embed_size_w'), 'border' => '0', 'style' => '', 'title' => '', 'class' => 'pdf', 'id' => '', ), $atts ) ); if (!strstr($url,'http://') && strstr($atts,'http://')) { $url = $atts; extract( shortcode_atts( array( 'height' => get_option('embed_size_h'), 'width' => get_option('embed_size_w'), 'border' => '0', 'style' => '', 'title' => '', 'class' => 'pdf', 'id' => '', ), $matches ) ); } if (is_ssl()) { $embed = ''; $embed = ''.$embed.''; $embed .= ''; return apply_filters( 'embed_pdf', $embed, $matches, $atts, $url, $rawattr ); } function dirtysuds_embed_pdf_rate($links,$file) { if (plugin_basename(__FILE__) == $file) { $links[] = 'Rate this plugin'; } return $links; } add_filter('plugin_row_meta', 'dirtysuds_embed_pdf_rate',10,2); ================================================ FILE: tools/jenkins-scripts/run-script.sh ================================================ #!/bin/bash # Copyright(c) 2020 Federico Bolelli, Stefano Allegretti # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met : # # *Redistributions of source code must retain the above copyright notice, this # list of conditions and the following disclaimer. # # * Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and / or other materials provided with the distribution. # # * Neither the name of YACCLAB nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # exit this script if any commmand fails set -e function build_linux(){ echo -e "\n\n------------------------------------------> YACCLAB configuration" mkdir bin # The download of the complete YACCLAB dataset is disable in order to reduce the cmake configure time in travis-ci virtual machine cmake -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -D CMAKE_C_FLAGS=-m64 -D CMAKE_CXX_FLAGS=-m64 -D CMAKE_BUILD_TYPE=Release -D OpenCV_DIR=/home/opencv/opencv-4.4.0/gcc_static_bin_cuda/ -D YACCLAB_ENABLE_CUDA=ON -D YACCLAB_ENABLE_3D=ON -D YACCLAB_DOWNLOAD_DATASET=OFF -D YACCLAB_IS_JENKINS=ON -G Unix\ Makefiles -Bbin -Hbin/.. cd bin if [ ! -f config.yaml ]; then echo "Configuration file (config.yaml) was not properly generated by CMake, pull request failed" exit 1 fi cat config.yaml echo -e "------------------------------------------> DONE!" # Download of a reduced version of the YACCLAB dataset echo -e "\n\n------------------------------------------> Download of YACCLAB reduced datasets" wget http://imagelab.ing.unimore.it/files/YACCLAB_dataset3D_reduced.zip -O dataset.zip unzip -o -qq dataset.zip -d input rm dataset.zip wget http://imagelab.ing.unimore.it/files/YACCLAB_dataset_reduced.zip -O dataset.zip unzip -o -qq dataset.zip -d input rm dataset.zip echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Build YACCLAB" make -j7 #./YACCLAB echo -e "------------------------------------------> DONE!" } function build_windows(){ echo "pass" } function pass(){ echo "pass" } function run_pull_request(){ # linux echo "Build target: $BUILD_TARGET" if [ "$BUILD_TARGET" == "linux" ]; then build_linux fi if [ "$BUILD_TARGET" == "windows" ]; then build_windows fi } # build pull request #if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then run_pull_request #fi ================================================ FILE: tools/travis-scripts/before-install.sh ================================================ #!/bin/bash # Copyright(c) 2016 - 2019 Federico Bolelli # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met : # # *Redistributions of source code must retain the above copyright notice, this # list of conditions and the following disclaimer. # # * Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and / or other materials provided with the distribution. # # * Neither the name of YACCLAB nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # Exit this script if any commmand fails set -e function install_linux_environment() { echo "############################################### Install Linux Environment ###############################################" #echo -e "\n\n------------------------------------------> Install ubuntu-toolchain for gcc-5.4:" #sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y #echo -e "------------------------------------------> DONE!" #echo -e "\n\n------------------------------------------> Update apt" sudo apt-get -qq update #echo -e "------------------------------------------> DONE!" #echo -e "\n\n------------------------------------------> Install gcc-5.4:" #if [ "$CXX" = "g++" ]; then sudo apt-get -qq install g++-5.4; fi #if [ "$CXX" = "g++" ]; then export CXX="g++-5.4" CC="gcc-5.4"; fi #sudo update-alternatives --quiet --install /usr/bin/g++ g++ /usr/bin/g++-5.4 90 #echo -e "------------------------------------------> DONE!" #echo -e "\n\n------------------------------------------> Install dependencies and libs to build x86 program on x64 architecture (Ubuntu bug)" #sudo apt-get install build-essential gcc-multilib gcc-4.8-multilib g++-multilib g++-4.8-multilib lib32z1 lib32ncurses5 lib32bz2-1.0 libc6-dev libgmp-dev libmpfr-dev libmpc-dev #sudo dpkg --add-architecture i386 #sudo ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/include #echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Install cmake-3.13:" export DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" mkdir ${DEPS_DIR} && cd ${DEPS_DIR} curl -L https://cmake.org/files/v3.13/cmake-3.13.0-Linux-x86_64.tar.gz > cmake-3.13.tar.gz echo -e " DONE" tar -xzf cmake-3.13.tar.gz mv cmake-3.13.0-Linux-x86_64 cmake-install export PATH=${DEPS_DIR}/cmake-install:${DEPS_DIR}/cmake-install/bin:$PATH cd ${TRAVIS_BUILD_DIR} echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Check CMake version" cmake --version echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Install OpenCV-3.1.0 (only if they weren't cached) and dependent packages:" sudo apt-get -qq -y install build-essential sudo apt-get -qq -y install git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev # Not necessary dependency: sudo apt-get -qq -y install python-dev python-numpy libtbb2 libtbb-dev libpng-dev libdc1394-22-dev #sudo apt-get install -y python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev echo -e "(OpenCV cache test):" if [ -d opencv-3.1.0 -a "$(ls -A opencv-3.1.0/)" ]; then echo -e " OpenCV already installed" else echo -e " OpenCV not installed yet, downloading it ... " # Download v3.1.0 .zip file and extract. #curl -L --progress-bar https://github.com/Itseez/opencv/archive/3.1.0.zip > opencv.zip #curl -L https://github.com/Itseez/opencv/archive/3.1.0.zip > opencv.zip curl -L https://github.com/opencv/opencv/archive/3.1.0.zip > opencv.zip echo -e " DONE" unzip -qq opencv.zip rm opencv.zip cd opencv-3.1.0 # Create a new 'build' folder. mkdir build cd build # Create 'install_dir' folder mkdir install_dir # Set build instructions for Ubuntu distro (x64 build). cmake -D CMAKE_C_FLAGS=-m64 -D CMAKE_CXX_FLAGS=-m64 -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=./install_dir -D WITH_FFMPEG=OFF -D WITH_OPENCL=OFF -D WITH_QT=OFF -D WITH_IPP=OFF -D WITH_MATLAB=OFF -D WITH_OPENGL=OFF -D WITH_QT=OFF -D WITH_TIFF=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=OFF -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=OFF -D WITH_TBB=OFF -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF -D BUILD_SHARED_LIBS=OFF -D BUILD_ZLIB=OFF -D BUILD_opencv_core=ON -D BUILD_opencv_imgproc=ON -D BUILD_opencv_imgcodecs=ON -D BUILD_opencv_videoio=OFF -D BUILD_opencv_highgui=OFF -D BUILD_opencv_video=OFF -D BUILD_opencv_calib3d=OFF -D BUILD_opencv_features2d=OFF -D BUILD_opencv_objdetect=OFF -D BUILD_opencv_ml=OFF -D BUILD_opencv_flann=OFF -D BUILD_opencv_photo=ON -D BUILD_opencv_stitching=OFF -D BUILD_opencv_cudaarithm=OFF -D BUILD_opencv_cudabgsegm=OFF -D BUILD_opencv_cudacodec=OFF -D BUILD_opencv_cudafeatures2d=OFF -D BUILD_opencv_cudafilters=OFF -D BUILD_opencv_cudaimgproc=OFF -D BUILD_opencv_cudalegacy=OFF -D BUILD_opencv_cudaobjdetect=OFF -D BUILD_opencv_cudaoptflow=OFF -D BUILD_opencv_cudastereo=OFF -D BUILD_opencv_cudawarping=OFF -D BUILD_opencv_cudev=OFF -D BUILD_opencv_shape=OFF -D BUILD_opencv_superres=OFF -D BUILD_opencv_videostab=OFF -D BUILD_opencv_viz=OFF -D WITH_OPENEXR=OFF .. # Run 'make' with four threads. make -j4 # Install to OS. sudo make install # We move the following commands out of there in order to export OpenCV configuration variable also when OpenCV libraries were cached # sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' # sudo ldconfig echo "OpenCV installed." # Return to the repo "root" folder cd ../../ fi # Add configuration to OpenCV to tell it where the library files are located on the file system (/usr/local/lib) export LD_LIBRARY_PATH=./opencv-3.1.0/build/install_dir echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Install Gnuplot and dependent packages" #sudo apt-get install -y build-essentials g++ gcc # Already installed #TODO install dependency required by gnuplot: libcerf and Qt5 (Core, Gui, Network, Svg, PrintSupport) wget https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.0/gnuplot-5.0.0.tar.gz/download -O gnuplot-5.0.0.tar.gz tar -xzf gnuplot-5.0.0.tar.gz rm gnuplot-5.0.0.tar.gz cd gnuplot-5.0.0 ./configure --prefix=/usr/local > /dev/null # Note that gnuplot build process exit with some warnings (delete redirection to see it) make -s > /dev/null sudo make install > /dev/null cd ../../ gnuplot --version echo -e "------------------------------------------> DONE!" } function install_osx_environment() { echo "############################################### Install OSX Environment ###############################################" echo -e "\n\n------------------------------------------> Clean and Update brew" #Clean brew cache to avoid memory waste brew cleanup > /dev/null #brew cleanup > brew_cleanup.log rm -rf "'brew cache'" ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null #Update brew and packages #brew update -y > /dev/null #brew upgrade -y > /dev/null #brew update -y > brew_update.log #brew upgrade -y > brew_upgrade.log echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Install cmake-3.25.1:" export DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" mkdir ${DEPS_DIR} && cd ${DEPS_DIR} curl -L https://github.com/Kitware/CMake/releases/download/v3.25.1/cmake-3.25.1.tar.gz > cmake-3.25.1.tar.gz echo -e " DONE" tar -xzf cmake-3.25.1.tar.gz mv cmake-3.25.1 cmake-install export PATH=${DEPS_DIR}/cmake-install/CMake.app/Contents/bin:$PATH cd ${TRAVIS_BUILD_DIR} echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Check CMake version" cmake --version echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Install OpenCV-3.1.0 (only if they weren't cached) and dependent packages:" echo -e "(OpenCV cache test):" if [ -d opencv-3.1.0 -a "$(ls -A opencv-3.1.0/)" ]; then echo -e " OpenCV already installed" else echo -e " OpenCV not installed yet, downloading it ... " # Download v3.1.0 .zip file and extract. #curl -L --progress-bar https://github.com/Itseez/opencv/archive/3.1.0.zip > opencv.zip curl -L https://github.com/Itseez/opencv/archive/3.1.0.zip > opencv.zip echo -e " DONE" unzip -qq opencv.zip rm opencv.zip cd opencv-3.1.0 # Create a new 'build' folder. mkdir build cd build # Create 'install_dir' folder mkdir install_dir # Set build instructions for OSX (x64 build). cmake -D CMAKE_C_FLAGS=-m64 -D CMAKE_CXX_FLAGS=-m64 -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=./install_dir -D WITH_FFMPEG=OFF -D WITH_OPENCL=OFF -D WITH_QT=OFF -D WITH_IPP=OFF -D WITH_MATLAB=OFF -D WITH_OPENGL=OFF -D WITH_TIFF=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=OFF -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=OFF -D WITH_TBB=OFF -D WITH_CUDA=OFF -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF -D BUILD_SHARED_LIBS=OFF -D BUILD_ZLIB=OFF -D BUILD_opencv_core=ON -D BUILD_opencv_imgproc=ON -D BUILD_opencv_imgcodecs=ON -D BUILD_opencv_videoio=OFF -D BUILD_opencv_highgui=OFF -D BUILD_opencv_video=OFF -D BUILD_opencv_calib3d=OFF -D BUILD_opencv_features2d=OFF -D BUILD_opencv_objdetect=OFF -D BUILD_opencv_ml=OFF -D BUILD_opencv_flann=OFF -D BUILD_opencv_photo=ON -D BUILD_opencv_stitching=OFF -D BUILD_opencv_cudaarithm=OFF -D BUILD_opencv_cudabgsegm=OFF -D BUILD_opencv_cudacodec=OFF -D BUILD_opencv_cudafeatures2d=OFF -D BUILD_opencv_cudafilters=OFF -D BUILD_opencv_cudaimgproc=OFF -D BUILD_opencv_cudalegacy=OFF -D BUILD_opencv_cudaobjdetect=OFF -D BUILD_opencv_cudaoptflow=OFF -D BUILD_opencv_cudastereo=OFF -D BUILD_opencv_cudawarping=OFF -D BUILD_opencv_cudev=OFF -D BUILD_opencv_shape=OFF -D BUILD_opencv_superres=OFF -D BUILD_opencv_videostab=OFF -D BUILD_opencv_viz=OFF -D WITH_OPENEXR=OFF .. # Run 'make' with four threads. make -j # Install to OS. sudo make install echo "OpenCV installed." # Return to the repo "root" folder cd ../../ fi # Add configuration to OpenCV to tell it where the library files are located on the file system (/usr/local/lib). Is this reallyu necessary on OSX? export LD_LIBRARY_PATH=./opencv-3.1.0/build/install_dir echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Install Gnuplot" brew install gnuplot > gnuplot_install.log gnuplot --version echo -e "------------------------------------------> DONE!" } function pass(){ echo "pass" } # Set up environment according os and target function install_environement_for_pull_request() { if [ "$TRAVIS_OS_NAME" == "linux" ]; then if [ "$BUILD_TARGET" == "linux" ]; then install_linux_environment fi #if [ "$BUILD_TARGET" == "android" ]; then # not supported yet #fi fi if [ "$TRAVIS_OS_NAME" == "osx" ]; then install_osx_environment fi } # build pull request #if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then install_environement_for_pull_request #fi ================================================ FILE: tools/travis-scripts/run-script.sh ================================================ #!/bin/bash # Copyright(c) 2016 - 2017 Federico Bolelli # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met : # # *Redistributions of source code must retain the above copyright notice, this # list of conditions and the following disclaimer. # # * Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and / or other materials provided with the distribution. # # * Neither the name of YACCLAB nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # exit this script if any commmand fails set -e function build_linux(){ export DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" export PATH=${DEPS_DIR}/cmake-install:${DEPS_DIR}/cmake-install/bin:$PATH echo -e "############################################### Build and Test ###############################################" echo -e "\n\n------------------------------------------> YACCLAB configuration" mkdir bin # The download of the complete YACCLAB dataset is disable in order to reduce the cmake configure time in travis-ci virtual machine cmake -D CMAKE_C_FLAGS=-m64 -D CMAKE_CXX_FLAGS=-m64 -D CMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=./opencv-3.1.0/build/ -D YACCLAB_DOWNLOAD_DATASET=OFF -D YACCLAB_CI_CPU2D=ON -G Unix\ Makefiles -Bbin -Hbin/.. cd bin if [ ! -f config.yaml ]; then echo "Configuration file (config.yaml) was not properly generated by CMake, pull request failed" exit 1 fi cat config.yaml echo -e "------------------------------------------> DONE!" # Download of a reduced version of the YACCLAB dataset echo -e "\n\n------------------------------------------> Download of YACCLAB reduced dataset" #curl -L --progress-bar http://imagelab.ing.unimore.it/files/YACCLAB_dataset.zip > dataset.zip wget http://imagelab.ing.unimore.it/files/YACCLAB_dataset_reduced.zip -O dataset.zip unzip -qq dataset.zip rm dataset.zip echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Build and Test YACCLAB" #rm config.yaml #cp ../doc/config_travis.yaml . #mv config_travis.yaml config.yaml make ./YACCLAB echo -e "------------------------------------------> DONE!" } function build_mac(){ export DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" export PATH=${DEPS_DIR}/cmake-install/CMake.app/Contents/bin:$PATH echo -e "############################################### Build and Test ###############################################" echo -e "\n\n------------------------------------------> YACCLAB configuration" mkdir bin cmake -D CMAKE_C_FLAGS=-m64 -D CMAKE_CXX_FLAGS=-m64 -D CMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=./opencv-3.1.0/build/ -D YACCLAB_DOWNLOAD_DATASET=OFF -D YACCLAB_CI_CPU2D=ON -G Xcode -Bbin -Hbin/.. cd bin if [ ! -f config.yaml ]; then echo "Configuration file (config.yaml) was not properly generated by CMake, pull request failed" exit 1 fi cat config.yaml echo -e "------------------------------------------> DONE!" # Download of a reduced version of the YACCLAB dataset echo -e "\n\n------------------------------------------> Download of YACCLAB reduced dataset" #curl -L --progress-bar http://imagelab.ing.unimore.it/files/YACCLAB_dataset.zip > dataset.zip wget http://imagelab.ing.unimore.it/files/YACCLAB_dataset_reduced.zip -O dataset.zip unzip -qq dataset.zip rm dataset.zip echo -e "------------------------------------------> DONE!" echo -e "\n\n------------------------------------------> Build and Test YACCLAB" #rm config.yaml #cp ../doc/config_travis.yaml . #mv config_travis.yaml config.yaml # xcodebuild -project YACCLAB.xcodeproj -target YACCLAB -configuration Release > xcodebuild -project YACCLAB.xcodeproj -target YACCLAB -configuration Release ./Release/YACCLAB echo -e "------------------------------------------> DONE!" } function pass(){ echo "pass" } function run_pull_request(){ # linux if [ "$BUILD_TARGET" == "linux" ]; then build_linux fi if [ "$BUILD_TARGET" == "mac" ]; then build_mac fi } # build pull request #if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then run_pull_request #fi